diff --git a/.checkpackageignore b/.checkpackageignore new file mode 100644 index 0000000000..426aedd476 --- /dev/null +++ b/.checkpackageignore @@ -0,0 +1,1471 @@ +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/dnsmasq/S80dnsmasq Shellcheck +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.2.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/libmanette/0001-Meson-Un-hardcode-building-a-shared-library.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/0001-tests-fp-disable-fp-bench-build-by-default.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/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.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/.clang-format b/.clang-format new file mode 100644 index 0000000000..1758a23f32 --- /dev/null +++ b/.clang-format @@ -0,0 +1,567 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# clang-format configuration file. Intended for clang-format >= 4. +# +# For more information, see: +# +# Documentation/process/clang-format.rst +# https://clang.llvm.org/docs/ClangFormat.html +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# + +# Buildroot: imported from Linux 5.15.6, with minimal modifications. +# Please note, this is not enforced at the moment. Intended +# as an aid when working with in-tree C files, like +# makedevs.c +# +--- +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +#AlignEscapedNewlines: Left # Unknown to clang-format-4.0 +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + #AfterExternBlock: false # Unknown to clang-format-5.0 + BeforeCatch: false + BeforeElse: false + IndentBraces: false + #SplitEmptyFunction: true # Unknown to clang-format-4.0 + #SplitEmptyRecord: true # Unknown to clang-format-4.0 + #SplitEmptyNamespace: true # Unknown to clang-format-4.0 +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +#BreakBeforeInheritanceComma: false # Unknown to clang-format-4.0 +BreakBeforeTernaryOperators: false +BreakConstructorInitializersBeforeComma: false +#BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0 +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 132 # Specially for Buildroot +CommentPragmas: '^ IWYU pragma:' +#CompactNamespaces: false # Unknown to clang-format-4.0 +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 8 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +#FixNamespaceComments: false # Unknown to clang-format-4.0 + +# Taken from: +# git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' include/ \ +# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \ +# | sort | uniq +ForEachMacros: + - 'apei_estatus_for_each_section' + - 'ata_for_each_dev' + - 'ata_for_each_link' + - '__ata_qc_for_each' + - 'ata_qc_for_each' + - 'ata_qc_for_each_raw' + - 'ata_qc_for_each_with_internal' + - 'ax25_for_each' + - 'ax25_uid_for_each' + - '__bio_for_each_bvec' + - 'bio_for_each_bvec' + - 'bio_for_each_bvec_all' + - 'bio_for_each_integrity_vec' + - '__bio_for_each_segment' + - 'bio_for_each_segment' + - 'bio_for_each_segment_all' + - 'bio_list_for_each' + - 'bip_for_each_vec' + - 'bitmap_for_each_clear_region' + - 'bitmap_for_each_set_region' + - 'blkg_for_each_descendant_post' + - 'blkg_for_each_descendant_pre' + - 'blk_queue_for_each_rl' + - 'bond_for_each_slave' + - 'bond_for_each_slave_rcu' + - 'bpf_for_each_spilled_reg' + - 'btree_for_each_safe128' + - 'btree_for_each_safe32' + - 'btree_for_each_safe64' + - 'btree_for_each_safel' + - 'card_for_each_dev' + - 'cgroup_taskset_for_each' + - 'cgroup_taskset_for_each_leader' + - 'cpufreq_for_each_entry' + - 'cpufreq_for_each_entry_idx' + - 'cpufreq_for_each_valid_entry' + - 'cpufreq_for_each_valid_entry_idx' + - 'css_for_each_child' + - 'css_for_each_descendant_post' + - 'css_for_each_descendant_pre' + - 'device_for_each_child_node' + - 'displayid_iter_for_each' + - 'dma_fence_chain_for_each' + - 'do_for_each_ftrace_op' + - 'drm_atomic_crtc_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane' + - 'drm_atomic_crtc_state_for_each_plane_state' + - 'drm_atomic_for_each_plane_damage' + - 'drm_client_for_each_connector_iter' + - 'drm_client_for_each_modeset' + - 'drm_connector_for_each_possible_encoder' + - 'drm_for_each_bridge_in_chain' + - 'drm_for_each_connector_iter' + - 'drm_for_each_crtc' + - 'drm_for_each_crtc_reverse' + - 'drm_for_each_encoder' + - 'drm_for_each_encoder_mask' + - 'drm_for_each_fb' + - 'drm_for_each_legacy_plane' + - 'drm_for_each_plane' + - 'drm_for_each_plane_mask' + - 'drm_for_each_privobj' + - 'drm_mm_for_each_hole' + - 'drm_mm_for_each_node' + - 'drm_mm_for_each_node_in_range' + - 'drm_mm_for_each_node_safe' + - 'flow_action_for_each' + - 'for_each_acpi_dev_match' + - 'for_each_active_dev_scope' + - 'for_each_active_drhd_unit' + - 'for_each_active_iommu' + - 'for_each_aggr_pgid' + - 'for_each_available_child_of_node' + - 'for_each_bio' + - 'for_each_board_func_rsrc' + - 'for_each_bvec' + - 'for_each_card_auxs' + - 'for_each_card_auxs_safe' + - 'for_each_card_components' + - 'for_each_card_dapms' + - 'for_each_card_pre_auxs' + - 'for_each_card_prelinks' + - 'for_each_card_rtds' + - 'for_each_card_rtds_safe' + - 'for_each_card_widgets' + - 'for_each_card_widgets_safe' + - 'for_each_cgroup_storage_type' + - 'for_each_child_of_node' + - 'for_each_clear_bit' + - 'for_each_clear_bit_from' + - 'for_each_cmsghdr' + - 'for_each_compatible_node' + - 'for_each_component_dais' + - 'for_each_component_dais_safe' + - 'for_each_comp_order' + - 'for_each_console' + - 'for_each_cpu' + - 'for_each_cpu_and' + - 'for_each_cpu_not' + - 'for_each_cpu_wrap' + - 'for_each_dapm_widgets' + - 'for_each_dev_addr' + - 'for_each_dev_scope' + - 'for_each_dma_cap_mask' + - 'for_each_dpcm_be' + - 'for_each_dpcm_be_rollback' + - 'for_each_dpcm_be_safe' + - 'for_each_dpcm_fe' + - 'for_each_drhd_unit' + - 'for_each_dss_dev' + - 'for_each_dtpm_table' + - 'for_each_efi_memory_desc' + - 'for_each_efi_memory_desc_in_map' + - 'for_each_element' + - 'for_each_element_extid' + - 'for_each_element_id' + - 'for_each_endpoint_of_node' + - 'for_each_evictable_lru' + - 'for_each_fib6_node_rt_rcu' + - 'for_each_fib6_walker_rt' + - 'for_each_free_mem_pfn_range_in_zone' + - 'for_each_free_mem_pfn_range_in_zone_from' + - 'for_each_free_mem_range' + - 'for_each_free_mem_range_reverse' + - 'for_each_func_rsrc' + - 'for_each_hstate' + - 'for_each_if' + - 'for_each_iommu' + - 'for_each_ip_tunnel_rcu' + - 'for_each_irq_nr' + - 'for_each_link_codecs' + - 'for_each_link_cpus' + - 'for_each_link_platforms' + - 'for_each_lru' + - 'for_each_matching_node' + - 'for_each_matching_node_and_match' + - 'for_each_member' + - 'for_each_memcg_cache_index' + - 'for_each_mem_pfn_range' + - '__for_each_mem_range' + - 'for_each_mem_range' + - '__for_each_mem_range_rev' + - 'for_each_mem_range_rev' + - 'for_each_mem_region' + - 'for_each_migratetype_order' + - 'for_each_msi_entry' + - 'for_each_msi_entry_safe' + - 'for_each_msi_vector' + - 'for_each_net' + - 'for_each_net_continue_reverse' + - 'for_each_netdev' + - 'for_each_netdev_continue' + - 'for_each_netdev_continue_rcu' + - 'for_each_netdev_continue_reverse' + - 'for_each_netdev_feature' + - 'for_each_netdev_in_bond_rcu' + - 'for_each_netdev_rcu' + - 'for_each_netdev_reverse' + - 'for_each_netdev_safe' + - 'for_each_net_rcu' + - 'for_each_new_connector_in_state' + - 'for_each_new_crtc_in_state' + - 'for_each_new_mst_mgr_in_state' + - 'for_each_new_plane_in_state' + - 'for_each_new_private_obj_in_state' + - 'for_each_node' + - 'for_each_node_by_name' + - 'for_each_node_by_type' + - 'for_each_node_mask' + - 'for_each_node_state' + - 'for_each_node_with_cpus' + - 'for_each_node_with_property' + - 'for_each_nonreserved_multicast_dest_pgid' + - 'for_each_of_allnodes' + - 'for_each_of_allnodes_from' + - 'for_each_of_cpu_node' + - 'for_each_of_pci_range' + - 'for_each_old_connector_in_state' + - 'for_each_old_crtc_in_state' + - 'for_each_old_mst_mgr_in_state' + - 'for_each_oldnew_connector_in_state' + - 'for_each_oldnew_crtc_in_state' + - 'for_each_oldnew_mst_mgr_in_state' + - 'for_each_oldnew_plane_in_state' + - 'for_each_oldnew_plane_in_state_reverse' + - 'for_each_oldnew_private_obj_in_state' + - 'for_each_old_plane_in_state' + - 'for_each_old_private_obj_in_state' + - 'for_each_online_cpu' + - 'for_each_online_node' + - 'for_each_online_pgdat' + - 'for_each_pci_bridge' + - 'for_each_pci_dev' + - 'for_each_pci_msi_entry' + - 'for_each_pcm_streams' + - 'for_each_physmem_range' + - 'for_each_populated_zone' + - 'for_each_possible_cpu' + - 'for_each_present_cpu' + - 'for_each_prime_number' + - 'for_each_prime_number_from' + - 'for_each_process' + - 'for_each_process_thread' + - 'for_each_prop_codec_conf' + - 'for_each_prop_dai_codec' + - 'for_each_prop_dai_cpu' + - 'for_each_prop_dlc_codecs' + - 'for_each_prop_dlc_cpus' + - 'for_each_prop_dlc_platforms' + - 'for_each_property_of_node' + - 'for_each_registered_fb' + - 'for_each_requested_gpio' + - 'for_each_requested_gpio_in_range' + - 'for_each_reserved_mem_range' + - 'for_each_reserved_mem_region' + - 'for_each_rtd_codec_dais' + - 'for_each_rtd_components' + - 'for_each_rtd_cpu_dais' + - 'for_each_rtd_dais' + - 'for_each_set_bit' + - 'for_each_set_bit_from' + - 'for_each_set_clump8' + - 'for_each_sg' + - 'for_each_sg_dma_page' + - 'for_each_sg_page' + - 'for_each_sgtable_dma_page' + - 'for_each_sgtable_dma_sg' + - 'for_each_sgtable_page' + - 'for_each_sgtable_sg' + - 'for_each_sibling_event' + - 'for_each_subelement' + - 'for_each_subelement_extid' + - 'for_each_subelement_id' + - '__for_each_thread' + - 'for_each_thread' + - 'for_each_unicast_dest_pgid' + - 'for_each_vsi' + - 'for_each_wakeup_source' + - 'for_each_zone' + - 'for_each_zone_zonelist' + - 'for_each_zone_zonelist_nodemask' + - 'fwnode_for_each_available_child_node' + - 'fwnode_for_each_child_node' + - 'fwnode_graph_for_each_endpoint' + - 'gadget_for_each_ep' + - 'genradix_for_each' + - 'genradix_for_each_from' + - 'hash_for_each' + - 'hash_for_each_possible' + - 'hash_for_each_possible_rcu' + - 'hash_for_each_possible_rcu_notrace' + - 'hash_for_each_possible_safe' + - 'hash_for_each_rcu' + - 'hash_for_each_safe' + - 'hctx_for_each_ctx' + - 'hlist_bl_for_each_entry' + - 'hlist_bl_for_each_entry_rcu' + - 'hlist_bl_for_each_entry_safe' + - 'hlist_for_each' + - 'hlist_for_each_entry' + - 'hlist_for_each_entry_continue' + - 'hlist_for_each_entry_continue_rcu' + - 'hlist_for_each_entry_continue_rcu_bh' + - 'hlist_for_each_entry_from' + - 'hlist_for_each_entry_from_rcu' + - 'hlist_for_each_entry_rcu' + - 'hlist_for_each_entry_rcu_bh' + - 'hlist_for_each_entry_rcu_notrace' + - 'hlist_for_each_entry_safe' + - 'hlist_for_each_entry_srcu' + - '__hlist_for_each_rcu' + - 'hlist_for_each_safe' + - 'hlist_nulls_for_each_entry' + - 'hlist_nulls_for_each_entry_from' + - 'hlist_nulls_for_each_entry_rcu' + - 'hlist_nulls_for_each_entry_safe' + - 'i3c_bus_for_each_i2cdev' + - 'i3c_bus_for_each_i3cdev' + - 'ide_host_for_each_port' + - 'ide_port_for_each_dev' + - 'ide_port_for_each_present_dev' + - 'idr_for_each_entry' + - 'idr_for_each_entry_continue' + - 'idr_for_each_entry_continue_ul' + - 'idr_for_each_entry_ul' + - 'in_dev_for_each_ifa_rcu' + - 'in_dev_for_each_ifa_rtnl' + - 'inet_bind_bucket_for_each' + - 'inet_lhash2_for_each_icsk_rcu' + - 'key_for_each' + - 'key_for_each_safe' + - 'klp_for_each_func' + - 'klp_for_each_func_safe' + - 'klp_for_each_func_static' + - 'klp_for_each_object' + - 'klp_for_each_object_safe' + - 'klp_for_each_object_static' + - 'kunit_suite_for_each_test_case' + - 'kvm_for_each_memslot' + - 'kvm_for_each_vcpu' + - 'list_for_each' + - 'list_for_each_codec' + - 'list_for_each_codec_safe' + - 'list_for_each_continue' + - 'list_for_each_entry' + - 'list_for_each_entry_continue' + - 'list_for_each_entry_continue_rcu' + - 'list_for_each_entry_continue_reverse' + - 'list_for_each_entry_from' + - 'list_for_each_entry_from_rcu' + - 'list_for_each_entry_from_reverse' + - 'list_for_each_entry_lockless' + - 'list_for_each_entry_rcu' + - 'list_for_each_entry_reverse' + - 'list_for_each_entry_safe' + - 'list_for_each_entry_safe_continue' + - 'list_for_each_entry_safe_from' + - 'list_for_each_entry_safe_reverse' + - 'list_for_each_entry_srcu' + - 'list_for_each_prev' + - 'list_for_each_prev_safe' + - 'list_for_each_safe' + - 'llist_for_each' + - 'llist_for_each_entry' + - 'llist_for_each_entry_safe' + - 'llist_for_each_safe' + - 'mci_for_each_dimm' + - 'media_device_for_each_entity' + - 'media_device_for_each_intf' + - 'media_device_for_each_link' + - 'media_device_for_each_pad' + - 'nanddev_io_for_each_page' + - 'netdev_for_each_lower_dev' + - 'netdev_for_each_lower_private' + - 'netdev_for_each_lower_private_rcu' + - 'netdev_for_each_mc_addr' + - 'netdev_for_each_uc_addr' + - 'netdev_for_each_upper_dev_rcu' + - 'netdev_hw_addr_list_for_each' + - 'nft_rule_for_each_expr' + - 'nla_for_each_attr' + - 'nla_for_each_nested' + - 'nlmsg_for_each_attr' + - 'nlmsg_for_each_msg' + - 'nr_neigh_for_each' + - 'nr_neigh_for_each_safe' + - 'nr_node_for_each' + - 'nr_node_for_each_safe' + - 'of_for_each_phandle' + - 'of_property_for_each_string' + - 'of_property_for_each_u32' + - 'pci_bus_for_each_resource' + - 'pcl_for_each_chunk' + - 'pcl_for_each_segment' + - 'pcm_for_each_format' + - 'ping_portaddr_for_each_entry' + - 'plist_for_each' + - 'plist_for_each_continue' + - 'plist_for_each_entry' + - 'plist_for_each_entry_continue' + - 'plist_for_each_entry_safe' + - 'plist_for_each_safe' + - 'pnp_for_each_card' + - 'pnp_for_each_dev' + - 'protocol_for_each_card' + - 'protocol_for_each_dev' + - 'queue_for_each_hw_ctx' + - 'radix_tree_for_each_slot' + - 'radix_tree_for_each_tagged' + - 'rb_for_each' + - 'rbtree_postorder_for_each_entry_safe' + - 'rdma_for_each_block' + - 'rdma_for_each_port' + - 'rdma_umem_for_each_dma_block' + - 'resource_list_for_each_entry' + - 'resource_list_for_each_entry_safe' + - 'rhl_for_each_entry_rcu' + - 'rhl_for_each_rcu' + - 'rht_for_each' + - 'rht_for_each_entry' + - 'rht_for_each_entry_from' + - 'rht_for_each_entry_rcu' + - 'rht_for_each_entry_rcu_from' + - 'rht_for_each_entry_safe' + - 'rht_for_each_from' + - 'rht_for_each_rcu' + - 'rht_for_each_rcu_from' + - '__rq_for_each_bio' + - 'rq_for_each_bvec' + - 'rq_for_each_segment' + - 'scsi_for_each_prot_sg' + - 'scsi_for_each_sg' + - 'sctp_for_each_hentry' + - 'sctp_skb_for_each' + - 'shdma_for_each_chan' + - '__shost_for_each_device' + - 'shost_for_each_device' + - 'sk_for_each' + - 'sk_for_each_bound' + - 'sk_for_each_entry_offset_rcu' + - 'sk_for_each_from' + - 'sk_for_each_rcu' + - 'sk_for_each_safe' + - 'sk_nulls_for_each' + - 'sk_nulls_for_each_from' + - 'sk_nulls_for_each_rcu' + - 'snd_array_for_each' + - 'snd_pcm_group_for_each_entry' + - 'snd_soc_dapm_widget_for_each_path' + - 'snd_soc_dapm_widget_for_each_path_safe' + - 'snd_soc_dapm_widget_for_each_sink_path' + - 'snd_soc_dapm_widget_for_each_source_path' + - 'tb_property_for_each' + - 'tcf_exts_for_each_action' + - 'udp_portaddr_for_each_entry' + - 'udp_portaddr_for_each_entry_rcu' + - 'usb_hub_for_each_child' + - 'v4l2_device_for_each_subdev' + - 'v4l2_m2m_for_each_dst_buf' + - 'v4l2_m2m_for_each_dst_buf_safe' + - 'v4l2_m2m_for_each_src_buf' + - 'v4l2_m2m_for_each_src_buf_safe' + - 'virtio_device_for_each_vq' + - 'while_for_each_ftrace_op' + - 'xa_for_each' + - 'xa_for_each_marked' + - 'xa_for_each_range' + - 'xa_for_each_start' + - 'xas_for_each' + - 'xas_for_each_conflict' + - 'xas_for_each_marked' + - 'xbc_array_for_each_value' + - 'xbc_for_each_key_value' + - 'xbc_node_for_each_array_value' + - 'xbc_node_for_each_child' + - 'xbc_node_for_each_key_value' + - 'zorro_for_each_dev' + +#IncludeBlocks: Preserve # Unknown to clang-format-5.0 +IncludeCategories: + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +#IndentPPDirectives: None # Unknown to clang-format-5.0 +IndentWidth: 8 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +#ObjCBinPackProtocolList: Auto # Unknown to clang-format-5.0 +ObjCBlockIndentWidth: 8 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true + +# Taken from git's rules +#PenaltyBreakAssignment: 10 # Unknown to clang-format-4.0 +PenaltyBreakBeforeFirstCallParameter: 30 +PenaltyBreakComment: 10 +PenaltyBreakFirstLessLess: 0 +PenaltyBreakString: 10 +PenaltyExcessCharacter: 100 +PenaltyReturnTypeOnItsOwnLine: 60 + +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +#SortUsingDeclarations: false # Unknown to clang-format-4.0 +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +#SpaceBeforeCtorInitializerColon: true # Unknown to clang-format-5.0 +#SpaceBeforeInheritanceColon: true # Unknown to clang-format-5.0 +SpaceBeforeParens: ControlStatements +#SpaceBeforeRangeBasedForLoopColon: true # Unknown to clang-format-5.0 +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp03 +TabWidth: 8 +UseTab: Always +... diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..af6cf4b449 --- /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/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 524e0c57c1..0000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: PartialVolume diff --git a/.kdev4/buildroot-2021.08.2.kdev4 b/.kdev4/buildroot-2021.08.2.kdev4 deleted file mode 100644 index c32dd9ba03..0000000000 --- a/.kdev4/buildroot-2021.08.2.kdev4 +++ /dev/null @@ -1,5 +0,0 @@ -[Buildset] -BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00&\x00b\x00u\x00i\x00l\x00d\x00r\x00o\x00o\x00t\x00-\x002\x000\x002\x001\x00.\x000\x008\x00.\x002) - -[Project] -VersionControlSupport=kdevgit diff --git a/system/skeleton/run/.empty b/.shellcheckrc similarity index 100% rename from system/skeleton/run/.empty rename to .shellcheckrc diff --git a/CHANGES b/CHANGES index 6ebaa4f773..e5956a5138 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,409 @@ +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. @@ -156,6 +562,35 @@ 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. @@ -293,6 +728,193 @@ #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. diff --git a/Config.in b/Config.in index 670e199c0b..e4f58f3f66 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. @@ -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 @@ -464,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 @@ -510,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" @@ -538,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!)" @@ -576,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 @@ -664,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. @@ -683,6 +693,8 @@ config BR2_GLOBAL_PATCH_DIR exists, then all *.patch files in the directory will be applied. + The hash files are looked up similarly to the patches. + menu "Advanced" config BR2_FORCE_HOST_BUILD @@ -697,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 @@ -736,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 diff --git a/Config.in.legacy b/Config.in.legacy index d6f0eeeee8..5d4da5c354 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -144,6 +144,255 @@ 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 diff --git a/DEVELOPERS b/DEVELOPERS index 885cc28ed7..a2a2c56a13 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 @@ -121,6 +139,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,7 +148,13 @@ 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/ @@ -163,6 +188,7 @@ 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/ @@ -324,6 +350,7 @@ F: package/bitcoin/ F: package/clamav/ F: package/dav1d/ F: package/dht/ +F: package/dnsmasq/ F: package/dovecot/ F: package/dovecot-pigeonhole/ F: package/dtv-scan-tables/ @@ -408,6 +435,7 @@ 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/ @@ -418,6 +446,7 @@ 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/ @@ -499,6 +528,11 @@ F: package/iftop/ F: package/ncdu/ N: Brandon Maier +F: board/freescale/ls1046a-frwy/ +F: configs/ls1046a-frwy_defconfig +F: package/python-pysensors/ +F: package/qoriq-fm-ucode/ +F: package/unifdef/ F: package/vmtouch/ N: Brock Williams @@ -539,7 +573,6 @@ 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 @@ -637,6 +670,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/ @@ -722,18 +761,9 @@ 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/ @@ -822,7 +852,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/ @@ -1024,7 +1054,6 @@ 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/ @@ -1036,6 +1065,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/ @@ -1053,7 +1088,9 @@ 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 @@ -1165,13 +1202,20 @@ 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/ @@ -1179,11 +1223,17 @@ 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/ @@ -1202,6 +1252,7 @@ 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/ @@ -1327,6 +1378,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/ @@ -1377,79 +1434,12 @@ 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-generator/ -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-h11/ -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-outcome/ -F: package/python-pathspec/ -F: package/python-pycares/ -F: package/python-pydyf/ -F: package/python-pypa-build/ -F: package/python-pyphen/ -F: package/python-pyproject-hooks/ -F: package/python-rpds-py/ -F: package/python-rtoml/ -F: package/python-selenium/ -F: package/python-snappy/ -F: package/python-sniffio/ -F: package/python-sockjs/ -F: package/python-terminaltables/ -F: package/python-tinycss2/ -F: package/python-tomli/ -F: package/python-trio/ -F: package/python-trio-websocket/ -F: package/python-typeguard/ -F: package/python-typing-inspect/ -F: package/python-uhid/ -F: package/python-weasyprint/ -F: package/python-wsproto/ -F: package/python-yarl/ -F: package/python-zopfli/ +F: package/python* F: package/rtl8192eu/ F: package/serd/ F: package/sord/ @@ -1462,7 +1452,6 @@ 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/ @@ -1471,6 +1460,15 @@ 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/ @@ -1497,6 +1495,10 @@ 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/ @@ -1525,6 +1527,10 @@ F: package/strongswan/ F: package/wmctrl/ F: package/x11r7/xdriver_xf86-video-imx/ +N: Jesse Taube +F: board/freescale/imxrt1050evk/ +F: configs/imxrt1050-evk_defconfig + N: Jesse Van Gavere F: package/qt6/ @@ -1691,7 +1697,6 @@ F: package/libcddb/ F: package/libmodbus/ F: package/ltris/ F: package/opentyrian/ -F: package/python-pygame/ N: Julien Corjon F: package/qt5/ @@ -1704,14 +1709,14 @@ 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/ @@ -1734,6 +1739,7 @@ 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/ @@ -1741,23 +1747,39 @@ 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_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_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 @@ -1766,36 +1788,78 @@ 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_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_lrzip.py +F: support/testing/tests/package/test_ltrace.py +F: support/testing/tests/package/test_lvm2.py +F: support/testing/tests/package/test_lvm2/ 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_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_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/ @@ -1828,9 +1892,11 @@ N: Kieran Bingham F: package/libcamera/ N: Kilian Zinnecker -F: package/rockchip-rkbin/ -F: configs/rock5b_defconfig +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/ @@ -1950,6 +2016,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 @@ -1969,8 +2039,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/ @@ -2004,6 +2076,7 @@ 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/ @@ -2014,6 +2087,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/ @@ -2035,6 +2112,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 @@ -2072,13 +2155,15 @@ F: board/technologic/ts4900/ F: configs/ts4900_defconfig F: package/ts4900-fpga/ +N: Matt Silva +F: package/rlwrap/ + N: Mauro Condarelli F: package/mc/ 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/ @@ -2093,6 +2178,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 @@ -2105,6 +2193,11 @@ 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 @@ -2153,8 +2246,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/ @@ -2187,12 +2280,20 @@ F: board/versal/ F: board/zynq/ F: board/zynqmp/ 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: 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/ @@ -2308,6 +2409,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/ @@ -2349,7 +2453,6 @@ 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/ @@ -2380,6 +2483,7 @@ 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/ @@ -2505,6 +2609,7 @@ F: support/testing/tests/package/test_python_rsa.py F: support/testing/tests/package/test_python_s3transfer.py N: Raphael Pavlidis +F: package/nvidia-persistenced/ F: package/shadow/ F: package/slirp4netns/ F: package/sway/ @@ -2549,6 +2654,10 @@ 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/ @@ -2556,7 +2665,9 @@ 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/ @@ -2602,8 +2713,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 @@ -2612,6 +2726,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/ @@ -2632,6 +2750,14 @@ F: support/misc/toolchainfile.cmake.in N: Sam Voss F: package/ripgrep/ +N: Sebastian Weyer +F: package/amlogic-boot-fip/ +F: package/nushell/ +F: package/rust-bindgen/ +F: package/spirv-headers/ +F: support/testing/tests/package/sample_nu.nu +F: support/testing/tests/package/test_nu.py + N: Sébastien Szymanski F: package/mmc-utils/ F: package/python-flask-jsonrpc/ @@ -2644,7 +2770,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 @@ -2734,6 +2860,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/ @@ -2793,6 +2923,10 @@ 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/ @@ -2815,49 +2949,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/ @@ -3040,10 +3134,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/ @@ -3055,6 +3152,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/ @@ -3064,8 +3166,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/ @@ -3122,6 +3234,7 @@ F: package/zisofs-tools/ F: support/download/ N: Yann E. MORIN +F: .editorconfig F: package/gpsd/ N: Yegor Yefremov @@ -3196,6 +3309,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 3c0e27ce16..4a62be9ff3 100644 --- a/Makefile +++ b/Makefile @@ -90,9 +90,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2023.08.2 +export BR2_VERSION := 2024.02.2 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1697404000 +BR2_VERSION_EPOCH = 1715067000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -227,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 @@ -353,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'); \ @@ -594,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 @@ -712,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) @@ -720,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 \ @@ -765,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. @@ -831,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) @@ -1097,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 diff --git a/arch/Config.in b/arch/Config.in index e37f4dab1d..9912f9fce6 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -313,6 +313,10 @@ 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 78621e321c..b44a164e03 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.csky b/arch/Config.in.csky deleted file mode 100644 index 7e2029f759..0000000000 --- a/arch/Config.in.csky +++ /dev/null @@ -1,49 +0,0 @@ -choice - prompt "Target Architecture Variant" - default BR2_ck610 - help - Specific CPU variant to use - -config BR2_ck610 - # Not supported by upstream gcc <= 9, and handled as a special - # exception in package/gcc/Config.in.host - bool "ck610" - -config BR2_ck807 - bool "ck807" - -config BR2_ck810 - bool "ck810" - -config BR2_ck860 - bool "ck860" - -endchoice - -config BR2_CSKY_FPU - bool "Enable FPU coprocessor" - depends on BR2_ck810 || BR2_ck807 || BR2_ck860 - help - You can say N here if your C-SKY CPU doesn't have a - Floating-Point Coprocessor or if you don't need FPU support - for your user-space programs. - -config BR2_CSKY_VDSP - bool "Enable VDSP enhanced instructions Co-processor" - depends on BR2_CSKY_FPU - -config BR2_GCC_TARGET_FLOAT_ABI - default "soft" if !BR2_CSKY_FPU - default "hard" if BR2_CSKY_FPU - -config BR2_ARCH - default "csky" - -config BR2_ENDIAN - default "LITTLE" - -config BR2_READELF_ARCH_NAME - default "CSKY" - -# vim: ft=kconfig -# -*- mode:kconfig; -*- diff --git a/arch/Config.in.mips b/arch/Config.in.mips index 7f44f06c9d..29b4180d21 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.nds32 b/arch/Config.in.nds32 deleted file mode 100644 index 322ff49f2e..0000000000 --- a/arch/Config.in.nds32 +++ /dev/null @@ -1,14 +0,0 @@ -config BR2_ARCH - default "nds32le" - -config BR2_GCC_TARGET_ARCH - default "v3" - -config BR2_ENDIAN - default "LITTLE" - -config BR2_READELF_ARCH_NAME - default "Andes Technology compact code size embedded RISC processor family" - -# vim: ft=kconfig -# -*- mode:kconfig; -*- diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc index d4e204a463..3f4d348d5f 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 3dfbb4165f..d62e4ebc6c 100644 --- a/arch/Config.in.riscv +++ b/arch/Config.in.riscv @@ -1,26 +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 - -config BR2_RISCV_ISA_RVV - bool - choice prompt "Target Architecture Variant" default BR2_riscv_g @@ -41,38 +20,31 @@ config BR2_riscv_custom 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 -config BR2_RISCV_ISA_CUSTOM_RVV +config BR2_RISCV_ISA_RVV bool "Vector Instructions (V)" - select BR2_RISCV_ISA_RVV select BR2_ARCH_NEEDS_GCC_AT_LEAST_12 -endif - choice prompt "Target Architecture Size" default BR2_RISCV_64 diff --git a/arch/arch.mk b/arch/arch.mk index 2e737b92ac..4174d33df5 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.csky b/arch/arch.mk.csky deleted file mode 100644 index fb59ae22fd..0000000000 --- a/arch/arch.mk.csky +++ /dev/null @@ -1,26 +0,0 @@ -# -# Configure the GCC_TARGET_ARCH variable and append the -# appropriate C-SKY ISA extensions. -# - -ifeq ($(BR2_csky),y) - -ifeq ($(BR2_ck610),y) -GCC_TARGET_CPU := ck610 -else ifeq ($(BR2_ck807),y) -GCC_TARGET_CPU := ck807 -else ifeq ($(BR2_ck810),y) -GCC_TARGET_CPU := ck810 -else ifeq ($(BR2_ck860),y) -GCC_TARGET_CPU := ck860 -endif - -ifeq ($(BR2_CSKY_FPU),y) -GCC_TARGET_CPU := $(GCC_TARGET_CPU)f -endif - -ifeq ($(BR2_CSKY_VDSP),y) -GCC_TARGET_CPU := $(GCC_TARGET_CPU)v -endif - -endif diff --git a/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts b/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts index 39fa4df1b1..a7a4a20352 100644 --- a/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts +++ b/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts @@ -9,7 +9,7 @@ * Licensed under GPLv2 or later. */ /dts-v1/; -#include "sama5d31.dtsi" +#include "microchip/sama5d31.dtsi" / { model = "Acme Systems Acqua SOM"; diff --git a/board/amarula/a64-relic/extlinux.conf b/board/amarula/a64-relic/extlinux.conf deleted file mode 100644 index 9f469846bc..0000000000 --- a/board/amarula/a64-relic/extlinux.conf +++ /dev/null @@ -1,4 +0,0 @@ -label linux-4.17.0-rc3 - kernel /Image - devicetree /sun50i-a64-amarula-relic.dtb - append console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p4 rootwait diff --git a/board/amarula/a64-relic/genimage.cfg b/board/amarula/a64-relic/genimage.cfg deleted file mode 100644 index 002b6bb4d1..0000000000 --- a/board/amarula/a64-relic/genimage.cfg +++ /dev/null @@ -1,10 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-a64-amarula-relic.dtb", - "extlinux" - } - } - size = 64M -} diff --git a/board/amarula/a64-relic/post-build.sh b/board/amarula/a64-relic/post-build.sh deleted file mode 100755 index ec20fca7d9..0000000000 --- a/board/amarula/a64-relic/post-build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/amarula/a64-relic/readme.txt b/board/amarula/a64-relic/readme.txt deleted file mode 100644 index 77f79e3094..0000000000 --- a/board/amarula/a64-relic/readme.txt +++ /dev/null @@ -1,90 +0,0 @@ -Amarula A64 Relic -================ - -Amarula A64-Relic is an Allwinner A64 based IoT device, which supports: -- Allwinner A64 Cortex-A53 -- Mali-400MP2 GPU -- AXP803 PMIC -- 1GB DDR3 RAM -- 8GB eMMC -- AP6330 Wifi/BLE -- MIPI-DSI -- CSI: OV5640 sensor -- USB OTG -- 12V DC power supply - -Wiki link: -https://openedev.amarulasolutions.com/display/ODWIKI/Amarual+A64-Relic - -Build -===== - - $ make amarula_a64_relic_defconfig - - $ make - -build files at output/images/: - - sunxi-spl.bin - - u-boot.itb - - Image - - sun50i-a64-amarula-relic.dtb - - boot.vfat - - rootfs.ext4 - -Write eMMC -========= - -The board comes with an operating system preloaded on the eMMC. -To replace it with the Buildroot-built system, take the following -steps - -1. Connect the board UART with host and open minicom(ttyUSBx/115200N8) - -2. Supply 12V DC for power-on the board. - -3. Interrupt U-Boot by pressing enter - -4. Create GPT partitions - => mmc dev 1 - => gpt write mmc 1 $partitions - -5. Connect the board USB-OTG with USB slot on the host. - -6. Initiate fastboot - => fastboot 0 - -7. Write images from host onto eMMC using fastboot - $ cd output/images - $ sudo fastboot -i 0x1f3a flash loader1 sunxi-spl.bin - $ sudo fastboot -i 0x1f3a flash loader2 u-boot.itb - $ sudo fastboot -i 0x1f3a flash esp boot.vfat - $ sudo fastboot -i 0x1f3a flash system rootfs.ext4 - -Update eMMC during Development -============================== - -During development, reflashing the entire filesystem image at every -change is time consuming. A useful alternative is to directly access -over USB the filesystem stored on the eMMC, using the USB Mass Storage -capability of U-Boot. To achieve this: - -1. Build U-Boot by enabling UMS - $ make uboot-menuconfig - (select CONFIG_CMD_USB_MASS_STORAGE=y) - -2. Follow all 6 steps from 'Write eMMC' and mount eMMC on host - => mmc dev 1 - => ums 0 mmc 1 - -WiFi -==== - - # wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf - (type password and enter) - # wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B - # udhcpc -i wlan0 - # ping google.com - --- -Jagan Teki -29-Jun-2018 diff --git a/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt deleted file mode 100644 index d095f24c26..0000000000 --- a/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt +++ /dev/null @@ -1,83 +0,0 @@ -#AP6330_NVRAM_V1.0_20121130 -#Sample variables file for BCM94330 SD FC AGB board -manfid=0x2d0 -prodid=0x0547 -vendid=0x14e4 -devid=0x4360 -boardtype=0x05e1 -boardrev=0x1202 -boardflags=0x0080200 -nocrc=1 -xtalfreq=26000 -boardnum=22 -macaddr=00:90:4c:c5:12:38 -ag0=254 -aa2g=1 -ccode=ALL -pa0itssit=0x20 -pa0b0=5587 -pa0b1=-633 -pa0b2=-158 -rssismf2g=0xa -rssismc2g=0x3 -rssisav2g=0x7 -#rssi params for 5GHz -rssismf5g=0x4 -rssismc5g=0x3 -rssisav5g=0x7 -#PA parameters for lower a-band -pa1lob0=4748 -pa1lob1=-566 -pa1lob2=-180 -#PA parameters for midband -pa1b0=4762 -pa1b1=-593 -pa1b2=-172 -#PA parameters for high band -#pa1hib0=4596 -pa1hib0=4666 -pa1hib1=-619 -pa1hib2=-163 -rxpo5g=0 -maxp2ga0=74 -maxp5ga0=66 -maxp5gla0=66 -maxp5gha0=66 -# 2.4G Tx Power offsets -cck2gpo=0x2222 -ofdm2gpo=0x44444444 -mcs2gpo0=0x6666 -mcs2gpo1=0x6666 -# 5G Tx Power offsets -ofdm5gpo=0x44444444 -ofdm5glpo=0x44444444 -ofdm5ghpo=0x44444444 -mcs5gpo0=0x6666 -mcs5gpo1=0x6666 -mcs5glpo0=0x6666 -mcs5glpo1=0x6666 -mcs5ghpo0=0x6666 -mcs5ghpo1=0x6666 -sromrev=3 -il0macaddr=00:90:4c:c5:12:38 -wl0id=0x431b -cckPwrOffset=4 -swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff -triso5g=0 -swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0 -rfreg033=0x19 -rfreg033_cck=0x1f -dacrate2g=160 -dacrate5g=160 -txalpfbyp2g=1 -bphyscale=17 -cckPwrIdxCorr=-15 -pacalidx2g=50 -#pacalidx5g=20 -noise_cal_ref_2g=53 -noise_cal_po_2g=0 -noise_cal_ref_5g=52 -noise_cal_po_5g=5,0,0 -# 4330 OOB parameter: High level trigger -muxenab=0x10 - diff --git a/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch b/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch deleted file mode 100644 index 64a147c09e..0000000000 --- a/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001 -From: Shyam Saini -Date: Mon, 15 Apr 2019 16:16:16 +0530 -Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB - -The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which -causes board reset because of larger uImage size. - -Error log snippet: - Booting using the fdt blob at 0x1f00000 - Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN -Must RESET board to recover -resetting ... - -Signed-off-by: Shyam Saini ---- - include/configs/rk3288_common.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h -index 72a54bc0ab..eab7cf4d86 100644 ---- a/include/configs/rk3288_common.h -+++ b/include/configs/rk3288_common.h -@@ -9,6 +9,8 @@ - #include - #include "rockchip-common.h" - -+#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */ -+ - #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY - #define CONFIG_SYS_MALLOC_LEN (32 << 20) - #define CONFIG_SYS_CBSIZE 1024 --- -2.11.0 - diff --git a/board/andes/ae3xx/ae3xx.fragment b/board/andes/ae3xx/ae3xx.fragment deleted file mode 100644 index 3b13d10740..0000000000 --- a/board/andes/ae3xx/ae3xx.fragment +++ /dev/null @@ -1 +0,0 @@ -CONFIG_NDS32_BUILTIN_DTB="ae3xx" diff --git a/board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch b/board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch deleted file mode 100644 index adb60937bd..0000000000 --- a/board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 90d52d180dcc5d1300dc352ca709eb6453894143 Mon Sep 17 00:00:00 2001 -From: Nylon Chen -Date: Wed, 28 Nov 2018 16:26:46 +0800 -Subject: [PATCH] nds32: Fix boot messages garbled - -In order to display uart correctly we have to pass the correct setting of uart to kernel by bootarg. -This patch will provide such settings to set the correct uart baud rate. - -Signed-off-by: Nylon Chen ---- - arch/nds32/boot/dts/ae3xx.dts | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/nds32/boot/dts/ae3xx.dts b/arch/nds32/boot/dts/ae3xx.dts -index bb39749a6673..aefe2090926a 100644 ---- a/arch/nds32/boot/dts/ae3xx.dts -+++ b/arch/nds32/boot/dts/ae3xx.dts -@@ -6,6 +6,7 @@ - interrupt-parent = <&intc>; - - chosen { -+ bootargs = "memblock=debug earlycon console=ttyS0,38400n8 debug loglevel=7"; - stdout-path = &serial0; - }; - --- -2.18.0 - diff --git a/board/andes/readme.txt b/board/andes/readme.txt deleted file mode 100644 index 0f95c65549..0000000000 --- a/board/andes/readme.txt +++ /dev/null @@ -1,49 +0,0 @@ -Intro -===== - -Andestech(nds32) AE3XX Platform - -The AE3XX prototype demonstrates the AE3XX example platform on the FPGA. -It is composed of one Andestech(nds32) processor and AE3XX. - -How to build it -=============== - -Configure Buildroot -------------------- - -The andes_ae3xx_defconfig configuration is a sample configuration with -all that is required to bring the FPGA Development Board: - - $ make andes_ae3xx_defconfig - -Build everything ----------------- -Note: you will need to have access to the network, since Buildroot will -download the packages' sources. - - $ make - -Result of the build -------------------- - -After building, you should obtain this tree: - -output/images/ - +-- vmlinux - +-- rootfs.cpio - +-- rootfs.tar - -How to run it -============= - -Run ---- - - Setup the Console with the rate 38400/8-N-1. - - $ cd output/images - $ ../host/bin/nds32le-linux-gdb vmlinux - $ target remote [your host] - $ lo - $ c diff --git a/board/arcturus/aarch64-ucls1012a/rootfs_overlay/etc/init.d/S09modload b/board/arcturus/aarch64-ucls1012a/rootfs_overlay/etc/init.d/S09modload deleted file mode 100755 index c87ffda14f..0000000000 --- a/board/arcturus/aarch64-ucls1012a/rootfs_overlay/etc/init.d/S09modload +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -case "$1" in - start) - modprobe pfe - ;; - stop) - ;; - restart|reload) - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac diff --git a/board/arm/juno/linux-juno-defconfig b/board/arm/juno/linux-juno-defconfig deleted file mode 100644 index 64598d21a1..0000000000 --- a/board/arm/juno/linux-juno-defconfig +++ /dev/null @@ -1,169 +0,0 @@ -CONFIG_SMP=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_FHANDLE=y -CONFIG_AUDIT=y -CONFIG_NO_HZ_IDLE=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BSD_PROCESS_ACCT_V3=y -CONFIG_TASKSTATS=y -CONFIG_TASK_DELAY_ACCT=y -CONFIG_TASK_XACCT=y -CONFIG_TASK_IO_ACCOUNTING=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_MEMCG=y -CONFIG_MEMCG_SWAP=y -CONFIG_MEMCG_KMEM=y -CONFIG_CGROUP_HUGETLB=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_KALLSYMS_ALL=y -CONFIG_PROFILING=y -CONFIG_JUMP_LABEL=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_ARCH_VEXPRESS=y -CONFIG_PCI=y -CONFIG_PCI_MSI=y -CONFIG_PCI_HOST_GENERIC=y -CONFIG_PCIEPORTBUS=y -CONFIG_HOTPLUG_PCI_PCIE=y -CONFIG_HOTPLUG_PCI=y -CONFIG_NR_CPUS=6 -CONFIG_PREEMPT=y -CONFIG_KSM=y -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_CMA=y -CONFIG_CMDLINE="console=ttyAMA0" -CONFIG_COMPAT=y -CONFIG_CPU_IDLE=y -CONFIG_ARM_CPUIDLE=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_INTERACTIVE=y -CONFIG_ARM_BIG_LITTLE_CPUFREQ=y -CONFIG_ARM_DT_BL_CPUFREQ=y -CONFIG_ARM_SCPI_CPUFREQ=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_BPF_JIT=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_SD=y -CONFIG_ATA=y -CONFIG_SATA_AHCI=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_AHCI_XGENE=y -CONFIG_PATA_PLATFORM=y -CONFIG_PATA_OF_PLATFORM=y -CONFIG_NETDEVICES=y -CONFIG_TUN=y -CONFIG_SKY2=y -CONFIG_SMC91X=y -CONFIG_SMSC911X=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SERIAL_XILINX_PS_UART=y -CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_I2C_SLAVE=y -CONFIG_SPI=y -CONFIG_SPI_PL022=y -CONFIG_PTP_1588_CLOCK=m -CONFIG_GPIO_PL061=y -CONFIG_GPIO_XGENE=y -CONFIG_POWER_RESET_XGENE=y -CONFIG_POWER_RESET_SYSCON=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_VEXPRESS=m -CONFIG_DRM=y -CONFIG_DRM_I2C_NXP_TDA998X=y -CONFIG_DRM_ARM=y -CONFIG_DRM_HDLCD=y -CONFIG_DRM_VIRTUAL_HDLCD=y -CONFIG_FB_ARMCLCD=y -CONFIG_LOGO=y -CONFIG_USB=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_PLATFORM=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PLATFORM=y -CONFIG_USB_STORAGE=y -CONFIG_USB_ISP1760=y -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_ULPI=y -CONFIG_MMC=y -CONFIG_MMC_ARMMMCI=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SPI=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_EFI=y -CONFIG_RTC_DRV_PL030=y -CONFIG_RTC_DRV_PL031=y -CONFIG_DMADEVICES=y -CONFIG_PL330_DMA=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_ARM_TIMER_SP804=y -CONFIG_MAILBOX=y -CONFIG_ARM_MHU=y -CONFIG_PHY_XGENE=y -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -CONFIG_FANOTIFY=y -CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y -CONFIG_QUOTA=y -CONFIG_AUTOFS4_FS=y -CONFIG_FUSE_FS=y -CONFIG_CUSE=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_HUGETLBFS=y -CONFIG_EFIVAR_FS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_FS=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_DEBUG_KERNEL=y -CONFIG_LOCKUP_DETECTOR=y -CONFIG_SECURITY=y -CONFIG_CRYPTO_ANSI_CPRNG=y -CONFIG_ARM64_CRYPTO=y -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -CONFIG_CRYPTO_GHASH_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -CONFIG_SOUND=y -CONFIG_SND=y -CONFIG_SND_SOC=y -CONFIG_SND_SIMPLE_CARD=y -CONFIG_SND_DESIGNWARE_I2S=y -CONFIG_CMA=y -CONFIG_CMA_SIZE_MBYTES=64 diff --git a/board/arm/juno/readme.txt b/board/arm/juno/readme.txt deleted file mode 100644 index b292d9636d..0000000000 --- a/board/arm/juno/readme.txt +++ /dev/null @@ -1,134 +0,0 @@ -ARM Juno r1/r0 - -Intro -===== - -These instructions apply to all models of the ARM Juno: - - Juno r0 (does not support PCIe) - - Juno r1 (supports PCIe) - - Juno r2 (Big Cluster with A72) - -Buildroot will generate the kernel image, device tree blob, bootloader binaries -and a minimal root filesystem. - -How to build it -=============== - -Configure Buildroot -------------------- - -Configuring Buildroot is pretty simple, just execute: - - $ make arm_juno_defconfig - -Build the rootfs, kernel and DTB --------------------------------- - -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) - -Result of the build -------------------- - -After building, you should obtain this tree: - - output/images/ - +-- rootfs.tar - +-- juno.dtb (if Juno r0 is used) - +-- juno-r1.dtb (if Juno r1 is used) - +-- juno-r2.dtb (if Juno r2 is used) - +-- Image - +-- bl1.bin - +-- bl2.bin - +-- bl2u.bin - +-- bl31.bin - +-- fip.bin - +-- scp-fw.bin - +-- u-boot.bin - -Preparing your rootfs -====================== - -Format your pen drive as a ext3 filesystem by executing: - - $ mkfs.ext3 /dev/ - -Preparing your rootfs -====================== - -Format your pen drive as a ext3 filesystem by executing: - - $ mkfs.ext3 /dev/ - -Installing your rootfs -====================== - -After mounting the pen drive please execute the following: - - $ sudo tar -xvf output/images/rootfs.tar -C - -When completed make sure to unmount the device: - - $ umount - -Insert the pen drive in one of the ARM Juno' USB type A connectors. - -Configure *.dtb in the boot configuration for Juno r0 -===================================================== - -SITE1/HBI0262B/images.txt -..... -NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE -NOR3ADDRESS: 0x00C00000 ;Image Flash Address -NOR3FILE: \SOFTWARE\juno.dtb ;Image File Name -NOR3NAME: board.dtb ;Specify Image name to preserve file extension -NOR3LOAD: 00000000 ;Image Load Address -NOR3ENTRY: 00000000 ;Image Entry Point -...... - -Configure *.dtb in the boot configuration for Juno r1 -===================================================== - -SITE1/HBI0262C/images.txt -...... -NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE -NOR3ADDRESS: 0x00C00000 ;Image Flash Address -NOR3FILE: \SOFTWARE\juno-r1.dtb ;Image File Name -NOR3NAME: board.dtb ;Specify target filename to preserve file extension -NOR3LOAD: 00000000 ;Image Load Address -NOR3ENTRY: 00000000 ;Image Entry Point -...... - -Configure *.dtb in the boot configuration for Juno r2 -===================================================== - -SITE1/HBI0262D/images.txt -...... -NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE -NOR3ADDRESS: 0x02000000 ;Image Flash Address -NOR3FILE: \SOFTWARE\juno-r2.dtb ;Image File Name -NOR3NAME: board.dtb ;Specify target filename to preserve file extension -NOR3LOAD: 00000000 ;Image Load Address -NOR3ENTRY: 00000000 ;Image Entry Point -...... - -Installing kernel image and DTB -=============================== - -1. Connect to the ARM Juno UART0 and execute USB_ON in the terminal -2. Connect a USB cable between your PC and ARM Juno USB type B connector - A mass storage device should appear in your desktop. -3. Open the software/ folder -4. Copy the 'Image' file to software/ -5. Copy the 'juno-r1.dtb' (r1), 'juno.dtb' (r0) or juno-r2.dtb (r2) file to software/ -6. Copy the bootloader binaries (bl1.bin and fip.bin) to software/ -7. Press the red button in the front pannel of ARM Juno - -At this time, the board will erase the Flash entry for each new item and -replace it with the lastest ones. 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 0000000000..8cec0af3b1 --- /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 0000000000..61ebe50c71 --- /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 0000000000..f938876625 --- /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 0000000000..3dffa12b45 --- /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 bb96ddb893..be21e246ec 100644 --- a/board/asus/tinker/extlinux.conf +++ b/board/asus/tinker/extlinux.conf @@ -1,4 +1,4 @@ label Tinker linux - kernel /boot/uImage + kernel /boot/zImage devicetree /boot/rk3288-tinker.dtb append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch b/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch deleted file mode 100644 index 64a147c09e..0000000000 --- a/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001 -From: Shyam Saini -Date: Mon, 15 Apr 2019 16:16:16 +0530 -Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB - -The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which -causes board reset because of larger uImage size. - -Error log snippet: - Booting using the fdt blob at 0x1f00000 - Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN -Must RESET board to recover -resetting ... - -Signed-off-by: Shyam Saini ---- - include/configs/rk3288_common.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h -index 72a54bc0ab..eab7cf4d86 100644 ---- a/include/configs/rk3288_common.h -+++ b/include/configs/rk3288_common.h -@@ -9,6 +9,8 @@ - #include - #include "rockchip-common.h" - -+#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */ -+ - #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY - #define CONFIG_SYS_MALLOC_LEN (32 << 20) - #define CONFIG_SYS_CBSIZE 1024 --- -2.11.0 - diff --git a/board/avnet/rzboard_v2l/genimage.cfg b/board/avnet/rzboard_v2l/genimage.cfg new file mode 100644 index 0000000000..94f35cb360 --- /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 0000000000..25bef8f793 --- /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 0000000000..24b5680874 --- /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 0000000000..28b8acb8c6 --- /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-m1/boot.cmd b/board/bananapi/bananapi-m1/boot.cmd deleted file mode 100644 index 0cf6f4d63e..0000000000 --- a/board/bananapi/bananapi-m1/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 sun7i-a20-bananapi.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/bananapi/bananapi-m2-berry/extlinux.conf b/board/bananapi/bananapi-m2-berry/extlinux.conf new file mode 100644 index 0000000000..1f1b4f5cf3 --- /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 0000000000..92c8677545 --- /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 0000000000..21a2b0d8e7 --- /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-m1/readme.txt b/board/bananapi/bananapi-m2-berry/readme.txt similarity index 60% rename from board/bananapi/bananapi-m1/readme.txt rename to board/bananapi/bananapi-m2-berry/readme.txt index 382ba63c49..838675ed94 100644 --- a/board/bananapi/bananapi-m1/readme.txt +++ b/board/bananapi/bananapi-m2-berry/readme.txt @@ -2,21 +2,19 @@ Intro ===== This default configuration will allow you to start experimenting with the -buildroot environment for the Bananapi M1. With the current configuration -it will bring-up the board, and allow access through the serial console. +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 M1 link: -http://www.banana-pi.org/m1.html - -Wiki link: -https://openedev.amarulasolutions.com/display/ODWIKI/Bananapi+M1 +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_m1_defconfig + $ make bananapi_m2_berry_defconfig $ make Note: you will need access to the internet to download the required @@ -33,5 +31,5 @@ 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 M1 and power it up. The console +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 9c24eabff6..0000000000 --- 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 0000000000..f5f35c1d8f --- /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 88324f1f24..92c8677545 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 0000000000..21a2b0d8e7 --- /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/bananapi/bananapi-m64/boot.cmd b/board/bananapi/bananapi-m64/boot.cmd deleted file mode 100644 index d35c9b0b2c..0000000000 --- a/board/bananapi/bananapi-m64/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-a64-bananapi-m64.dtb - -booti $kernel_addr_r - $fdt_addr_r diff --git a/board/bananapi/bananapi-m64/genimage.cfg b/board/bananapi/bananapi-m64/genimage.cfg deleted file mode 100644 index 9730d8faac..0000000000 --- a/board/bananapi/bananapi-m64/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-a64-bananapi-m64.dtb", - "boot.scr" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/bananapi/bananapi-m64/readme.txt b/board/bananapi/bananapi-m64/readme.txt deleted file mode 100644 index 0dec3e52ee..0000000000 --- a/board/bananapi/bananapi-m64/readme.txt +++ /dev/null @@ -1,37 +0,0 @@ -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the Bananapi M64. With the current configuration -it will bring-up the board, and allow access through the serial console. - -Bananapi M64 link: -http://www.banana-pi.org/m64.html - -Wiki link: -https://openedev.amarulasolutions.com/display/ODWIKI/Bananapi+M64 - -This configuration uses U-Boot mainline and kernel mainline. - -How to build -============ - - $ make bananapi_m64_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 M64 and power it up. The console -is on the serial line, 115200 8N1. diff --git a/board/beagleboneai/patches/uboot/0001-BeagleBone-AI-support.patch b/board/beagleboneai/patches/uboot/0001-BeagleBone-AI-support.patch deleted file mode 100644 index 2d9accf954..0000000000 --- a/board/beagleboneai/patches/uboot/0001-BeagleBone-AI-support.patch +++ /dev/null @@ -1,1783 +0,0 @@ -From 989c27c791a453550ff6c1440b41c55c6e70615d Mon Sep 17 00:00:00 2001 -From: Jason Kridner -Date: Wed, 27 Mar 2019 14:06:24 -0400 -Subject: [PATCH] BeagleBone AI support - -Patch from: -https://github.com/beagleboard/beaglebone-ai/blob/master/SW/buildroot/local/patches/uboot/0001-BeagleBone-AI-support.patch - -Signed-off-by: Peter Korsgaard ---- - arch/arm/dts/Makefile | 1 + - arch/arm/dts/am5729-beagleboneai.dts | 494 +++++++++++++++++++++++++++ - arch/arm/mach-omap2/omap5/hw_data.c | 3 +- - board/ti/am57xx/board.c | 134 +++++++- - board/ti/am57xx/mux_data.h | 390 +++++++++++++++++++++ - configs/am57xx_evm_defconfig | 10 +- - include/configs/am57xx_evm.h | 2 +- - include/configs/ti_armv7_common.h | 357 +++++++++++++++++++ - include/configs/ti_omap5_common.h | 5 + - include/environment/ti/boot.h | 49 +-- - include/environment/ti/mmc.h | 45 ++- - 11 files changed, 1447 insertions(+), 43 deletions(-) - create mode 100644 arch/arm/dts/am5729-beagleboneai.dts - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 2a040b20a5..6771d457a4 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -232,6 +232,7 @@ dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \ - dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \ - am57xx-beagle-x15-revb1.dtb \ - am57xx-beagle-x15-revc.dtb \ -+ am5729-beagleboneai.dtb \ - am574x-idk.dtb \ - am572x-idk.dtb \ - am571x-idk.dtb -diff --git a/arch/arm/dts/am5729-beagleboneai.dts b/arch/arm/dts/am5729-beagleboneai.dts -new file mode 100644 -index 0000000000..d1afe55751 ---- /dev/null -+++ b/arch/arm/dts/am5729-beagleboneai.dts -@@ -0,0 +1,494 @@ -+/* -+ * Copyright (C) 2014-2018 Texas Instruments Incorporated - http://www.ti.com/ -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+/dts-v1/; -+ -+#include "dra74x.dtsi" -+#include "am57xx-commercial-grade.dtsi" -+#include "dra74x-mmc-iodelay.dtsi" -+#include -+#include -+#include -+ -+/ { -+ model = "BeagleBoard.org BeagleBone AI"; -+ compatible = "beagleboard.org,am57xx-beagleboneai", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; -+ -+ chosen { -+ stdout-path = &uart1; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x80000000 0x0 0x40000000>; -+ }; -+ -+ vdd_5v: fixedregulator-vdd_5v { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdd_5v"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vtt_fixed: fixedregulator-vtt { -+ /* TPS51200 */ -+ compatible = "regulator-fixed"; -+ regulator-name = "vtt_fixed"; -+ vin-supply = <&vdd_3v3>; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ src_clk_x1: src_clk_x1 { -+ #clock-cells = <0>; -+ compatible = "fixed-clock"; -+ clock-frequency = <20000000>; -+ }; -+ -+ src_clk_osc1: src_clk_osc1 { -+ #clock-cells = <0>; -+ compatible = "fixed-clock"; -+ clock-frequency = <24000000>; -+ }; -+ -+ src_clk_osc4: src_clk_osc4 { -+ #clock-cells = <0>; -+ compatible = "fixed-clock"; -+ clock-frequency = <24000000>; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ led0 { -+ label = "beaglebone:green:usr0"; -+ gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "heartbeat"; -+ default-state = "off"; -+ }; -+ -+ led1 { -+ label = "beaglebone:green:usr1"; -+ gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "mmc0"; -+ default-state = "off"; -+ }; -+ -+ led2 { -+ label = "beaglebone:green:usr2"; -+ gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "cpu"; -+ default-state = "off"; -+ }; -+ -+ led3 { -+ label = "beaglebone:green:usr3"; -+ gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "mmc1"; -+ default-state = "off"; -+ }; -+ }; -+}; -+ -+&i2c1 { -+ status = "okay"; -+ clock-frequency = <400000>; -+ -+ tps659038: tps659038@58 { -+ compatible = "ti,tps659038"; -+ reg = <0x58>; -+ interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH -+ &dra7_pmx_core 0x418>; -+ -+ #interrupt-cells = <2>; -+ interrupt-controller; -+ -+ ti,system-power-controller; -+ ti,palmas-override-powerhold; -+ -+ tps659038_pmic { -+ compatible = "ti,tps659038-pmic"; -+ -+ smps12-in-supply = <&vdd_5v>; -+ smps3-in-supply = <&vdd_5v>; -+ smps45-in-supply = <&vdd_5v>; -+ smps6-in-supply = <&vdd_5v>; -+ smps7-in-supply = <&vdd_5v>; -+ mps3-in-supply = <&vdd_5v>; -+ smps8-in-supply = <&vdd_5v>; -+ smps9-in-supply = <&vdd_5v>; -+ ldo1-in-supply = <&vdd_5v>; -+ ldo2-in-supply = <&vdd_5v>; -+ ldo3-in-supply = <&vdd_5v>; -+ ldo4-in-supply = <&vdd_5v>; -+ ldo9-in-supply = <&vdd_5v>; -+ ldoln-in-supply = <&vdd_5v>; -+ ldousb-in-supply = <&vdd_5v>; -+ ldortc-in-supply = <&vdd_5v>; -+ -+ regulators { -+ vdd_mpu: smps12 { -+ /* VDD_MPU */ -+ regulator-name = "smps12"; -+ regulator-min-microvolt = <850000>; -+ regulator-max-microvolt = <1250000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_ddr: smps3 { -+ /* VDD_DDR EMIF1 EMIF2 */ -+ regulator-name = "smps3"; -+ regulator-min-microvolt = <1350000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_dspeve: smps45 { -+ /* VDD_DSPEVE on AM572 */ -+ /* VDD_IVA + VDD_DSP on AM571 */ -+ regulator-name = "smps45"; -+ regulator-min-microvolt = <850000>; -+ regulator-max-microvolt = <1250000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_gpu: smps6 { -+ /* VDD_GPU */ -+ regulator-name = "smps6"; -+ regulator-min-microvolt = <850000>; -+ regulator-max-microvolt = <1250000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_core: smps7 { -+ /* VDD_CORE */ -+ regulator-name = "smps7"; -+ regulator-min-microvolt = <850000>; /*** 1.15V */ -+ regulator-max-microvolt = <1150000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_iva: smps8 { -+ /* 5728 - VDD_IVAHD */ /*** 1.06V */ -+ /* 5718 - N.C. test point */ -+ regulator-name = "smps8"; -+ }; -+ -+ vdd_3v3: smps9 { -+ /* VDD_3V3 */ -+ regulator-name = "smps9"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_sd: ldo1 { -+ /* VDDSHV8 - VSDMMC */ -+ regulator-name = "ldo1"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ vdd_1v8: ldo2 { -+ /* VDDSH18V */ -+ regulator-name = "ldo2"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_1v8_phy_ldo3: ldo3 { -+ /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */ -+ regulator-name = "ldo3"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_1v8_phy_ldo4: ldo4 { -+ /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/ -+ regulator-name = "ldo4"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ /* LDO5-8 unused */ -+ -+ vdd_rtc: ldo9 { -+ /* VDD_RTC */ -+ regulator-name = "ldo9"; -+ regulator-min-microvolt = <840000>; -+ regulator-max-microvolt = <1160000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ vdd_1v8_pll: ldoln { -+ /* VDDA_1V8_PLL */ -+ regulator-name = "ldoln"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ ldousb_reg: ldousb { -+ /* VDDA_3V_USB: VDDA_USBHS33 */ -+ regulator-name = "ldousb"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ ldortc_reg: ldortc { -+ /* VDDA_RTC */ -+ regulator-name = "ldortc"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ }; -+ -+ regen1: regen1 { -+ /* VDD_3V3_ON */ -+ regulator-name = "regen1"; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ -+ regen2: regen2 { -+ /* Needed for PMIC internal resource */ -+ regulator-name = "regen2"; -+ regulator-boot-on; -+ regulator-always-on; -+ }; -+ }; -+ }; -+ -+ tps659038_rtc: tps659038_rtc { -+ compatible = "ti,palmas-rtc"; -+ interrupt-parent = <&tps659038>; -+ interrupts = <8 IRQ_TYPE_EDGE_FALLING>; -+ wakeup-source; -+ }; -+ -+ tps659038_pwr_button: tps659038_pwr_button { -+ compatible = "ti,palmas-pwrbutton"; -+ interrupt-parent = <&tps659038>; -+ interrupts = <1 IRQ_TYPE_EDGE_FALLING>; -+ wakeup-source; -+ ti,palmas-long-press-seconds = <12>; -+ }; -+ -+ tps659038_gpio: tps659038_gpio { -+ compatible = "ti,palmas-gpio"; -+ gpio-controller; -+ #gpio-cells = <2>; -+ }; -+ -+ extcon_usb2: tps659038_usb { -+ compatible = "ti,palmas-usb-vid"; -+ }; -+ -+ }; -+ -+ eeprom: eeprom@50 { -+ compatible = "atmel,24c32"; -+ reg = <0x50>; -+ }; -+}; -+ -+&i2c2 { -+ status = "okay"; -+ clock-frequency = <400000>; -+}; -+ -+&i2c3 { -+ status = "okay"; -+ clock-frequency = <400000>; -+}; -+ -+&i2c4 { -+ status = "okay"; -+ clock-frequency = <100000>; -+}; -+ -+&i2c5 { -+ status = "okay"; -+ clock-frequency = <100000>; -+}; -+ -+&cpu0 { -+ vdd-supply = <&vdd_mpu>; -+ voltage-tolerance = <1>; -+}; -+ -+&uart1 { -+ status = "okay"; -+ interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, -+ <&dra7_pmx_core 0x3e0>; -+}; -+ -+&uart3 { -+ status = "okay"; -+ interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, -+ <&dra7_pmx_core 0x3f8>; -+}; -+ -+&davinci_mdio { -+ reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; -+ reset-delay-us = <2>; -+ -+ phy0: ethernet-phy@1 { -+ reg = <4>; -+ }; -+}; -+ -+&mac { -+ slaves = <1>; -+ status = "okay"; -+ //dual_emac; -+}; -+ -+&cpsw_emac0 { -+ phy-handle = <&phy0>; -+ phy-mode = "rgmii"; -+ //dual_emac_res_vlan = <1>; -+}; -+ -+&mmc1 { -+ status = "okay"; -+ vmmc-supply = <&vdd_3v3>; -+ vmmc_aux-supply = <&vdd_sd>; -+ vqmmc-supply = <&vdd_sd>; /* IO Line Power */ -+ bus-width = <4>; -+ max-frequency = <24000000>; -+ cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */ -+ -+ pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104"; -+ pinctrl-0 = <&mmc1_pins_default>; -+ pinctrl-1 = <&mmc1_pins_hs>; -+ pinctrl-2 = <&mmc1_pins_sdr12>; -+ pinctrl-3 = <&mmc1_pins_sdr25>; -+ pinctrl-4 = <&mmc1_pins_sdr50>; -+ pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>; -+ pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>; -+}; -+ -+&mmc2 { -+ status = "okay"; -+ vmmc-supply = <&vdd_3v3>; -+ //FUTURE: vqmmc-supply = <&vdd_3v3>; /* IO Line Power */ -+ bus-width = <8>; -+ ti,non-removable; -+ non-removable; -+ max-frequency = <96000000>; -+ no-1-8-v; -+ /delete-property/ mmc-hs200-1_8v; -+ -+ pinctrl-names = "default", "hs"; -+ pinctrl-0 = <&mmc2_pins_default>; -+ pinctrl-1 = <&mmc2_pins_hs>; -+}; -+ -+&usb2_phy1 { -+ phy-supply = <&ldousb_reg>; -+}; -+ -+&usb2_phy2 { -+ phy-supply = <&ldousb_reg>; -+}; -+ -+&usb1 { -+ dr_mode = "host"; -+}; -+ -+&omap_dwc3_2 { -+ extcon = <&extcon_usb2>; -+}; -+ -+&usb2 { -+ dr_mode = "peripheral"; -+}; -+ -+&cpu_trips { -+ cpu_alert1: cpu_alert1 { -+ temperature = <50000>; /* millicelsius */ -+ hysteresis = <2000>; /* millicelsius */ -+ type = "active"; -+ }; -+}; -+ -+&cpu_cooling_maps { -+ map1 { -+ trip = <&cpu_alert1>; -+ }; -+}; -+ -+&thermal_zones { -+ board_thermal: board_thermal { -+ polling-delay-passive = <1250>; /* milliseconds */ -+ polling-delay = <1500>; /* milliseconds */ -+ -+ board_trips: trips { -+ board_alert0: board_alert { -+ temperature = <40000>; /* millicelsius */ -+ hysteresis = <2000>; /* millicelsius */ -+ type = "active"; -+ }; -+ -+ board_crit: board_crit { -+ temperature = <105000>; /* millicelsius */ -+ hysteresis = <0>; /* millicelsius */ -+ type = "critical"; -+ }; -+ }; -+ -+ board_cooling_maps: cooling-maps { -+ map0 { -+ trip = <&board_alert0>; -+ }; -+ }; -+ }; -+}; -+ -+&mailbox5 { -+ status = "okay"; -+ mbox_ipu1_ipc3x: mbox_ipu1_ipc3x { -+ status = "okay"; -+ }; -+ mbox_dsp1_ipc3x: mbox_dsp1_ipc3x { -+ status = "okay"; -+ }; -+}; -+ -+&mailbox6 { -+ status = "okay"; -+ mbox_ipu2_ipc3x: mbox_ipu2_ipc3x { -+ status = "okay"; -+ }; -+ mbox_dsp2_ipc3x: mbox_dsp2_ipc3x { -+ status = "okay"; -+ }; -+}; -diff --git a/arch/arm/mach-omap2/omap5/hw_data.c b/arch/arm/mach-omap2/omap5/hw_data.c -index c4a41db92a..57b23b93b5 100644 ---- a/arch/arm/mach-omap2/omap5/hw_data.c -+++ b/arch/arm/mach-omap2/omap5/hw_data.c -@@ -418,8 +418,10 @@ void enable_basic_clocks(void) - (*prcm)->cm_l3init_hsmmc2_clkctrl, - (*prcm)->cm_l4per_gptimer2_clkctrl, - (*prcm)->cm_wkup_wdtimer2_clkctrl, -+ (*prcm)->cm_l4per_uart1_clkctrl, - (*prcm)->cm_l4per_uart3_clkctrl, - (*prcm)->cm_l4per_i2c1_clkctrl, -+ (*prcm)->cm_l4per_i2c4_clkctrl, - #ifdef CONFIG_DRIVER_TI_CPSW - (*prcm)->cm_gmac_gmac_clkctrl, - #endif -@@ -493,7 +495,6 @@ void enable_basic_uboot_clocks(void) - (*prcm)->cm_l4per_mcspi1_clkctrl, - (*prcm)->cm_l4per_i2c2_clkctrl, - (*prcm)->cm_l4per_i2c3_clkctrl, -- (*prcm)->cm_l4per_i2c4_clkctrl, - #if defined(CONFIG_DRA7XX) - (*prcm)->cm_ipu_i2c5_clkctrl, - #else -diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c -index 7063345dcc..47a8391de8 100644 ---- a/board/ti/am57xx/board.c -+++ b/board/ti/am57xx/board.c -@@ -30,6 +30,8 @@ - #include - #include - #include -+#include -+#include - - #include "../common/board_detect.h" - #include "mux_data.h" -@@ -46,6 +48,7 @@ - #define board_is_am574x_idk() board_ti_is("AM574IDK") - #define board_is_am572x_idk() board_ti_is("AM572IDK") - #define board_is_am571x_idk() board_ti_is("AM571IDK") -+#define board_is_bbai() board_ti_is("BBBBAI__") //no EEPROM... - - #ifdef CONFIG_DRIVER_TI_CPSW - #include -@@ -75,6 +78,12 @@ DECLARE_GLOBAL_DATA_PTR; - #define TPS65903X_PRIMARY_SECONDARY_PAD2 0xFB - #define TPS65903X_PAD2_POWERHOLD_MASK 0x20 - -+#define CAPE_EEPROM_BUS_NUM 3 -+#define CAPE_EEPROM_ADDR0 0x54 -+#define CAPE_EEPROM_ADDR3 0x57 -+ -+#define CAPE_EEPROM_ADDR_LEN 0x10 -+ - const struct omap_sysinfo sysinfo = { - "Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN\n" - }; -@@ -84,6 +93,12 @@ static const struct dmm_lisa_map_regs beagle_x15_lisa_regs = { - .is_ma_present = 0x1 - }; - -+static const struct dmm_lisa_map_regs bbai_lisa_regs = { -+ ///FIXME: Document, where this magic number come from? -+ .dmm_lisa_map_3 = 0x80640100, -+ .is_ma_present = 0x1 -+}; -+ - static const struct dmm_lisa_map_regs am571x_idk_lisa_regs = { - .dmm_lisa_map_3 = 0x80640100, - .is_ma_present = 0x1 -@@ -101,6 +116,8 @@ void emif_get_dmm_regs(const struct dmm_lisa_map_regs **dmm_lisa_regs) - *dmm_lisa_regs = &am571x_idk_lisa_regs; - else if (board_is_am574x_idk()) - *dmm_lisa_regs = &am574x_idk_lisa_regs; -+ else if (board_is_bbai()) -+ *dmm_lisa_regs = &bbai_lisa_regs; - else - *dmm_lisa_regs = &beagle_x15_lisa_regs; - } -@@ -502,8 +519,30 @@ void do_board_detect(void) - - rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS, - CONFIG_EEPROM_CHIP_ADDRESS); -- if (rc) -+ if (rc) { - printf("ti_i2c_eeprom_init failed %d\n", rc); -+ ti_i2c_eeprom_am_set("BBBBAI__", "A"); -+ }; -+ -+ puts("in do_board_detect\n"); -+ printf("do_board_detect\n"); -+} -+ -+void write_hex (unsigned char i) -+{ -+ char cc; -+ -+ cc = i >> 4; -+ cc &= 0xf; -+ if (cc > 9) -+ serial_putc (cc + 55); -+ else -+ serial_putc (cc + 48); -+ cc = i & 0xf; -+ if (cc > 9) -+ serial_putc (cc + 55); -+ else -+ serial_putc (cc + 48); - } - - #else /* CONFIG_SPL_BUILD */ -@@ -521,6 +560,8 @@ void do_board_detect(void) - - if (board_is_x15()) - bname = "BeagleBoard X15"; -+ else if (board_is_bbai()) -+ bname = "BeagleBone AI"; - else if (board_is_am572x_evm()) - bname = "AM572x EVM"; - else if (board_is_am574x_idk()) -@@ -535,6 +576,23 @@ void do_board_detect(void) - "Board: %s REV %s\n", bname, board_ti_get_rev()); - } - -+void write_hex (unsigned char i) -+{ -+ char cc; -+ -+ cc = i >> 4; -+ cc &= 0xf; -+ if (cc > 9) -+ serial_putc (cc + 55); -+ else -+ serial_putc (cc + 48); -+ cc = i & 0xf; -+ if (cc > 9) -+ serial_putc (cc + 55); -+ else -+ serial_putc (cc + 48); -+} -+ - static void setup_board_eeprom_env(void) - { - char *name = "beagle_x15"; -@@ -557,6 +615,8 @@ static void setup_board_eeprom_env(void) - name = "am57xx_evm_reva3"; - else - name = "am57xx_evm"; -+ } else if (board_is_bbai()) { -+ name = "am5729_beagleboneai"; - } else if (board_is_am574x_idk()) { - name = "am574x_idk"; - } else if (board_is_am572x_idk()) { -@@ -626,7 +686,7 @@ void am57x_idk_lcd_detect(void) - struct udevice *dev; - - /* Only valid for IDKs */ -- if (board_is_x15() || board_is_am572x_evm()) -+ if (board_is_x15() || board_is_am572x_evm() || board_is_bbai()) - return; - - /* Only AM571x IDK has gpio control detect.. so check that */ -@@ -720,6 +780,28 @@ int board_late_init(void) - - am57x_idk_lcd_detect(); - -+ ///FIXME, too late!! But useful for testing function... -+ unsigned char addr; -+ struct udevice *dev; -+ int rc; -+ -+ for ( addr = CAPE_EEPROM_ADDR0; addr <= CAPE_EEPROM_ADDR3; addr++ ) { -+ puts("BeagleBone: cape eeprom: i2c_probe: 0x"); write_hex(addr); puts(":\n"); -+ rc = i2c_get_chip_for_busnum(CAPE_EEPROM_BUS_NUM, addr, 1, &dev); -+ if (rc) { -+ printf("failed to get device for EEPROM at address 0x%x\n", -+ addr); -+// goto out; -+ } -+// out: -+ } -+ -+ if (board_is_bbai()) { -+ env_set("console", "ttyS0,115200n8"); -+ } else { -+ env_set("console", "ttyO2,115200n8"); -+ } -+ - #if !defined(CONFIG_SPL_BUILD) - board_ti_set_ethaddr(2); - #endif -@@ -762,6 +844,13 @@ void recalibrate_iodelay(void) - pconf_sz = ARRAY_SIZE(core_padconf_array_essential_am571x_idk); - iod = iodelay_cfg_array_am571x_idk; - iod_sz = ARRAY_SIZE(iodelay_cfg_array_am571x_idk); -+ } else if (board_is_bbai()) { -+ /* Common for X15/GPEVM */ -+ pconf = core_padconf_array_essential_bbai; -+ pconf_sz = ARRAY_SIZE(core_padconf_array_essential_bbai); -+ /* Since full production should switch to SR2.0 */ -+ iod = iodelay_cfg_array_bbai; -+ iod_sz = ARRAY_SIZE(iodelay_cfg_array_bbai); - } else { - /* Common for X15/GPEVM */ - pconf = core_padconf_array_essential_x15; -@@ -863,12 +952,50 @@ const struct mmc_platform_fixups *platform_fixups_mmc(uint32_t addr) - #endif - - #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_OS_BOOT) -+ -+//static int eeprom_has_been_read; -+//static struct id_eeprom eeprom; -+ -+struct am335x_cape_eeprom_id { -+ unsigned int header; -+ char eeprom_rev[2]; -+ char board_name[32]; -+ char version[4]; -+ char manufacture[16]; -+ char part_number[16]; -+ char number_of_pins[2]; -+ char serial_number[12]; -+ char pin_usage[140]; -+ char vdd_3v3exp[ 2]; -+ char vdd_5v[ 2]; -+ char sys_5v[2]; -+ char dc_supplied[2]; -+}; -+ - int spl_start_uboot(void) - { - /* break into full u-boot on 'c' */ - if (serial_tstc() && serial_getc() == 'c') - return 1; - -+ //FIXME, i2c doesn't see to be up.. -+ puts("spl_start_uboot\n"); -+ unsigned char addr; -+ struct udevice *dev; -+ int rc; -+ -+ for ( addr = CAPE_EEPROM_ADDR0; addr <= CAPE_EEPROM_ADDR3; addr++ ) { -+ puts("BeagleBone: cape eeprom: i2c_probe: 0x"); write_hex(addr); puts(":\n"); -+ rc = i2c_get_chip_for_busnum(CAPE_EEPROM_BUS_NUM, addr, 1, &dev); -+ if (rc) { -+ printf("failed to get device for EEPROM at address 0x%x\n", -+ addr); -+// goto out; -+ } -+// out: -+ } -+ -+ - #ifdef CONFIG_SPL_ENV_SUPPORT - env_init(); - env_load(); -@@ -1084,6 +1211,9 @@ int board_fit_config_name_match(const char *name) - } else if (board_is_am572x_evm() && - !strcmp(name, "am57xx-beagle-x15")) { - return 0; -+ } else if (board_is_bbai() && -+ !strcmp(name, "am5729-beagleboneai")) { -+ return 0; - } else if (board_is_am572x_idk() && !strcmp(name, "am572x-idk")) { - return 0; - } else if (board_is_am574x_idk() && !strcmp(name, "am574x-idk")) { -diff --git a/board/ti/am57xx/mux_data.h b/board/ti/am57xx/mux_data.h -index d4a15ae93d..9b8ee944f8 100644 ---- a/board/ti/am57xx/mux_data.h -+++ b/board/ti/am57xx/mux_data.h -@@ -233,6 +233,272 @@ const struct pad_conf_entry core_padconf_array_essential_x15[] = { - {RSTOUTN, (M0 | PIN_OUTPUT)}, /* rstoutn.rstoutn */ - }; - -+const struct pad_conf_entry core_padconf_array_essential_bbai[] = { -+ {GPMC_AD0, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad0.vin3a_d0 */ -+ {GPMC_AD1, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad1.vin3a_d1 */ -+ {GPMC_AD2, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad2.vin3a_d2 */ -+ {GPMC_AD3, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad3.vin3a_d3 */ -+ {GPMC_AD4, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad4.vin3a_d4 */ -+ {GPMC_AD5, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad5.vin3a_d5 */ -+ {GPMC_AD6, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad6.vin3a_d6 */ -+ {GPMC_AD7, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad7.vin3a_d7 */ -+ {GPMC_AD8, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad8.vin3a_d8 */ -+ {GPMC_AD9, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad9.vin3a_d9 */ -+ {GPMC_AD10, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad10.vin3a_d10 */ -+ {GPMC_AD11, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad11.vin3a_d11 */ -+ {GPMC_AD12, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad12.vin3a_d12 */ -+ {GPMC_AD13, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad13.vin3a_d13 */ -+ {GPMC_AD14, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad14.vin3a_d14 */ -+ {GPMC_AD15, (M2 | PIN_INPUT | MANUAL_MODE)}, /* gpmc_ad15.vin3a_d15 */ -+ -+ /* Cape Bus i2c */ -+ {GPMC_A0, (M7 | PIN_INPUT_PULLUP)}, /* R6_GPIO7_3: gpmc_a0.i2c4_scl (Shared with F4_UART10_RTSN) */ -+ {GPMC_A1, (M7 | PIN_INPUT_PULLUP)}, /* T9_GPIO7_4: gpmc_a1.i2c4_sda (Shared with D2_UART10_CTSN) */ -+ -+ {GPMC_A2, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a2.vin3a_d18 */ -+ {GPMC_A3, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a3.vin3a_d19 */ -+ {GPMC_A4, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a4.vin3a_d20 */ -+ {GPMC_A5, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a5.vin3a_d21 */ -+ {GPMC_A6, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a6.vin3a_d22 */ -+ {GPMC_A7, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a7.vin3a_d23 */ -+ {GPMC_A8, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a8.vin3a_hsync0 */ -+ {GPMC_A9, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a9.vin3a_vsync0 */ -+ {GPMC_A10, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a10.vin3a_de0 */ -+ {GPMC_A11, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_a11.vin3a_fld0 */ -+ {GPMC_A12, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_a12.gpio2_2 */ -+ {GPMC_A13, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_a13.gpio2_3 */ -+ {GPMC_A14, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_a14.gpio2_4 */ -+ {GPMC_A15, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_a15.gpio2_5 */ -+ {GPMC_A16, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_a16.gpio2_6 */ -+ {GPMC_A17, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_a17.gpio2_7 */ -+ {GPMC_A18, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_a18.gpio2_8 */ -+ -+ /* eMMC */ -+ {GPMC_A19, (M1 | PIN_INPUT_PULLUP)}, /* K7: gpmc_a19.mmc2_dat4 */ -+ {GPMC_A20, (M1 | PIN_INPUT_PULLUP)}, /* M7: gpmc_a20.mmc2_dat5 */ -+ {GPMC_A21, (M1 | PIN_INPUT_PULLUP)}, /* J5: gpmc_a21.mmc2_dat6 */ -+ {GPMC_A22, (M1 | PIN_INPUT_PULLUP)}, /* K6: gpmc_a22.mmc2_dat7 */ -+ {GPMC_A23, (M1 | PIN_INPUT_PULLUP)}, /* J7: gpmc_a23.mmc2_clk */ -+ {GPMC_A24, (M1 | PIN_INPUT_PULLUP)}, /* J4: gpmc_a24.mmc2_dat0 */ -+ {GPMC_A25, (M1 | PIN_INPUT_PULLUP)}, /* J6: gpmc_a25.mmc2_dat1 */ -+ {GPMC_A26, (M1 | PIN_INPUT_PULLUP)}, /* H4: gpmc_a26.mmc2_dat2 */ -+ {GPMC_A27, (M1 | PIN_INPUT_PULLUP)}, /* H5: gpmc_a27.mmc2_dat3 */ -+ {GPMC_CS1, (M1 | PIN_INPUT_PULLUP)}, /* H6: gpmc_cs1.mmc2_cmd */ -+ -+ {GPMC_CS0, (M14 | PIN_INPUT_PULLDOWN)}, /* gpmc_cs0.gpio2_19 */ -+ {GPMC_CS2, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_cs2.gpio2_20 */ -+ {GPMC_CS3, (M2 | PIN_INPUT_PULLDOWN | MANUAL_MODE)}, /* gpmc_cs3.vin3a_clk0 */ -+ {GPMC_CLK, (M9 | PIN_INPUT_PULLDOWN)}, /* gpmc_clk.dma_evt1 */ -+ {GPMC_ADVN_ALE, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_advn_ale.gpio2_23 */ -+ {GPMC_OEN_REN, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_oen_ren.gpio2_24 */ -+ {GPMC_WEN, (M14 | PIN_INPUT_PULLUP)}, /* gpmc_wen.gpio2_25 */ -+ {GPMC_BEN0, (M9 | PIN_INPUT_PULLDOWN)}, /* gpmc_ben0.dma_evt3 */ -+ {GPMC_BEN1, (M9 | PIN_INPUT_PULLDOWN)}, /* gpmc_ben1.dma_evt4 */ -+ {GPMC_WAIT0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* gpmc_wait0.gpio2_28 */ -+ {VIN1A_CLK0, (M14 | PIN_INPUT)}, /* vin1a_clk0.gpio2_30 */ -+ {VIN1B_CLK1, (M14 | PIN_INPUT_SLEW)}, /* vin1b_clk1.gpio2_31 */ -+ {VIN1A_D2, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d2.gpio3_6 */ -+ {VIN1A_D3, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d3.gpio3_7 */ -+ {VIN1A_D4, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d4.gpio3_8 */ -+ {VIN1A_D5, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d5.gpio3_9 */ -+ {VIN1A_D6, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d6.gpio3_10 */ -+ {VIN1A_D7, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d7.gpio3_11 */ -+ {VIN1A_D8, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d8.gpio3_12 */ -+ {VIN1A_D10, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d10.gpio3_14 */ -+ {VIN1A_D11, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d11.gpio3_15 */ -+ {VIN1A_D12, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d12.gpio3_16 */ -+ {VIN1A_D14, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d14.gpio3_18 */ -+ {VIN1A_D16, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d16.gpio3_20 */ -+ {VIN1A_D19, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d19.gpio3_23 */ -+ {VIN1A_D20, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d20.gpio3_24 */ -+ {VIN1A_D22, (M14 | PIN_INPUT_PULLDOWN)}, /* vin1a_d22.gpio3_26 */ -+ {VIN2A_CLK0, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_clk0.gpio3_28 */ -+ {VIN2A_DE0, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_de0.gpio3_29 */ -+ {VIN2A_FLD0, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_fld0.gpio3_30 */ -+ {VIN2A_HSYNC0, (M11 | PIN_INPUT_PULLUP)}, /* vin2a_hsync0.pr1_uart0_cts_n */ -+ {VIN2A_VSYNC0, (M11 | PIN_OUTPUT_PULLUP)}, /* vin2a_vsync0.pr1_uart0_rts_n */ -+ {VIN2A_D0, (M11 | PIN_INPUT_PULLUP)}, /* vin2a_d0.pr1_uart0_rxd */ -+ {VIN2A_D1, (M11 | PIN_OUTPUT)}, /* vin2a_d1.pr1_uart0_txd */ -+ {VIN2A_D2, (M8 | PIN_INPUT_PULLUP)}, /* vin2a_d2.uart10_rxd */ -+ {VIN2A_D3, (M8 | PIN_OUTPUT)}, /* vin2a_d3.uart10_txd */ -+ -+ /* Cape Bus i2c (gpio shared) */ -+ {VIN2A_D4, (M15 | PIN_INPUT)}, /* D2_UART10_CTSN: vin2a_d4.uart10_ctsn (Shared with T9_GPIO7_4) */ -+ {VIN2A_D5, (M15 | PIN_INPUT)}, /* F4_UART10_RTSN: vin2a_d5.uart10_rtsn (Shared with R6_GPIO7_3) */ -+ -+ {VIN2A_D6, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_d6.gpio4_7 */ -+ {VIN2A_D7, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_d7.gpio4_8 */ -+ {VIN2A_D8, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_d8.gpio4_9 */ -+ {VIN2A_D9, (M14 | PIN_INPUT_PULLDOWN)}, /* vin2a_d9.gpio4_10 */ -+ {VIN2A_D10, (M10 | PIN_OUTPUT_PULLDOWN)}, /* vin2a_d10.ehrpwm2B */ -+ {VIN2A_D11, (M10 | PIN_INPUT_PULLDOWN)}, /* vin2a_d11.ehrpwm2_tripzone_input */ -+ {VIN2A_D12, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d12.rgmii1_txc */ -+ {VIN2A_D13, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d13.rgmii1_txctl */ -+ {VIN2A_D14, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d14.rgmii1_txd3 */ -+ {VIN2A_D15, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d15.rgmii1_txd2 */ -+ {VIN2A_D16, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d16.rgmii1_txd1 */ -+ {VIN2A_D17, (M3 | PIN_OUTPUT | MANUAL_MODE)}, /* vin2a_d17.rgmii1_txd0 */ -+ {VIN2A_D18, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d18.rgmii1_rxc */ -+ {VIN2A_D19, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d19.rgmii1_rxctl */ -+ {VIN2A_D20, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d20.rgmii1_rxd3 */ -+ {VIN2A_D21, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d21.rgmii1_rxd2 */ -+ {VIN2A_D22, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d22.rgmii1_rxd1 */ -+ {VIN2A_D23, (M3 | PIN_INPUT | MANUAL_MODE)}, /* vin2a_d23.rgmii1_rxd0 */ -+ {VOUT1_CLK, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_clk.vout1_clk */ -+ {VOUT1_DE, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_de.vout1_de */ -+ {VOUT1_FLD, (M14 | PIN_INPUT)}, /* vout1_fld.gpio4_21 */ -+ {VOUT1_HSYNC, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_hsync.vout1_hsync */ -+ {VOUT1_VSYNC, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_vsync.vout1_vsync */ -+ {VOUT1_D0, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d0.vout1_d0 */ -+ {VOUT1_D1, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d1.vout1_d1 */ -+ {VOUT1_D2, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d2.vout1_d2 */ -+ {VOUT1_D3, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d3.vout1_d3 */ -+ {VOUT1_D4, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d4.vout1_d4 */ -+ {VOUT1_D5, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d5.vout1_d5 */ -+ {VOUT1_D6, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d6.vout1_d6 */ -+ {VOUT1_D7, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d7.vout1_d7 */ -+ {VOUT1_D8, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d8.vout1_d8 */ -+ {VOUT1_D9, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d9.vout1_d9 */ -+ {VOUT1_D10, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d10.vout1_d10 */ -+ {VOUT1_D11, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d11.vout1_d11 */ -+ {VOUT1_D12, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d12.vout1_d12 */ -+ {VOUT1_D13, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d13.vout1_d13 */ -+ {VOUT1_D14, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d14.vout1_d14 */ -+ {VOUT1_D15, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d15.vout1_d15 */ -+ {VOUT1_D16, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d16.vout1_d16 */ -+ {VOUT1_D17, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d17.vout1_d17 */ -+ {VOUT1_D18, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d18.vout1_d18 */ -+ {VOUT1_D19, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d19.vout1_d19 */ -+ {VOUT1_D20, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d20.vout1_d20 */ -+ {VOUT1_D21, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d21.vout1_d21 */ -+ {VOUT1_D22, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d22.vout1_d22 */ -+ {VOUT1_D23, (M0 | PIN_OUTPUT | SLEWCONTROL | MANUAL_MODE)}, /* vout1_d23.vout1_d23 */ -+ {MDIO_MCLK, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* mdio_mclk.mdio_mclk */ -+ {MDIO_D, (M0 | PIN_INPUT | SLEWCONTROL)}, /* mdio_d.mdio_d */ -+ {RMII_MHZ_50_CLK, (M14 | PIN_INPUT_PULLUP)}, /* RMII_MHZ_50_CLK.gpio5_17 */ -+ {UART3_RXD, (M14 | PIN_INPUT_SLEW)}, /* uart3_rxd.gpio5_18 */ -+ {UART3_TXD, (M14 | PIN_INPUT_SLEW)}, /* uart3_txd.gpio5_19 */ -+ {RGMII0_TXC, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txc.rgmii0_txc */ -+ {RGMII0_TXCTL, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txctl.rgmii0_txctl */ -+ {RGMII0_TXD3, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txd3.rgmii0_txd3 */ -+ {RGMII0_TXD2, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txd2.rgmii0_txd2 */ -+ {RGMII0_TXD1, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txd1.rgmii0_txd1 */ -+ {RGMII0_TXD0, (M0 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_txd0.rgmii0_txd0 */ -+ {RGMII0_RXC, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxc.rgmii0_rxc */ -+ {RGMII0_RXCTL, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxctl.rgmii0_rxctl */ -+ {RGMII0_RXD3, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxd3.rgmii0_rxd3 */ -+ {RGMII0_RXD2, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxd2.rgmii0_rxd2 */ -+ {RGMII0_RXD1, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxd1.rgmii0_rxd1 */ -+ {RGMII0_RXD0, (M0 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_rxd0.rgmii0_rxd0 */ -+ {USB1_DRVVBUS, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* usb1_drvvbus.usb1_drvvbus */ -+ {USB2_DRVVBUS, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)}, /* usb2_drvvbus.usb2_drvvbus */ -+ {GPIO6_14, (M10 | PIN_INPUT_PULLUP)}, /* gpio6_14.timer1 */ -+ {GPIO6_15, (M10 | PIN_INPUT_PULLUP)}, /* gpio6_15.timer2 */ -+ {GPIO6_16, (M10 | PIN_INPUT_PULLUP)}, /* gpio6_16.timer3 */ -+ {XREF_CLK0, (M9 | PIN_OUTPUT_PULLDOWN)}, /* xref_clk0.clkout2 */ -+ {XREF_CLK1, (M14 | PIN_INPUT_PULLDOWN)}, /* xref_clk1.gpio6_18 */ -+ {XREF_CLK2, (M14 | PIN_INPUT_PULLDOWN)}, /* xref_clk2.gpio6_19 */ -+ {XREF_CLK3, (M9 | PIN_OUTPUT_PULLDOWN)}, /* xref_clk3.clkout3 */ -+ {MCASP1_ACLKX, (M10 | PIN_INPUT_PULLUP)}, /* mcasp1_aclkx.i2c3_sda */ -+ {MCASP1_FSX, (M10 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mcasp1_fsx.i2c3_scl */ -+ {MCASP1_ACLKR, (M10 | PIN_INPUT_PULLUP)}, /* mcasp1_aclkr.i2c4_sda */ -+ {MCASP1_FSR, (M10 | PIN_INPUT_PULLUP)}, /* mcasp1_fsr.i2c4_scl */ -+ {MCASP1_AXR0, (M10 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mcasp1_axr0.i2c5_sda */ -+ {MCASP1_AXR1, (M10 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mcasp1_axr1.i2c5_scl */ -+ {MCASP1_AXR2, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr2.gpio5_4 */ -+ {MCASP1_AXR3, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr3.gpio5_5 */ -+ {MCASP1_AXR4, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr4.gpio5_6 */ -+ {MCASP1_AXR5, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr5.gpio5_7 */ -+ {MCASP1_AXR6, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr6.gpio5_8 */ -+ {MCASP1_AXR7, (M14 | PIN_INPUT_PULLDOWN)}, /* mcasp1_axr7.gpio5_9 */ -+ {MCASP1_AXR8, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr8.gpio5_10 */ -+ {MCASP1_AXR9, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr9.gpio5_11 */ -+ {MCASP1_AXR10, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr10.gpio5_12 */ -+ {MCASP1_AXR11, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mcasp1_axr11.gpio4_17 */ -+ {MCASP1_AXR12, (M1 | PIN_INPUT_SLEW | VIRTUAL_MODE10)}, /* mcasp1_axr12.mcasp7_axr0 */ -+ {MCASP1_AXR13, (M1 | PIN_INPUT_SLEW | VIRTUAL_MODE10)}, /* mcasp1_axr13.mcasp7_axr1 */ -+ {MCASP1_AXR14, (M1 | PIN_INPUT_SLEW | VIRTUAL_MODE10)}, /* mcasp1_axr14.mcasp7_aclkx */ -+ {MCASP1_AXR15, (M1 | PIN_INPUT_SLEW | VIRTUAL_MODE10)}, /* mcasp1_axr15.mcasp7_fsx */ -+ {MCASP3_ACLKX, (M0 | PIN_INPUT_PULLDOWN)}, /* mcasp3_aclkx.mcasp3_aclkx */ -+ {MCASP3_FSX, (M0 | PIN_INPUT_SLEW)}, /* mcasp3_fsx.mcasp3_fsx */ -+ {MCASP3_AXR0, (M0 | PIN_INPUT_SLEW)}, /* mcasp3_axr0.mcasp3_axr0 */ -+ {MCASP3_AXR1, (M0 | PIN_INPUT_SLEW)}, /* mcasp3_axr1.mcasp3_axr1 */ -+ {MCASP4_ACLKX, (M3 | PIN_INPUT_PULLUP)}, /* mcasp4_aclkx.uart8_rxd */ -+ {MCASP4_FSX, (M3 | PIN_OUTPUT)}, /* mcasp4_fsx.uart8_txd */ -+ {MCASP4_AXR0, (M3 | PIN_INPUT_PULLUP)}, /* mcasp4_axr0.uart8_ctsn */ -+ {MCASP4_AXR1, (M3 | PIN_OUTPUT_PULLUP)}, /* mcasp4_axr1.uart8_rtsn */ -+ {MCASP5_ACLKX, (M3 | PIN_INPUT_PULLUP)}, /* mcasp5_aclkx.uart9_rxd */ -+ {MCASP5_FSX, (M3 | PIN_OUTPUT)}, /* mcasp5_fsx.uart9_txd */ -+ {MCASP5_AXR0, (M3 | PIN_INPUT_PULLUP)}, /* mcasp5_axr0.uart9_ctsn */ -+ {MCASP5_AXR1, (M3 | PIN_OUTPUT_PULLUP)}, /* mcasp5_axr1.uart9_rtsn */ -+ -+ /* microSD Socket */ -+ {MMC1_CLK, (M0 | PIN_INPUT_PULLUP)}, /* W6: mmc1_clk.mmc1_clk */ -+ {MMC1_CMD, (M0 | PIN_INPUT_PULLUP)}, /* Y6: mmc1_cmd.mmc1_cmd */ -+ {MMC1_DAT0, (M0 | PIN_INPUT_PULLUP)}, /* AA6: mmc1_dat0.mmc1_dat0 */ -+ {MMC1_DAT1, (M0 | PIN_INPUT_PULLUP)}, /* Y4: mmc1_dat1.mmc1_dat1 */ -+ {MMC1_DAT2, (M0 | PIN_INPUT_PULLUP)}, /* AA5: mmc1_dat2.mmc1_dat2 */ -+ {MMC1_DAT3, (M0 | PIN_INPUT_PULLUP)}, /* Y3: mmc1_dat3.mmc1_dat3 */ -+ {MMC1_SDCD, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* W7: mmc1_sdcd.gpio6_27 */ -+ -+ {GPIO6_10, (M10 | PIN_OUTPUT_PULLDOWN)}, /* gpio6_10.ehrpwm2A */ -+ {GPIO6_11, (M0 | PIN_INPUT_PULLUP)}, /* gpio6_11.gpio6_11 */ -+ {MMC3_CLK, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_clk.mmc3_clk */ -+ {MMC3_CMD, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_cmd.mmc3_cmd */ -+ {MMC3_DAT0, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat0.mmc3_dat0 */ -+ {MMC3_DAT1, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat1.mmc3_dat1 */ -+ {MMC3_DAT2, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat2.mmc3_dat2 */ -+ {MMC3_DAT3, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat3.mmc3_dat3 */ -+ {MMC3_DAT4, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat4.mmc3_dat4 */ -+ {MMC3_DAT5, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat5.mmc3_dat5 */ -+ {MMC3_DAT6, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat6.mmc3_dat6 */ -+ {MMC3_DAT7, (M0 | PIN_INPUT_PULLUP | MANUAL_MODE)}, /* mmc3_dat7.mmc3_dat7 */ -+ {SPI1_SCLK, (M14 | PIN_INPUT_PULLDOWN)}, /* spi1_sclk.gpio7_7 */ -+ {SPI1_D1, (M14 | PIN_INPUT_PULLDOWN)}, /* spi1_d1.gpio7_8 */ -+ {SPI1_D0, (M14 | PIN_INPUT_PULLDOWN)}, /* spi1_d0.gpio7_9 */ -+ {SPI1_CS0, (M14 | PIN_INPUT)}, /* spi1_cs0.gpio7_10 */ -+ {SPI1_CS1, (M14 | PIN_INPUT)}, /* spi1_cs1.gpio7_11 */ -+ {SPI1_CS2, (M14 | PIN_INPUT_SLEW)}, /* spi1_cs2.gpio7_12 */ -+ {SPI1_CS3, (M6 | PIN_INPUT | SLEWCONTROL)}, /* spi1_cs3.hdmi1_cec */ -+ {SPI2_SCLK, (M14 | PIN_INPUT_PULLDOWN)}, /* spi2_sclk.gpio7_14 */ -+ {SPI2_D1, (M14 | PIN_INPUT_SLEW)}, /* spi2_d1.gpio7_15 */ -+ {SPI2_D0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* spi2_d0.gpio7_16 */ -+ {SPI2_CS0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* spi2_cs0.gpio7_17 */ -+ {DCAN1_TX, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* dcan1_tx.dcan1_tx */ -+ {DCAN1_RX, (M0 | PIN_INPUT | SLEWCONTROL)}, /* dcan1_rx.dcan1_rx */ -+ -+ /* BeagleBone AI: Debug UART */ -+ {UART1_RXD, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* uart1_rxd.uart1_rxd */ -+ {UART1_TXD, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* uart1_txd.uart1_txd */ -+ -+ {UART1_CTSN, (M14 | PIN_INPUT_PULLDOWN)}, /* uart1_ctsn.gpio7_24 */ -+ {UART1_RTSN, (M14 | PIN_INPUT)}, /* uart1_rtsn.gpio7_25 */ -+ {UART2_RXD, (M14 | PIN_INPUT_PULLDOWN)}, /* uart2_rxd.gpio7_26 */ -+ {UART2_TXD, (M14 | PIN_INPUT_PULLDOWN)}, /* uart2_txd.gpio7_27 */ -+ {UART2_CTSN, (M2 | PIN_INPUT_PULLUP)}, /* uart2_ctsn.uart3_rxd */ -+ {UART2_RTSN, (M1 | PIN_OUTPUT)}, /* uart2_rtsn.uart3_txd */ -+ {I2C1_SDA, (M0 | PIN_INPUT_PULLUP)}, /* i2c1_sda.i2c1_sda */ -+ {I2C1_SCL, (M0 | PIN_INPUT_PULLUP)}, /* i2c1_scl.i2c1_scl */ -+ {I2C2_SDA, (M1 | PIN_INPUT_PULLUP)}, /* i2c2_sda.hdmi1_ddc_scl */ -+ {I2C2_SCL, (M1 | PIN_INPUT_PULLUP)}, /* i2c2_scl.hdmi1_ddc_sda */ -+ {WAKEUP0, (M0 | PIN_INPUT)}, /* Wakeup0.Wakeup0 */ -+ {WAKEUP1, (M0 | PIN_INPUT)}, /* Wakeup1.Wakeup1 */ -+ {WAKEUP2, (M0 | PIN_INPUT)}, /* Wakeup2.Wakeup2 */ -+ {WAKEUP3, (M0 | PIN_INPUT)}, /* Wakeup3.Wakeup3 */ -+ {ON_OFF, (M0 | PIN_OUTPUT)}, /* on_off.on_off */ -+ {RTC_PORZ, (M0 | PIN_INPUT)}, /* rtc_porz.rtc_porz */ -+ {TMS, (M0 | PIN_INPUT_PULLUP)}, /* tms.tms */ -+ {TDI, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* tdi.tdi */ -+ {TDO, (M0 | PIN_OUTPUT)}, /* tdo.tdo */ -+ {TCLK, (M0 | PIN_INPUT_PULLDOWN)}, /* tclk.tclk */ -+ {TRSTN, (M0 | PIN_INPUT)}, /* trstn.trstn */ -+ {RTCK, (M0 | PIN_OUTPUT)}, /* rtck.rtck */ -+ {EMU0, (M0 | PIN_INPUT)}, /* emu0.emu0 */ -+ {EMU1, (M0 | PIN_INPUT)}, /* emu1.emu1 */ -+ {NMIN_DSP, (M0 | PIN_INPUT)}, /* nmin_dsp.nmin_dsp */ -+ {RSTOUTN, (M0 | PIN_OUTPUT)}, /* rstoutn.rstoutn */ -+}; -+ - const struct pad_conf_entry core_padconf_array_delta_x15_sr1_1[] = { - {MMC1_SDWP, (M14 | PIN_INPUT | SLEWCONTROL)}, /* mmc1_sdwp.gpio6_28 */ - {VOUT1_CLK, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* vout1_clk.vout1_clk */ -@@ -998,6 +1264,17 @@ const struct pad_conf_entry early_padconf[] = { - {UART2_RTSN, (M1 | PIN_INPUT_SLEW)}, /* uart2_rtsn.uart3_txd */ - {I2C1_SDA, (PIN_INPUT_PULLUP | M0)}, /* I2C1_SDA */ - {I2C1_SCL, (PIN_INPUT_PULLUP | M0)}, /* I2C1_SCL */ -+ -+ /* BeagleBone AI: Debug UART */ -+ {UART1_RXD, (M0 | PIN_INPUT_SLEW)}, /* UART1_RXD */ -+ {UART1_TXD, (M0 | PIN_INPUT_SLEW)}, /* UART1_TXD */ -+ -+ /* Cape Bus i2c */ -+ {GPMC_A0, (M7 | PIN_INPUT_PULLUP)}, /* R6_GPIO7_3: gpmc_a0.i2c4_scl (Shared with F4_UART10_RTSN) */ -+ {GPMC_A1, (M7 | PIN_INPUT_PULLUP)}, /* T9_GPIO7_4: gpmc_a1.i2c4_sda (Shared with D2_UART10_CTSN) */ -+ /* Cape Bus i2c (gpio shared) */ -+ {VIN2A_D4, (M14 | PIN_INPUT_PULLUP)}, /* D2_UART10_CTSN: vin2a_d4.uart10_ctsn (Shared with T9_GPIO7_4) */ -+ {VIN2A_D5, (M14 | PIN_INPUT_PULLUP)}, /* F4_UART10_RTSN: vin2a_d5.uart10_rtsn (Shared with R6_GPIO7_3) */ - }; - - #ifdef CONFIG_IODELAY_RECALIBRATION -@@ -1199,6 +1476,119 @@ const struct iodelay_cfg_entry iodelay_cfg_array_x15_sr2_0[] = { - {0x0CEC, 2739, 0}, /* CFG_VOUT1_VSYNC_OUT */ - }; - -+const struct iodelay_cfg_entry iodelay_cfg_array_bbai[] = { -+ {0x0114, 2519, 702}, /* CFG_GPMC_A0_IN */ -+ {0x0120, 2435, 411}, /* CFG_GPMC_A10_IN */ -+ {0x012C, 2379, 755}, /* CFG_GPMC_A11_IN */ -+ {0x0198, 2384, 778}, /* CFG_GPMC_A1_IN */ -+ {0x0204, 2499, 1127}, /* CFG_GPMC_A2_IN */ -+ {0x0210, 2455, 1181}, /* CFG_GPMC_A3_IN */ -+ {0x021C, 2486, 1039}, /* CFG_GPMC_A4_IN */ -+ {0x0228, 2456, 938}, /* CFG_GPMC_A5_IN */ -+ {0x0234, 2463, 573}, /* CFG_GPMC_A6_IN */ -+ {0x0240, 2608, 783}, /* CFG_GPMC_A7_IN */ -+ {0x024C, 2430, 656}, /* CFG_GPMC_A8_IN */ -+ {0x0258, 2465, 850}, /* CFG_GPMC_A9_IN */ -+ {0x0264, 2316, 301}, /* CFG_GPMC_AD0_IN */ -+ {0x0270, 2324, 406}, /* CFG_GPMC_AD10_IN */ -+ {0x027C, 2278, 352}, /* CFG_GPMC_AD11_IN */ -+ {0x0288, 2297, 160}, /* CFG_GPMC_AD12_IN */ -+ {0x0294, 2278, 108}, /* CFG_GPMC_AD13_IN */ -+ {0x02A0, 2035, 0}, /* CFG_GPMC_AD14_IN */ -+ {0x02AC, 2279, 378}, /* CFG_GPMC_AD15_IN */ -+ {0x02B8, 2440, 70}, /* CFG_GPMC_AD1_IN */ -+ {0x02C4, 2404, 446}, /* CFG_GPMC_AD2_IN */ -+ {0x02D0, 2343, 212}, /* CFG_GPMC_AD3_IN */ -+ {0x02DC, 2355, 322}, /* CFG_GPMC_AD4_IN */ -+ {0x02E8, 2337, 192}, /* CFG_GPMC_AD5_IN */ -+ {0x02F4, 2270, 314}, /* CFG_GPMC_AD6_IN */ -+ {0x0300, 2339, 259}, /* CFG_GPMC_AD7_IN */ -+ {0x030C, 2308, 577}, /* CFG_GPMC_AD8_IN */ -+ {0x0318, 2334, 166}, /* CFG_GPMC_AD9_IN */ -+ {0x0378, 0, 0}, /* CFG_GPMC_CS3_IN */ -+ {0x0678, 0, 386}, /* CFG_MMC3_CLK_IN */ -+ {0x0680, 605, 0}, /* CFG_MMC3_CLK_OUT */ -+ {0x0684, 0, 0}, /* CFG_MMC3_CMD_IN */ -+ {0x0688, 0, 0}, /* CFG_MMC3_CMD_OEN */ -+ {0x068C, 0, 0}, /* CFG_MMC3_CMD_OUT */ -+ {0x0690, 171, 0}, /* CFG_MMC3_DAT0_IN */ -+ {0x0694, 0, 0}, /* CFG_MMC3_DAT0_OEN */ -+ {0x0698, 0, 0}, /* CFG_MMC3_DAT0_OUT */ -+ {0x069C, 221, 0}, /* CFG_MMC3_DAT1_IN */ -+ {0x06A0, 0, 0}, /* CFG_MMC3_DAT1_OEN */ -+ {0x06A4, 0, 0}, /* CFG_MMC3_DAT1_OUT */ -+ {0x06A8, 0, 0}, /* CFG_MMC3_DAT2_IN */ -+ {0x06AC, 0, 0}, /* CFG_MMC3_DAT2_OEN */ -+ {0x06B0, 0, 0}, /* CFG_MMC3_DAT2_OUT */ -+ {0x06B4, 474, 0}, /* CFG_MMC3_DAT3_IN */ -+ {0x06B8, 0, 0}, /* CFG_MMC3_DAT3_OEN */ -+ {0x06BC, 0, 0}, /* CFG_MMC3_DAT3_OUT */ -+ {0x06C0, 792, 0}, /* CFG_MMC3_DAT4_IN */ -+ {0x06C4, 0, 0}, /* CFG_MMC3_DAT4_OEN */ -+ {0x06C8, 0, 0}, /* CFG_MMC3_DAT4_OUT */ -+ {0x06CC, 782, 0}, /* CFG_MMC3_DAT5_IN */ -+ {0x06D0, 0, 0}, /* CFG_MMC3_DAT5_OEN */ -+ {0x06D4, 0, 0}, /* CFG_MMC3_DAT5_OUT */ -+ {0x06D8, 942, 0}, /* CFG_MMC3_DAT6_IN */ -+ {0x06DC, 0, 0}, /* CFG_MMC3_DAT6_OEN */ -+ {0x06E0, 0, 0}, /* CFG_MMC3_DAT6_OUT */ -+ {0x06E4, 636, 0}, /* CFG_MMC3_DAT7_IN */ -+ {0x06E8, 0, 0}, /* CFG_MMC3_DAT7_OEN */ -+ {0x06EC, 0, 0}, /* CFG_MMC3_DAT7_OUT */ -+ {0x06F0, 260, 0}, /* CFG_RGMII0_RXC_IN */ -+ {0x06FC, 0, 1412}, /* CFG_RGMII0_RXCTL_IN */ -+ {0x0708, 123, 1047}, /* CFG_RGMII0_RXD0_IN */ -+ {0x0714, 139, 1081}, /* CFG_RGMII0_RXD1_IN */ -+ {0x0720, 195, 1100}, /* CFG_RGMII0_RXD2_IN */ -+ {0x072C, 239, 1216}, /* CFG_RGMII0_RXD3_IN */ -+ {0x0740, 89, 0}, /* CFG_RGMII0_TXC_OUT */ -+ {0x074C, 15, 125}, /* CFG_RGMII0_TXCTL_OUT */ -+ {0x0758, 339, 162}, /* CFG_RGMII0_TXD0_OUT */ -+ {0x0764, 146, 94}, /* CFG_RGMII0_TXD1_OUT */ -+ {0x0770, 0, 27}, /* CFG_RGMII0_TXD2_OUT */ -+ {0x077C, 291, 205}, /* CFG_RGMII0_TXD3_OUT */ -+ {0x0A70, 0, 0}, /* CFG_VIN2A_D12_OUT */ -+ {0x0A7C, 219, 101}, /* CFG_VIN2A_D13_OUT */ -+ {0x0A88, 92, 58}, /* CFG_VIN2A_D14_OUT */ -+ {0x0A94, 135, 100}, /* CFG_VIN2A_D15_OUT */ -+ {0x0AA0, 154, 101}, /* CFG_VIN2A_D16_OUT */ -+ {0x0AAC, 78, 27}, /* CFG_VIN2A_D17_OUT */ -+ {0x0AB0, 411, 0}, /* CFG_VIN2A_D18_IN */ -+ {0x0ABC, 0, 382}, /* CFG_VIN2A_D19_IN */ -+ {0x0AD4, 320, 750}, /* CFG_VIN2A_D20_IN */ -+ {0x0AE0, 192, 836}, /* CFG_VIN2A_D21_IN */ -+ {0x0AEC, 294, 669}, /* CFG_VIN2A_D22_IN */ -+ {0x0AF8, 50, 700}, /* CFG_VIN2A_D23_IN */ -+ {0x0B9C, 0, 706}, /* CFG_VOUT1_CLK_OUT */ -+ {0x0BA8, 2313, 0}, /* CFG_VOUT1_D0_OUT */ -+ {0x0BB4, 2199, 0}, /* CFG_VOUT1_D10_OUT */ -+ {0x0BC0, 2266, 0}, /* CFG_VOUT1_D11_OUT */ -+ {0x0BCC, 3159, 0}, /* CFG_VOUT1_D12_OUT */ -+ {0x0BD8, 2100, 0}, /* CFG_VOUT1_D13_OUT */ -+ {0x0BE4, 2229, 0}, /* CFG_VOUT1_D14_OUT */ -+ {0x0BF0, 2202, 0}, /* CFG_VOUT1_D15_OUT */ -+ {0x0BFC, 2084, 0}, /* CFG_VOUT1_D16_OUT */ -+ {0x0C08, 2195, 0}, /* CFG_VOUT1_D17_OUT */ -+ {0x0C14, 2342, 0}, /* CFG_VOUT1_D18_OUT */ -+ {0x0C20, 2463, 0}, /* CFG_VOUT1_D19_OUT */ -+ {0x0C2C, 2439, 0}, /* CFG_VOUT1_D1_OUT */ -+ {0x0C38, 2304, 0}, /* CFG_VOUT1_D20_OUT */ -+ {0x0C44, 2103, 0}, /* CFG_VOUT1_D21_OUT */ -+ {0x0C50, 2145, 0}, /* CFG_VOUT1_D22_OUT */ -+ {0x0C5C, 1932, 0}, /* CFG_VOUT1_D23_OUT */ -+ {0x0C68, 2200, 0}, /* CFG_VOUT1_D2_OUT */ -+ {0x0C74, 2355, 0}, /* CFG_VOUT1_D3_OUT */ -+ {0x0C80, 3215, 0}, /* CFG_VOUT1_D4_OUT */ -+ {0x0C8C, 2314, 0}, /* CFG_VOUT1_D5_OUT */ -+ {0x0C98, 2238, 0}, /* CFG_VOUT1_D6_OUT */ -+ {0x0CA4, 2381, 0}, /* CFG_VOUT1_D7_OUT */ -+ {0x0CB0, 2138, 0}, /* CFG_VOUT1_D8_OUT */ -+ {0x0CBC, 2383, 0}, /* CFG_VOUT1_D9_OUT */ -+ {0x0CC8, 1984, 0}, /* CFG_VOUT1_DE_OUT */ -+ {0x0CE0, 1947, 0}, /* CFG_VOUT1_HSYNC_OUT */ -+ {0x0CEC, 2739, 0}, /* CFG_VOUT1_VSYNC_OUT */ -+}; -+ - const struct iodelay_cfg_entry iodelay_cfg_array_am574x_idk[] = { - {0x0114, 2199, 621}, /* CFG_GPMC_A0_IN */ - {0x0120, 0, 0}, /* CFG_GPMC_A10_IN */ -diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig -index 3e2c166e0d..b1e2960a9f 100644 ---- a/configs/am57xx_evm_defconfig -+++ b/configs/am57xx_evm_defconfig -@@ -27,14 +27,20 @@ CONFIG_SPL_DMA_SUPPORT=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_SPI_LOAD=y - CONFIG_SPL_YMODEM_SUPPORT=y -+CONFIG_AUTOBOOT_KEYED=y -+CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n" -+CONFIG_AUTOBOOT_DELAY_STR="d" -+CONFIG_AUTOBOOT_STOP_STR=" " - CONFIG_CMD_SPL=y - # CONFIG_CMD_FLASH is not set - # CONFIG_CMD_SETEXPR is not set - # CONFIG_CMD_PMIC is not set -+CONFIG_CMD_BTRFS=y - CONFIG_OF_CONTROL=y - CONFIG_SPL_OF_CONTROL=y --CONFIG_DEFAULT_DEVICE_TREE="am572x-idk" --CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk" -+CONFIG_DEFAULT_DEVICE_TREE="am5729-beagleboneai" -+CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am5729-beagleboneai am572x-idk am571x-idk am574x-idk" -+# CONFIG_ENV_IS_IN_FAT is not set - CONFIG_ENV_IS_IN_MMC=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y - CONFIG_DM=y -diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h -index 70aa425060..fcc6ac7f8f 100644 ---- a/include/configs/am57xx_evm.h -+++ b/include/configs/am57xx_evm.h -@@ -24,7 +24,7 @@ - #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) - #define CONFIG_SYS_REDUNDAND_ENVIRONMENT - --#define CONSOLEDEV "ttyO2" -+//#define CONSOLEDEV "ttyO2" - #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* Base EVM has UART0 */ - #define CONFIG_SYS_NS16550_COM2 UART2_BASE /* UART2 */ - #define CONFIG_SYS_NS16550_COM3 UART3_BASE /* UART3 */ -diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h -index 1e2a62dd6f..47f641165d 100644 ---- a/include/configs/ti_armv7_common.h -+++ b/include/configs/ti_armv7_common.h -@@ -80,6 +80,363 @@ - #define CONFIG_SYS_I2C - #endif - -+#define EEPROM_PROGRAMMING \ -+ "eeprom_dump=i2c dev 0; " \ -+ "i2c md 0x50 0x00.2 20; " \ -+ "\0" \ -+ "eeprom_blank=i2c dev 0; " \ -+ "i2c mw 0x50 0x00.2 ff; " \ -+ "i2c mw 0x50 0x01.2 ff; " \ -+ "i2c mw 0x50 0x02.2 ff; " \ -+ "i2c mw 0x50 0x03.2 ff; " \ -+ "i2c mw 0x50 0x04.2 ff; " \ -+ "i2c mw 0x50 0x05.2 ff; " \ -+ "i2c mw 0x50 0x06.2 ff; " \ -+ "i2c mw 0x50 0x07.2 ff; " \ -+ "i2c mw 0x50 0x08.2 ff; " \ -+ "i2c mw 0x50 0x09.2 ff; " \ -+ "i2c mw 0x50 0x0a.2 ff; " \ -+ "i2c mw 0x50 0x0b.2 ff; " \ -+ "i2c mw 0x50 0x0c.2 ff; " \ -+ "i2c mw 0x50 0x0d.2 ff; " \ -+ "i2c mw 0x50 0x0e.2 ff; " \ -+ "i2c mw 0x50 0x0f.2 ff; " \ -+ "i2c mw 0x50 0x10.2 ff; " \ -+ "i2c mw 0x50 0x11.2 ff; " \ -+ "i2c mw 0x50 0x12.2 ff; " \ -+ "i2c mw 0x50 0x13.2 ff; " \ -+ "i2c mw 0x50 0x14.2 ff; " \ -+ "i2c mw 0x50 0x15.2 ff; " \ -+ "i2c mw 0x50 0x16.2 ff; " \ -+ "i2c mw 0x50 0x17.2 ff; " \ -+ "i2c mw 0x50 0x18.2 ff; " \ -+ "i2c mw 0x50 0x19.2 ff; " \ -+ "i2c mw 0x50 0x1a.2 ff; " \ -+ "i2c mw 0x50 0x1b.2 ff; " \ -+ "i2c mw 0x50 0x1c.2 ff; " \ -+ "i2c mw 0x50 0x1d.2 ff; " \ -+ "i2c mw 0x50 0x1e.2 ff; " \ -+ "i2c mw 0x50 0x1f.2 ff; " \ -+ "i2c md 0x50 0x00.2 20; " \ -+ "\0" \ -+ "eeprom_x15_b1=i2c dev 0; " \ -+ "i2c mw 0x50 0x00.2 aa; " \ -+ "i2c mw 0x50 0x01.2 55; " \ -+ "i2c mw 0x50 0x02.2 33; " \ -+ "i2c mw 0x50 0x03.2 ee; " \ -+ "i2c mw 0x50 0x04.2 42; " \ -+ "i2c mw 0x50 0x05.2 42; " \ -+ "i2c mw 0x50 0x06.2 52; " \ -+ "i2c mw 0x50 0x07.2 44; " \ -+ "i2c mw 0x50 0x08.2 58; " \ -+ "i2c mw 0x50 0x09.2 31; " \ -+ "i2c mw 0x50 0x0a.2 35; " \ -+ "i2c mw 0x50 0x0b.2 5f; " \ -+ "i2c mw 0x50 0x0c.2 42; " \ -+ "i2c mw 0x50 0x0d.2 2e; " \ -+ "i2c mw 0x50 0x0e.2 31; " \ -+ "i2c mw 0x50 0x0f.2 30; " \ -+ "i2c mw 0x50 0x10.2 57; " \ -+ "i2c mw 0x50 0x11.2 57; " \ -+ "i2c mw 0x50 0x12.2 59; " \ -+ "i2c mw 0x50 0x13.2 59; " \ -+ "i2c mw 0x50 0x14.2 34; " \ -+ "i2c mw 0x50 0x15.2 50; " \ -+ "i2c mw 0x50 0x16.2 35; " \ -+ "i2c mw 0x50 0x17.2 35; " \ -+ "i2c mw 0x50 0x18.2 30; " \ -+ "i2c mw 0x50 0x19.2 30; " \ -+ "i2c mw 0x50 0x1a.2 30; " \ -+ "i2c mw 0x50 0x1b.2 30; " \ -+ "i2c mw 0x50 0x1c.2 ff; " \ -+ "i2c mw 0x50 0x1d.2 ff; " \ -+ "i2c mw 0x50 0x1e.2 ff; " \ -+ "i2c mw 0x50 0x1f.2 ff; " \ -+ "i2c md 0x50 0x00.2 20; " \ -+ "\0" \ -+ "eeprom_x15_c=i2c dev 0; " \ -+ "i2c mw 0x50 0x00.2 aa; " \ -+ "i2c mw 0x50 0x01.2 55; " \ -+ "i2c mw 0x50 0x02.2 33; " \ -+ "i2c mw 0x50 0x03.2 ee; " \ -+ "i2c mw 0x50 0x04.2 42; " \ -+ "i2c mw 0x50 0x05.2 42; " \ -+ "i2c mw 0x50 0x06.2 52; " \ -+ "i2c mw 0x50 0x07.2 44; " \ -+ "i2c mw 0x50 0x08.2 58; " \ -+ "i2c mw 0x50 0x09.2 31; " \ -+ "i2c mw 0x50 0x0a.2 35; " \ -+ "i2c mw 0x50 0x0b.2 5f; " \ -+ "i2c mw 0x50 0x0c.2 43; " \ -+ "i2c mw 0x50 0x0d.2 2e; " \ -+ "i2c mw 0x50 0x0e.2 30; " \ -+ "i2c mw 0x50 0x0f.2 30; " \ -+ "i2c mw 0x50 0x10.2 79; " \ -+ "i2c mw 0x50 0x11.2 79; " \ -+ "i2c mw 0x50 0x12.2 77; " \ -+ "i2c mw 0x50 0x13.2 77; " \ -+ "i2c mw 0x50 0x14.2 50; " \ -+ "i2c mw 0x50 0x15.2 58; " \ -+ "i2c mw 0x50 0x16.2 31; " \ -+ "i2c mw 0x50 0x17.2 35; " \ -+ "i2c mw 0x50 0x18.2 6e; " \ -+ "i2c mw 0x50 0x19.2 6e; " \ -+ "i2c mw 0x50 0x1a.2 6e; " \ -+ "i2c mw 0x50 0x1b.2 6e; " \ -+ "i2c mw 0x50 0x1c.2 ff; " \ -+ "i2c mw 0x50 0x1d.2 ff; " \ -+ "i2c mw 0x50 0x1e.2 ff; " \ -+ "i2c mw 0x50 0x1f.2 ff; " \ -+ "i2c md 0x50 0x00.2 20; " \ -+ "\0" \ -+ -+#define EEWIKI_MMC_BOOT \ -+ "mmc_boot=${devtype} dev ${mmcdev}; ${devtype} part; " \ -+ "if ${devtype} rescan; then " \ -+ "echo Scanning ${devtype} device ${mmcdev};" \ -+ "setenv bootpart ${mmcdev}:1; " \ -+ "echo Checking for: /uEnv.txt ...;" \ -+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /uEnv.txt;" \ -+ "echo Checking if uenvcmd is set ...;" \ -+ "if test -n ${uenvcmd}; then " \ -+ "echo Running uenvcmd ...;" \ -+ "run uenvcmd;" \ -+ "fi;" \ -+ "fi; " \ -+ "echo Checking for: /boot/uEnv.txt ...;" \ -+ "for i in 1 2 3 4 5 6 7 ; do " \ -+ "setenv mmcpart ${i};" \ -+ "setenv bootpart ${mmcdev}:${mmcpart};" \ -+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /boot/uEnv.txt;" \ -+ "if test -n ${dtb}; then " \ -+ "setenv fdtfile ${dtb};" \ -+ "echo debug: [dtb=${fdtfile}] ...;" \ -+ "fi;" \ -+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ -+ "if test -n ${uname_r}; then " \ -+ "echo debug: [uname_r=${uname_r}] ...;" \ -+ "setenv oldroot /dev/mmcblk${mmcdev}p${mmcpart};" \ -+ "run uname_boot;" \ -+ "fi;" \ -+ "fi;" \ -+ "done;" \ -+ "fi;\0" \ -+ -+#define EEWIKI_SCSI_BOOT \ -+ "scsi_boot=${devtype} reset ; " \ -+ "if ${devtype} dev ${mmcdev}; then " \ -+ "echo Scanning ${devtype} device ${mmcdev};" \ -+ "setenv bootpart ${mmcdev}:1; " \ -+ "echo Checking for: /uEnv.txt ...;" \ -+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /uEnv.txt;" \ -+ "echo Checking if uenvcmd is set ...;" \ -+ "if test -n ${uenvcmd}; then " \ -+ "echo Running uenvcmd ...;" \ -+ "run uenvcmd;" \ -+ "fi;" \ -+ "fi; " \ -+ "echo Checking for: /boot/uEnv.txt ...;" \ -+ "for i in 1 2 3 4 ; do " \ -+ "setenv mmcpart ${i};" \ -+ "setenv bootpart ${mmcdev}:${mmcpart};" \ -+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /boot/uEnv.txt;" \ -+ "if test -n ${dtb}; then " \ -+ "setenv fdtfile ${dtb};" \ -+ "echo debug: [dtb=${fdtfile}] ...;" \ -+ "fi;" \ -+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ -+ "if test -n ${uname_r}; then " \ -+ "echo debug: [uname_r=${uname_r}] ...;" \ -+ "setenv oldroot /dev/sda${mmcpart};" \ -+ "run uname_boot;" \ -+ "fi;" \ -+ "fi;" \ -+ "done;" \ -+ "fi;\0" \ -+ -+#define EEWIKI_USB_BOOT \ -+ "usb_boot=${devtype} reset ; " \ -+ "if ${devtype} dev ${mmcdev}; then " \ -+ "echo Scanning ${devtype} device ${mmcdev};" \ -+ "setenv bootpart ${mmcdev}:1; " \ -+ "echo Checking for: /uEnv.txt ...;" \ -+ "if test -e ${devtype} ${bootpart} /uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /uEnv.txt;" \ -+ "echo Checking if uenvcmd is set in /uEnv.txt ...;" \ -+ "if test -n ${uenvcmd}; then " \ -+ "echo Running uenvcmd ...;" \ -+ "run uenvcmd;" \ -+ "fi;" \ -+ "fi; " \ -+ "echo Checking for: /boot/uEnv.txt ...;" \ -+ "for i in 1 2 3 4 ; do " \ -+ "setenv mmcpart ${i};" \ -+ "setenv bootpart ${mmcdev}:${mmcpart};" \ -+ "if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from /boot/uEnv.txt;" \ -+ "if test -n ${dtb}; then " \ -+ "setenv fdtfile ${dtb};" \ -+ "echo debug: [dtb=${fdtfile}] ...;" \ -+ "fi;" \ -+ "echo Checking if uname_r is set in /boot/uEnv.txt ...;" \ -+ "if test -n ${uname_r}; then " \ -+ "echo debug: [uname_r=${uname_r}] ...;" \ -+ "setenv oldroot /dev/sda${mmcpart};" \ -+ "run uname_boot;" \ -+ "fi;" \ -+ "fi;" \ -+ "done;" \ -+ "fi;\0" \ -+ -+#define EEWIKI_UNAME_BOOT \ -+ "uname_boot="\ -+ "setenv bootdir /boot; " \ -+ "setenv bootfile vmlinuz-${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${bootdir}/${bootfile}; then " \ -+ "echo loading ${bootdir}/${bootfile} ...; "\ -+ "run loadimage;" \ -+ "setenv fdtdir /boot/dtbs/${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /boot/dtb-${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /boot/dtbs; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /boot/dtb; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "setenv fdtdir /boot; " \ -+ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then " \ -+ "run loadfdt;" \ -+ "else " \ -+ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\ -+ "run args_mmc;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr}] ... ;" \ -+ "bootz ${loadaddr}; " \ -+ "fi;" \ -+ "fi;" \ -+ "fi;" \ -+ "fi;" \ -+ "fi;" \ -+ "fi;" \ -+ "fi; " \ -+ "if test -n ${enable_uboot_overlays}; then " \ -+ "setenv fdt_buffer 0x60000;" \ -+ "if test -n ${uboot_fdt_buffer}; then " \ -+ "setenv fdt_buffer ${uboot_fdt_buffer};" \ -+ "fi;" \ -+ "echo uboot_overlays: [fdt_buffer=${fdt_buffer}] ... ;" \ -+ "if test -n ${uboot_overlay_addr0}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr0}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr1}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr1}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr2}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr2}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr3}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr3}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr4}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr4}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr5}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr5}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr6}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr6}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_addr7}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_addr7}; " \ -+ "run capeloadoverlay;" \ -+ "fi;" \ -+ "if test -n ${uboot_overlay_pru}; then " \ -+ "setenv uboot_overlay ${uboot_overlay_pru}; " \ -+ "run virtualloadoverlay;" \ -+ "fi;" \ -+ "else " \ -+ "echo uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable...;" \ -+ "fi;" \ -+ "setenv rdfile initrd.img-${uname_r}; " \ -+ "if test -e ${devtype} ${bootpart} ${bootdir}/${rdfile}; then " \ -+ "echo loading ${bootdir}/${rdfile} ...; "\ -+ "run loadrd;" \ -+ "if test -n ${netinstall_enable}; then " \ -+ "run args_netinstall; run message;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ -+ "fi;" \ -+ "if test -n ${uenv_root}; then " \ -+ "run args_uenv_root;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ -+ "fi;" \ -+ "if test -n ${uuid}; then " \ -+ "run args_mmc_uuid;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ -+ "else " \ -+ "run args_mmc_old;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ -+ "fi;" \ -+ "else " \ -+ "if test -n ${uenv_root}; then " \ -+ "run args_uenv_root;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} - ${fdtaddr}; " \ -+ "fi;" \ -+ "run args_mmc_old;" \ -+ "echo debug: [${bootargs}] ... ;" \ -+ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ -+ "bootz ${loadaddr} - ${fdtaddr}; " \ -+ "fi;" \ -+ "fi;\0" \ -+ - /* - * The following are general good-enough settings for U-Boot. We set a - * large malloc pool as we generally have a lot of DDR, and we opt for -diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h -index ba57c40182..93368cdc51 100644 ---- a/include/configs/ti_omap5_common.h -+++ b/include/configs/ti_omap5_common.h -@@ -63,6 +63,11 @@ - DEFAULT_FIT_TI_ARGS \ - DEFAULT_COMMON_BOOT_TI_ARGS \ - DEFAULT_FDT_TI_ARGS \ -+ EEWIKI_USB_BOOT \ -+ EEWIKI_SCSI_BOOT \ -+ EEWIKI_MMC_BOOT \ -+ EEWIKI_UNAME_BOOT \ -+ EEPROM_PROGRAMMING \ - DFUARGS \ - NETARGS \ - -diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h -index 05bdbbc23e..b0254b064a 100644 ---- a/include/environment/ti/boot.h -+++ b/include/environment/ti/boot.h -@@ -64,32 +64,18 @@ - "bootpart=0:2\0" \ - "bootdir=/boot\0" \ - "bootfile=zImage\0" \ -+ "board_eeprom_header=undefined\0" \ - "usbtty=cdc_acm\0" \ - "vram=16M\0" \ - AVB_VERIFY_CMD \ - "partitions=" PARTS_DEFAULT "\0" \ - "optargs=\0" \ - "dofastboot=0\0" \ -- "emmc_linux_boot=" \ -- "echo Trying to boot Linux from eMMC ...; " \ -- "setenv mmcdev 1; " \ -- "setenv bootpart 1:2; " \ -- "setenv mmcroot /dev/mmcblk0p2 rw; " \ -- "run mmcboot;\0" \ -- "emmc_android_boot=" \ -- "echo Trying to boot Android from eMMC ...; " \ -- "run update_to_fit; " \ -- "setenv eval_bootargs setenv bootargs $bootargs; " \ -- "run eval_bootargs; " \ -- "setenv mmcdev 1; " \ -- "setenv machid fe6; " \ -- "mmc dev $mmcdev; " \ -- "mmc rescan; " \ -- AVB_VERIFY_CHECK \ -- "part start mmc ${mmcdev} boot boot_start; " \ -- "part size mmc ${mmcdev} boot boot_size; " \ -- "mmc read ${loadaddr} ${boot_start} ${boot_size}; " \ -- "bootm ${loadaddr}#${fdtfile};\0 " -+ "read_board_eeprom="\ -+ "if test $board_eeprom_header = beagle_x15_revb1_blank; then " \ -+ "run eeprom_dump; run eeprom_x15_b1; reset; fi; " \ -+ "if test $board_eeprom_header = beagle_x15_revc_blank; then " \ -+ "run eeprom_dump; run eeprom_x15_c; reset; fi; \0 " - - #ifdef CONFIG_OMAP54XX - -@@ -127,20 +113,17 @@ - "echo WARNING: Could not determine device tree to use; fi; \0" - - #define CONFIG_BOOTCOMMAND \ -- "if test ${dofastboot} -eq 1; then " \ -- "echo Boot fastboot requested, resetting dofastboot ...;" \ -- "setenv dofastboot 0; saveenv;" \ -- "echo Booting into fastboot ...; " \ -- "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \ -- "fi;" \ -- "if test ${boot_fit} -eq 1; then " \ -- "run update_to_fit;" \ -- "fi;" \ -+ "run read_board_eeprom; " \ - "run findfdt; " \ -- "run envboot; " \ -- "run mmcboot;" \ -- "run emmc_linux_boot; " \ -- "run emmc_android_boot; " \ -+ "setenv mmcdev 0; " \ -+ "setenv devtype usb; " \ -+ "echo usb_boot is currently disabled;" \ -+ "setenv devtype scsi; " \ -+ "echo scsi_boot is currently disabled;" \ -+ "setenv devtype mmc; " \ -+ "run mmc_boot;" \ -+ "setenv mmcdev 1; " \ -+ "run mmc_boot;" \ - "" - - #endif /* CONFIG_OMAP54XX */ -diff --git a/include/environment/ti/mmc.h b/include/environment/ti/mmc.h -index 785fc15345..6481682fc7 100644 ---- a/include/environment/ti/mmc.h -+++ b/include/environment/ti/mmc.h -@@ -11,11 +11,33 @@ - #define DEFAULT_MMC_TI_ARGS \ - "mmcdev=0\0" \ - "mmcrootfstype=ext4 rootwait\0" \ -- "finduuid=part uuid mmc ${bootpart} uuid\0" \ -+ "finduuid=part uuid ${devtype} ${bootpart} uuid\0" \ - "args_mmc=run finduuid;setenv bootargs console=${console} " \ - "${optargs} " \ -- "root=PARTUUID=${uuid} rw " \ -- "rootfstype=${mmcrootfstype}\0" \ -+ "root=PARTUUID=${uuid} ro " \ -+ "rootfstype=${mmcrootfstype} " \ -+ "${cmdline}\0" \ -+ "args_mmc_old=setenv bootargs console=${console} " \ -+ "${optargs} " \ -+ "root=${oldroot} ro " \ -+ "rootfstype=${mmcrootfstype} " \ -+ "${cmdline}\0" \ -+ "args_mmc_uuid=setenv bootargs console=${console} " \ -+ "${optargs} " \ -+ "root=UUID=${uuid} ro " \ -+ "rootfstype=${mmcrootfstype} " \ -+ "${cmdline}\0" \ -+ "args_uenv_root=setenv bootargs console=${console} " \ -+ "${optargs} " \ -+ "root=${uenv_root} ro " \ -+ "rootfstype=${mmcrootfstype} " \ -+ "${musb} ${cmdline}\0" \ -+ "args_netinstall=setenv bootargs ${netinstall_bootargs} " \ -+ "${optargs} " \ -+ "${cape_disable} " \ -+ "${cape_enable} " \ -+ "root=/dev/ram rw " \ -+ "${cmdline}\0" \ - "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ - "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ - "source ${loadaddr}\0" \ -@@ -24,7 +46,22 @@ - "env import -t ${loadaddr} ${filesize}\0" \ - "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}\0" \ - "loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ -- "loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ -+ "loadrd=load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ -+ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ -+ "loadoverlay=echo uboot_overlays: loading ${uboot_overlay} ...; " \ -+ "load ${devtype} ${bootpart} ${rdaddr} ${uboot_overlay}; " \ -+ "fdt addr ${fdtaddr}; fdt resize ${fdt_buffer}; " \ -+ "fdt apply ${rdaddr}; fdt resize ${fdt_buffer};\0" \ -+ "virtualloadoverlay=if test -e ${devtype} ${bootpart} ${uboot_overlay}; then " \ -+ "run loadoverlay;" \ -+ "else " \ -+ "echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]...;" \ -+ "fi;\0" \ -+ "capeloadoverlay=if test -e ${devtype} ${bootpart} ${uboot_overlay}; then " \ -+ "run loadoverlay;" \ -+ "else " \ -+ "echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}]...;" \ -+ "fi;\0" \ - "envboot=mmc dev ${mmcdev}; " \ - "if mmc rescan; then " \ - "echo SD/MMC found on device ${mmcdev};" \ --- -2.17.1 - diff --git a/board/broadcom/northstar/post-image.sh b/board/broadcom/northstar/post-image.sh index b6150fc539..559ed8bf4b 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/firefly/roc-rk3399-pc/extlinux.conf b/board/firefly/roc-rk3399-pc/extlinux.conf new file mode 100644 index 0000000000..50a358fadc --- /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/friendlyarm/nanopi-neo4/genimage.cfg b/board/firefly/roc-rk3399-pc/genimage.cfg similarity index 100% rename from board/friendlyarm/nanopi-neo4/genimage.cfg rename to board/firefly/roc-rk3399-pc/genimage.cfg 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 0000000000..d84a5da0b0 --- /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/friendlyarm/nanopi-m4/readme.txt b/board/firefly/roc-rk3399-pc/readme.txt similarity index 64% rename from board/friendlyarm/nanopi-m4/readme.txt rename to board/firefly/roc-rk3399-pc/readme.txt index 0553bf8377..8a6f1cdee6 100644 --- a/board/friendlyarm/nanopi-m4/readme.txt +++ b/board/firefly/roc-rk3399-pc/readme.txt @@ -1,9 +1,9 @@ -FriendlyARM NANOPI-M4 -===================== +Libre Computer Board ROC-RK3399-PC +=================================== Build: - $ make friendlyarm_nanopi_m4_defconfig + $ make roc_pc_rk3399_defconfig $ make Files created in output directory @@ -12,11 +12,9 @@ Files created in output directory output/images ├── bl31.elf -├── boot.vfat -├── extlinux ├── idbloader.img ├── Image -├── rk3399-nanopi-m4.dtb +├── rk3399-roc-pc.dtb ├── rootfs.ext2 ├── rootfs.ext4 -> rootfs.ext2 ├── rootfs.tar @@ -38,8 +36,5 @@ Serial console Baudrate for this board is 1500000 -Login: ------- -Enter 'root' as login user, and the prompt is ready. - -https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/nanopi_m4.html +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 0000000000..df7ddc25b7 --- /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 ace0f6d610..a9ee154e9c 100755 --- a/board/freescale/common/imx/imx8-bootloader-prepare.sh +++ b/board/freescale/common/imx/imx8-bootloader-prepare.sh @@ -63,6 +63,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 +73,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 0000000000..8ab5a241b0 --- /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 d36f82917e..a440bfb75c 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 + 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_IMX8MM=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_IMX8MN=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_IMX8MP=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_IMX8X=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_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_IMX8DXL=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + 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/imx6ullevk/linux_sdma.fragment b/board/freescale/imx6ullevk/linux_sdma.fragment new file mode 100644 index 0000000000..6f1c8b4313 --- /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 0000000000..33ceb66931 --- /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 0000000000..b4683be9ef --- /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 0000000000..98f425a89e --- /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 0000000000..5808d92afe --- /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 0000000000..715a590825 --- /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 0000000000..9bc17c3f6f --- /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 0000000000..1173de39db --- /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/friendlyarm/nanopi-a64/genimage.cfg b/board/freescale/imxrt1050evk/genimage.cfg similarity index 58% rename from board/friendlyarm/nanopi-a64/genimage.cfg rename to board/freescale/imxrt1050evk/genimage.cfg index 66b6c5f461..64fc8452f8 100644 --- a/board/friendlyarm/nanopi-a64/genimage.cfg +++ b/board/freescale/imxrt1050evk/genimage.cfg @@ -1,33 +1,34 @@ image boot.vfat { vfat { files = { - "Image", - "sun50i-a64-nanopi-a64.dtb", - "boot.scr" + "zImage", + "imxrt1050-evk.dtb", } } - size = 64M + + size = 8M } image sdcard.img { hdimage { } - partition spl { + partition SPL { in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 + image = "SPL" + offset = 1K + size = 127K } partition u-boot { in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K + image = "u-boot.img" + offset = 128K + size = 512K } partition boot { - partition-type = 0xC + partition-type = 0xc bootable = "true" image = "boot.vfat" } diff --git a/board/freescale/imxrt1050evk/readme.txt b/board/freescale/imxrt1050evk/readme.txt new file mode 100644 index 0000000000..1fc4edd88b --- /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 0000000000..dd45ca4c29 --- /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 0000000000..63cca042b2 --- /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 0000000000..fbcfdb1b85 --- /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 0000000000..536d62b6c5 --- /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/friendlyarm/nanopc-t4/extlinux.conf b/board/friendlyarm/nanopc-t4/extlinux.conf deleted file mode 100644 index 31c6b30d32..0000000000 --- a/board/friendlyarm/nanopc-t4/extlinux.conf +++ /dev/null @@ -1,4 +0,0 @@ -label RK3399_NanoPC_T4 linux - kernel /Image - devicetree /rk3399-nanopc-t4.dtb - append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rootwait diff --git a/board/friendlyarm/nanopc-t4/genimage.cfg b/board/friendlyarm/nanopc-t4/genimage.cfg deleted file mode 100644 index b3202f75d4..0000000000 --- a/board/friendlyarm/nanopc-t4/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "rk3399-nanopc-t4.dtb", - "extlinux" - } - } - size = 64M -} - -image sdcard.img { - - hdimage { - gpt = true - } - - partition loader1 { - image = "idbloader.img" - offset = 32K - } - - partition loader2 { - image = "u-boot.itb" - offset = 8M - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 16M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/friendlyarm/nanopc-t4/post-build.sh b/board/friendlyarm/nanopc-t4/post-build.sh deleted file mode 100755 index ba29375c05..0000000000 --- a/board/friendlyarm/nanopc-t4/post-build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/friendlyarm/nanopc-t4/readme.txt b/board/friendlyarm/nanopc-t4/readme.txt deleted file mode 100644 index 0989c6cc1e..0000000000 --- a/board/friendlyarm/nanopc-t4/readme.txt +++ /dev/null @@ -1,45 +0,0 @@ -FriendlyARM NANOPC-T4 -===================== - -Build: - - $ make friendlyarm_nanopc_t4_defconfig - $ make - -Files created in output directory -================================= - -output/images - -├── bl31.elf -├── boot.vfat -├── extlinux -├── idbloader.img -├── Image -├── rk3399-nanopc-t4.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 - -Login: ------- -Apply power and press the PWR button for 3 sec. Enter 'root' as login user, and the prompt is ready. - -https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/npc_t4.html diff --git a/board/friendlyarm/nanopi-a64/boot.cmd b/board/friendlyarm/nanopi-a64/boot.cmd deleted file mode 100644 index 446bd85672..0000000000 --- a/board/friendlyarm/nanopi-a64/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-a64-nanopi-a64.dtb - -booti $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-a64/readme.txt b/board/friendlyarm/nanopi-a64/readme.txt deleted file mode 100644 index 88c4e661cb..0000000000 --- a/board/friendlyarm/nanopi-a64/readme.txt +++ /dev/null @@ -1,37 +0,0 @@ -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the Nanopi A64. With the current configuration -it will bring-up the board, and allow access through the serial console. - -Nanopi A64 link: -http://nanopi.io/nanopi-a64.html - -Wiki link: -https://openedev.amarulasolutions.com/display/ODWIKI/FriendlyARM+Nanopi+A64 - -This configuration uses U-Boot mainline and kernel mainline. - -How to build -============ - - $ make friendlyarm_nanopi_a64_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 Nanopi A64 and power it up. The console -is on the serial line, 115200 8N1. diff --git a/board/friendlyarm/nanopi-m1-plus/boot.cmd b/board/friendlyarm/nanopi-m1-plus/boot.cmd deleted file mode 100644 index 35a1d65d3d..0000000000 --- a/board/friendlyarm/nanopi-m1-plus/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -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 sun8i-h3-nanopi-m1-plus.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-m1-plus/genimage.cfg b/board/friendlyarm/nanopi-m1-plus/genimage.cfg deleted file mode 100644 index fdb3b90673..0000000000 --- a/board/friendlyarm/nanopi-m1-plus/genimage.cfg +++ /dev/null @@ -1,35 +0,0 @@ -# Minimal SD card image for the NanoPi M1 Plus -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-nanopi-m1-plus.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/friendlyarm/nanopi-m1-plus/readme.txt b/board/friendlyarm/nanopi-m1-plus/readme.txt deleted file mode 100644 index 0327dec80e..0000000000 --- a/board/friendlyarm/nanopi-m1-plus/readme.txt +++ /dev/null @@ -1,29 +0,0 @@ -NanoPi M1 Plus - -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the NanoPi M1 Plus. With the current configuration -it will bring-up the board, and allow access through the serial console. - -How to build it -=============== - -Configure Buildroot: - - $ make friendlyarm_nanopi_m1_plus_defconfig - -Compile everything and build the SD card 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/friendlyarm/nanopi-m1/boot.cmd b/board/friendlyarm/nanopi-m1/boot.cmd deleted file mode 100644 index b4d612ede7..0000000000 --- a/board/friendlyarm/nanopi-m1/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -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 sun8i-h3-nanopi-m1.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-m1/readme.txt b/board/friendlyarm/nanopi-m1/readme.txt deleted file mode 100644 index 6a34c4239d..0000000000 --- a/board/friendlyarm/nanopi-m1/readme.txt +++ /dev/null @@ -1,29 +0,0 @@ -NanoPi M1 - -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the NanoPi M1. With the current configuration -it will bring-up the board, and allow access through the serial console. - -How to build it -=============== - -Configure Buildroot: - - $ make friendlyarm_nanopi_m1_defconfig - -Compile everything and build the SD card 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/friendlyarm/nanopi-m4/extlinux.conf b/board/friendlyarm/nanopi-m4/extlinux.conf deleted file mode 100644 index fb24f09eb1..0000000000 --- a/board/friendlyarm/nanopi-m4/extlinux.conf +++ /dev/null @@ -1,4 +0,0 @@ -label RK3399_NANOPI_M4 linux - kernel /Image - devicetree /rk3399-nanopi-m4.dtb - append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rw rootwait diff --git a/board/friendlyarm/nanopi-m4/genimage.cfg b/board/friendlyarm/nanopi-m4/genimage.cfg deleted file mode 100644 index f14d493a9b..0000000000 --- a/board/friendlyarm/nanopi-m4/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "rk3399-nanopi-m4.dtb", - "extlinux" - } - } - size = 64M -} - -image sdcard.img { - - hdimage { - gpt = true - } - - partition loader1 { - image = "idbloader.img" - offset = 32K - } - - partition loader2 { - image = "u-boot.itb" - offset = 8M - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 16M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/friendlyarm/nanopi-m4/post-build.sh b/board/friendlyarm/nanopi-m4/post-build.sh deleted file mode 100755 index ba29375c05..0000000000 --- a/board/friendlyarm/nanopi-m4/post-build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/friendlyarm/nanopi-neo-plus2/extlinux.conf b/board/friendlyarm/nanopi-neo-plus2/extlinux.conf deleted file mode 100644 index fcb6f632c1..0000000000 --- a/board/friendlyarm/nanopi-neo-plus2/extlinux.conf +++ /dev/null @@ -1,4 +0,0 @@ -label linux - kernel /Image - devicetree /sun50i-h5-nanopi-neo-plus2.dtb - append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait diff --git a/board/friendlyarm/nanopi-neo-plus2/genimage.cfg b/board/friendlyarm/nanopi-neo-plus2/genimage.cfg deleted file mode 100644 index fb871abd43..0000000000 --- a/board/friendlyarm/nanopi-neo-plus2/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-h5-nanopi-neo-plus2.dtb", - "extlinux" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/friendlyarm/nanopi-neo-plus2/linux-extras.config b/board/friendlyarm/nanopi-neo-plus2/linux-extras.config deleted file mode 100644 index 52b4b4b29e..0000000000 --- a/board/friendlyarm/nanopi-neo-plus2/linux-extras.config +++ /dev/null @@ -1,10 +0,0 @@ -# wireless core -CONFIG_WIRELESS=y -CONFIG_CFG80211=y -CONFIG_MAC80211=y -CONFIG_CFG80211_WEXT=y - -# wireless drivers -CONFIG_WLAN=y -CONFIG_WLAN_VENDOR_BROADCOM=y -CONFIG_BRCMFMAC=m diff --git a/board/friendlyarm/nanopi-neo-plus2/post-build.sh b/board/friendlyarm/nanopi-neo-plus2/post-build.sh deleted file mode 100755 index ec20fca7d9..0000000000 --- a/board/friendlyarm/nanopi-neo-plus2/post-build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/friendlyarm/nanopi-neo-plus2/readme.txt b/board/friendlyarm/nanopi-neo-plus2/readme.txt deleted file mode 100644 index ae59952029..0000000000 --- a/board/friendlyarm/nanopi-neo-plus2/readme.txt +++ /dev/null @@ -1,37 +0,0 @@ -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the Nanopi NEO Plus2. With the current configuration -it will bring-up the board, and allow access through the serial console. - -Nanopi NEO2 link: -http://nanopi.io/nanopi-neo-plus2.html - -Wiki link: -http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO_Plus2 - -This configuration uses U-Boot mainline and kernel mainline. - -How to build -============ - - $ make friendlyarm_nanopi_neo_plus2_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 Nanopi NEO Plus2 and power it up. The console -is on the serial line, 115200 8N1. diff --git a/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-plus2.txt b/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-plus2.txt deleted file mode 100644 index 740d172eb5..0000000000 --- a/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-plus2.txt +++ /dev/null @@ -1,53 +0,0 @@ -#AP6212_NVRAM_V1.0.1_20160606 -# 2.4 GHz, 20 MHz BW mode -# The following parameter values are just placeholders, need to be updated. -manfid=0x2d0 -prodid=0x0726 -vendid=0x14e4 -devid=0x43e2 -boardtype=0x0726 -boardrev=0x1101 -boardnum=22 -macaddr=00:90:4c:c5:12:38 -sromrev=11 -boardflags=0x00404201 -xtalfreq=26000 -nocrc=1 -ag0=255 -aa2g=1 -ccode=ALL - -pa0itssit=0x20 -extpagain2g=0 - -#PA parameters for 2.4GHz, measured at CHIP OUTPUT -pa2ga0=-168,7161,-820 -AvVmid_c0=0x0,0xc8 -cckpwroffset0=5 - -# PPR params -maxp2ga0=90 -txpwrbckof=6 -cckbw202gpo=0x5555 -legofdmbw202gpo=0x77777777 -mcsbw202gpo=0xaaaaaaaa - -# OFDM IIR : -ofdmdigfilttype=7 -# PAPD mode: -papdmode=2 - -il0macaddr=00:90:4c:c5:12:38 -wl0id=0x431b - -#OOB parameters -hostwake=0x40 -hostrdy=0x41 -usbrdy=0x03 -usbrdydelay=100 -deadman_to=0xffffffff -# muxenab: 0x1 for UART enable, 0x10 for Host awake -muxenab=0x10 -# CLDO PWM voltage settings - 0x4 - 1.1 volt -#cldo_pwm=0x4 -glitch_based_crsmin=1 diff --git a/board/friendlyarm/nanopi-neo/readme.txt b/board/friendlyarm/nanopi-neo/readme.txt deleted file mode 100644 index 84fb9cc484..0000000000 --- a/board/friendlyarm/nanopi-neo/readme.txt +++ /dev/null @@ -1,42 +0,0 @@ -Intro -===== - -The instructions herein are valid for the FriendlyARM NanoPi NEO, -both the 256MiB and 512MiB versions. They should also work for the -NanoPi NEO Air, but this is untested so far. - -The FriendlyARM Nanopi NEO is a 4x4cm² board with an Allwiner H3 SoC: - - quad-core Cortex-A7 @1.2GHz - - 256 or 512MiB of DDR - - uSDCard as only storage option - - 3x USB 2.0 host (one socket, two on expansion pin-holes) - - 1x USB 2.0 OTG (also used as power source) - - 10/100 ethernet MAC - - GPIOs, SPI, I2c... - -Support for the Nanopi NEO in U-Boot and Linux is very recent, so only -core, basic features are available. - -Unfortunately, support for the ethernet MAC and the USB OTG are not -yet upstream, but are being actively worked on. - - -How to build -============ - - $ make friendlyarm_nanopi_neo_defconfig - $ make - -Note: you will need access to the internet to download the required -sources. - -You will then obtain an image ready to be written to your micro SDcard: - - $ dd if=output/images/sdcard.img of=/dev/sdX bs=1M - -Notes: - - replace 'sdX' with the actual device with your micro SDcard, - - you may need to be root to do that (use 'sudo'). - -Insert the micro SDcard in your NanoPi NEO and power it up. The console -is on the serial line, 115200 8N1. diff --git a/board/friendlyarm/nanopi-neo2/boot.cmd b/board/friendlyarm/nanopi-neo2/boot.cmd deleted file mode 100644 index 9a39f4afc9..0000000000 --- a/board/friendlyarm/nanopi-neo2/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-nanopi-neo2.dtb - -booti $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-neo2/genimage.cfg b/board/friendlyarm/nanopi-neo2/genimage.cfg deleted file mode 100644 index ebe123b758..0000000000 --- a/board/friendlyarm/nanopi-neo2/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-h5-nanopi-neo2.dtb", - "boot.scr" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/friendlyarm/nanopi-neo2/readme.txt b/board/friendlyarm/nanopi-neo2/readme.txt deleted file mode 100644 index 0f445e2bea..0000000000 --- a/board/friendlyarm/nanopi-neo2/readme.txt +++ /dev/null @@ -1,37 +0,0 @@ -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the Nanopi NEO2. With the current configuration -it will bring-up the board, and allow access through the serial console. - -Nanopi NEO2 link: -http://nanopi.io/nanopi-neo2.html - -Wiki link: -https://openedev.amarulasolutions.com/display/ODWIKI/FriendlyARM+NanoPi+NEO2 - -This configuration uses U-Boot mainline and kernel mainline. - -How to build -============ - - $ make friendlyarm_nanopi_neo2_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 Nanopi NEO2 and power it up. The console -is on the serial line, 115200 8N1. diff --git a/board/friendlyarm/nanopi-neo4/extlinux.conf b/board/friendlyarm/nanopi-neo4/extlinux.conf deleted file mode 100644 index 91eef67fb9..0000000000 --- a/board/friendlyarm/nanopi-neo4/extlinux.conf +++ /dev/null @@ -1,4 +0,0 @@ -label NanoPi Neo4 linux - kernel /boot/Image - devicetree /boot/rk3399-nanopi-neo4.dtb - append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p1 rootwait diff --git a/board/friendlyarm/nanopi-neo4/post-build.sh b/board/friendlyarm/nanopi-neo4/post-build.sh deleted file mode 100755 index 1f5ff6a611..0000000000 --- a/board/friendlyarm/nanopi-neo4/post-build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/friendlyarm/nanopi-neo4/readme.txt b/board/friendlyarm/nanopi-neo4/readme.txt deleted file mode 100644 index 7c04a52806..0000000000 --- a/board/friendlyarm/nanopi-neo4/readme.txt +++ /dev/null @@ -1,53 +0,0 @@ -Intro -===== - -NanoPi Neo4 is a RK3399 SoC based ARM64 board. - - -Official wiki: http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4 -Mainline wiki: https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/neo4.html - -Build -===== - -Run NanoPi Neo4 configuration - - $ make friendlyarm_nanopi_neo4_defconfig - -To build, run make comamnd. - - $ make - -Files created in output directory -================================= - -output/images - -├── bl31.bin -├── bl31.elf -├── Image -├── rk3399-nanopi-neo4.dtb -├── rootfs.ext2 -├── rootfs.ext4 -> rootfs.ext2 -├── rootfs.tar -├── sdcard.img -├── u-boot.bin -├── u-boot.itb -├── u-boot-spl-dtb.bin -├── u-boot-tpl-dtb.bin -├── u-boot-tpl-dtb.img -└── u-boot-tpl-spl-dtb.img - -Creating bootable SD card: -========================= - -Simply invoke (as root) - - # 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 diff --git a/board/friendlyarm/nanopi-r1/boot.cmd b/board/friendlyarm/nanopi-r1/boot.cmd deleted file mode 100644 index 9f0cdbfe51..0000000000 --- a/board/friendlyarm/nanopi-r1/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -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 sun8i-h3-nanopi-r1.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-r1/genimage.cfg b/board/friendlyarm/nanopi-r1/genimage.cfg deleted file mode 100644 index 6f5f35dcd5..0000000000 --- a/board/friendlyarm/nanopi-r1/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the NanoPi M1 -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-nanopi-r1.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/friendlyarm/nanopi-r1/kernel/linux-extras.config b/board/friendlyarm/nanopi-r1/kernel/linux-extras.config deleted file mode 100644 index 206b3810a7..0000000000 --- a/board/friendlyarm/nanopi-r1/kernel/linux-extras.config +++ /dev/null @@ -1,2 +0,0 @@ -# USB ethernet -CONFIG_USB_RTL8152=y diff --git a/board/friendlyarm/nanopi-r1/kernel/sun8i-h3-nanopi-r1.dts b/board/friendlyarm/nanopi-r1/kernel/sun8i-h3-nanopi-r1.dts deleted file mode 100644 index ca15a57bee..0000000000 --- a/board/friendlyarm/nanopi-r1/kernel/sun8i-h3-nanopi-r1.dts +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (C) 2019 Igor Pecovnik - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - * a) This file 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 file 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. - * - * Or, alternatively, - * - * b) Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - -#include "sun8i-h3-nanopi.dtsi" - -/ { - model = "FriendlyElec NanoPi-R1"; - compatible = "friendlyarm,nanopi-r1", "allwinner,sun8i-h3"; - - aliases { - serial1 = &uart3; - ethernet0 = &emac; - ethernet1 = &emac; - ethernet2 = &sdio_wifi; - }; - - wifi_pwrseq: wifi_pwrseq { - compatible = "mmc-pwrseq-simple"; - pinctrl-names = "default"; - reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ - }; - - reg_gmac_3v3: gmac-3v3 { - compatible = "regulator-fixed"; - regulator-name = "gmac-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - startup-delay-us = <100000>; - enable-active-high; - gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; - }; - - leds { - /delete-node/ status; - /delete-node/ pwr; - led1 { - label = "LED1"; - gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "heartbeat"; - }; - - led2 { - label = "LED2"; - gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; - default-state = "off"; - linux,default-trigger = "netdev"; - }; - - led3 { - label = "LED3"; - gpios = <&pio 0 9 GPIO_ACTIVE_HIGH>; - default-state = "off"; - linux,default-trigger = "netdev"; - }; - }; - - r_gpio_keys { - compatible = "gpio-keys"; - input-name = "k1"; - pinctrl-names = "default"; - pinctrl-0 = <&sw_r_npi>; - - /delete-node/ k1; - reset { - label = "reset"; - linux,code = ; - gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; - }; - }; -}; - -&emac { - pinctrl-names = "default"; - pinctrl-0 = <&emac_rgmii_pins>; - phy-supply = <®_gmac_3v3>; - phy-handle = <&ext_rgmii_phy>; - phy-mode = "rgmii"; - - status = "okay"; -}; - -&external_mdio { - ext_rgmii_phy: ethernet-phy@1 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <7>; - }; -}; - -&mmc1 { - vmmc-supply = <®_vcc3v3>; - vqmmc-supply = <®_vcc3v3>; - mmc-pwrseq = <&wifi_pwrseq>; - bus-width = <4>; - non-removable; - status = "okay"; - - sdio_wifi: sdio_wifi@1 { - reg = <1>; - compatible = "brcm,bcm4329-fmac"; - interrupt-parent = <&pio>; - interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */ - interrupt-names = "host-wake"; - }; -}; - -&mmc2 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc2_8bit_pins>; - vmmc-supply = <®_vcc3v3>; - vqmmc-supply = <®_vcc3v3>; - bus-width = <8>; - non-removable; - status = "okay"; -}; - -&ohci0 { - status = "okay"; -}; - -&ohci1 { - status = "okay"; -}; - -&usb_otg { - dr_mode = "peripheral"; - status = "okay"; -}; - -&usbphy { - status = "okay"; -}; diff --git a/board/friendlyarm/nanopi-r1/uboot/nanopi_r1_defconfig b/board/friendlyarm/nanopi-r1/uboot/nanopi_r1_defconfig deleted file mode 100644 index e028b41a46..0000000000 --- a/board/friendlyarm/nanopi-r1/uboot/nanopi_r1_defconfig +++ /dev/null @@ -1,22 +0,0 @@ -CONFIG_ARM=y -CONFIG_ARCH_SUNXI=y -CONFIG_SPL=y -CONFIG_MACH_SUN8I_H3=y -CONFIG_DRAM_CLK=408 -CONFIG_DRAM_ZQ=3881979 -CONFIG_DRAM_ODT_EN=y -CONFIG_MACPWR="PD6" -# CONFIG_VIDEO_DE2 is not set -CONFIG_NR_DRAM_BANKS=1 -# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -CONFIG_CONSOLE_MUX=y -CONFIG_SYS_CLK_FREQ=480000000 -# CONFIG_CMD_FLASH is not set -# CONFIG_SPL_DOS_PARTITION is not set -# CONFIG_SPL_EFI_PARTITION is not set -CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-r1" -CONFIG_SUN8I_EMAC=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_OHCI_HCD=y -CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y -CONFIG_MMC_SUNXI_SLOT_EXTRA=2 diff --git a/board/friendlyarm/nanopi-r1/uboot/sun8i-h3-nanopi-r1.dts b/board/friendlyarm/nanopi-r1/uboot/sun8i-h3-nanopi-r1.dts deleted file mode 100644 index 9c3c574e0f..0000000000 --- a/board/friendlyarm/nanopi-r1/uboot/sun8i-h3-nanopi-r1.dts +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2019 Igor Pecovnik - * - * This file is dual-licensed: you can use it either under the terms - * of the GPL or the X11 license, at your option. Note that this dual - * licensing only applies to this file, and not this project as a - * whole. - * - * a) This file 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 file 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. - * - * Or, alternatively, - * - * b) Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - -#include "sun8i-h3-nanopi.dtsi" - -/ { - model = "FriendlyARM NanoPi R1"; - compatible = "friendlyarm,nanopi-neo", "allwinner,sun8i-h3"; - - reg_gmac_3v3: gmac-3v3 { - compatible = "regulator-fixed"; - pinctrl-names = "default"; - regulator-name = "gmac-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - startup-delay-us = <100000>; - enable-active-high; - gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; - }; - -}; - -&ehci0 { - status = "okay"; -}; - -&pio { - gmac_power_pin_nanopi: gmac_power_pin@0 { - pins = "PD6"; - function = "gpio_out"; - }; -}; - -&ohci0 { - status = "okay"; -}; - -&mmc2 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc2_8bit_pins>; - vmmc-supply = <®_vcc3v3>; - bus-width = <8>; - non-removable; - cap-mmc-hw-reset; - status = "okay"; -}; - -&emac { - pinctrl-names = "default"; - pinctrl-0 = <&emac_rgmii_pins>; - phy-supply = <®_gmac_3v3>; - phy-handle = <&ext_rgmii_phy>; - phy-mode = "rgmii"; - - status = "okay"; -}; - -&external_mdio { - ext_rgmii_phy: ethernet-phy@1 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <7>; - }; -}; diff --git a/board/friendlyarm/nanopi-neo/boot.cmd b/board/in-circuit/icnova-a20-adb4006/boot.cmd similarity index 74% rename from board/friendlyarm/nanopi-neo/boot.cmd rename to board/in-circuit/icnova-a20-adb4006/boot.cmd index 7874057859..93d32a5e5f 100644 --- a/board/friendlyarm/nanopi-neo/boot.cmd +++ b/board/in-circuit/icnova-a20-adb4006/boot.cmd @@ -1,8 +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 sun8i-h3-nanopi-neo.dtb - +fatload mmc 0 $fdt_addr_r sun7i-a20-icnova-a20-adb4006.dtb bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-m1/genimage.cfg b/board/in-circuit/icnova-a20-adb4006/genimage.cfg similarity index 67% rename from board/friendlyarm/nanopi-m1/genimage.cfg rename to board/in-circuit/icnova-a20-adb4006/genimage.cfg index 23c9c7dca2..4975d679be 100644 --- a/board/friendlyarm/nanopi-m1/genimage.cfg +++ b/board/in-circuit/icnova-a20-adb4006/genimage.cfg @@ -1,13 +1,15 @@ -# Minimal SD card image for the NanoPi M1 -# +# Minimal SD card image for the ICnova A20 SomPi on ADB4006 +# Based in the Cubieboard2 genimage.cfg + image boot.vfat { vfat { files = { "zImage", - "sun8i-h3-nanopi-m1.dtb", + "sun7i-a20-icnova-a20-adb4006.dtb", "boot.scr" } } + size = 10M } @@ -18,8 +20,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 1016K # 1MB - 8KB } partition boot { 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 0000000000..1c99df12e6 --- /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 e7aa9cf232..c658afb88e 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 0000000000..2b1544a5cc --- /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/orangepi/orangepi-rk3399/genimage.cfg b/board/khadas/vim3/genimage.cfg similarity index 50% rename from board/orangepi/orangepi-rk3399/genimage.cfg rename to board/khadas/vim3/genimage.cfg index 21272c28f6..79d7f9ca07 100644 --- a/board/orangepi/orangepi-rk3399/genimage.cfg +++ b/board/khadas/vim3/genimage.cfg @@ -2,38 +2,32 @@ image boot.vfat { vfat { files = { "Image", - "rk3399-orangepi.dtb", + "meson-g12b-a311d-khadas-vim3.dtb", "extlinux" } + + label = "boot" } + size = 64M } image sdcard.img { - hdimage { - gpt = true - } - - partition loader1 { - image = "idbloader.img" - offset = 32K - } - - partition loader2 { - image = "u-boot.itb" - offset = 8M } partition boot { partition-type = 0xC bootable = "true" - image = "boot.vfat" - offset = 16M + image="boot.vfat" + size = 64M + offset = 2M } partition rootfs { partition-type = 0x83 - image = "rootfs.ext4" + 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 0000000000..8dae08a47c --- /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 0000000000..db38421494 --- /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 0000000000..cc9b513644 --- /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/kontron/pitx-imx8m/boot.cmd b/board/kontron/pitx-imx8m/boot.cmd deleted file mode 100644 index 4d89235392..0000000000 --- a/board/kontron/pitx-imx8m/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -echo "Root File Sytem on MMC${devnum}" -setenv rootfs /dev/mmcblk${devnum}p1 -setenv bootargs root=${rootfs} rootwait rw ${extrabootargs} - -load ${devtype} ${devnum} ${kernel_addr_r} boot/Image -load ${devtype} ${devnum} ${fdt_addr_r} boot/imx8mq-kontron-pitx-imx8m.dtb - -booti ${kernel_addr_r} - ${fdt_addr_r} diff --git a/board/kontron/pitx-imx8m/post-image.sh b/board/kontron/pitx-imx8m/post-image.sh deleted file mode 100755 index 564211c829..0000000000 --- a/board/kontron/pitx-imx8m/post-image.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -support/scripts/genimage.sh -c $(dirname $0)/genimage.cfg diff --git a/board/linksprite/pcduino/boot.cmd b/board/linksprite/pcduino/boot.cmd deleted file mode 100644 index 0db8363599..0000000000 --- a/board/linksprite/pcduino/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 console=tty1 earlyprintk root=/dev/mmcblk0p2 rootwait panic=10 ${extra} - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun4i-a10-pcduino.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/linksprite/pcduino/genimage.cfg b/board/linksprite/pcduino/genimage.cfg deleted file mode 100644 index 9cbc383d44..0000000000 --- a/board/linksprite/pcduino/genimage.cfg +++ /dev/null @@ -1,42 +0,0 @@ -# -# Minimal SD card image for the pcDuino -# - -image boot.vfat { - vfat { - files = { - "zImage", - "sun4i-a10-pcduino.dtb", - "boot.scr" - } - } - size = 16M -} - -# -# Note: u-boot environment is stored between u-boot and boot partitions -# - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 1M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/linksprite/pcduino/post-build.sh b/board/linksprite/pcduino/post-build.sh deleted file mode 100755 index e1e1877671..0000000000 --- a/board/linksprite/pcduino/post-build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# post-build.sh for pcDuino taken from OrangePi post-build.sh -# 2013, Carlo Caione - -BOARD_DIR="$(dirname $0)" -MKIMAGE=$HOST_DIR/bin/mkimage -BOOT_CMD=$BOARD_DIR/boot.cmd -BOOT_CMD_H=$BINARIES_DIR/boot.scr - -# U-Boot script -$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H diff --git a/board/linksprite/pcduino/post-image.sh b/board/linksprite/pcduino/post-image.sh deleted file mode 100755 index c82b189f9c..0000000000 --- a/board/linksprite/pcduino/post-image.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" - -rm -rf "${GENIMAGE_TMP}" - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" - -exit $? diff --git a/board/mangopi/mq1rdw2/genimage.cfg b/board/mangopi/mq1rdw2/genimage.cfg new file mode 100644 index 0000000000..92c8677545 --- /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 0000000000..fd37f63154 --- /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 0000000000..c190ff7659 --- /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 0000000000..89e7d74aff --- /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 0000000000..b43292b0a7 --- /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 0000000000..de20ecc410 --- /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 0000000000..5fccdfd34f --- /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 0000000000..9282c9ce5f --- /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 0000000000..0cecddb61b --- /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 0000000000..a62b079fa1 --- /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 0000000000..596bb21d78 --- /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 0000000000..8a655085ed --- /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 0000000000..e2a5eb9438 --- /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/minnowboard/fs-overlay-graphical/etc/X11/Xsession b/board/minnowboard/fs-overlay-graphical/etc/X11/Xsession deleted file mode 100755 index d8862f170c..0000000000 --- a/board/minnowboard/fs-overlay-graphical/etc/X11/Xsession +++ /dev/null @@ -1,7 +0,0 @@ -# Start a terminal on the top left corner -xterm -geom 80x30+0+0 & - -# OpenGL demo -glmark2 & - -exec /usr/bin/openbox-session diff --git a/board/minnowboard/fs-overlay-graphical/etc/X11/xorg.conf.d/01-modules.conf b/board/minnowboard/fs-overlay-graphical/etc/X11/xorg.conf.d/01-modules.conf deleted file mode 100644 index 91659baa65..0000000000 --- a/board/minnowboard/fs-overlay-graphical/etc/X11/xorg.conf.d/01-modules.conf +++ /dev/null @@ -1,11 +0,0 @@ - -# Xorg does not implement real dynamic linking and requires that its -# modules get loaded in the right order. -# https://forums.gentoo.org/viewtopic-p-8245578.html#8245578 -Section "Module" - Load "vgahw" - Load "fb" - Load "shadowfb" - Load "int10" - Load "vbe" -EndSection diff --git a/board/minnowboard/fs-overlay-graphical/etc/asound.conf b/board/minnowboard/fs-overlay-graphical/etc/asound.conf deleted file mode 100644 index b75b238364..0000000000 --- a/board/minnowboard/fs-overlay-graphical/etc/asound.conf +++ /dev/null @@ -1,4 +0,0 @@ -# Customize ALSA: -# the HDMI PCM is at card=0, device=3 (i.e. hw:0,3) -defaults.pcm.card 0 -defaults.pcm.device 3 diff --git a/board/orangepi/orangepi-one/boot.cmd b/board/orangepi/orangepi-one/boot.cmd deleted file mode 100644 index ab616e6ac9..0000000000 --- a/board/orangepi/orangepi-one/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -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 sun8i-h3-orangepi-one.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-one/genimage.cfg b/board/orangepi/orangepi-one/genimage.cfg deleted file mode 100644 index 4640ff2b13..0000000000 --- a/board/orangepi/orangepi-one/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the OrangePi PC -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-orangepi-one.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/orangepi/orangepi-pc-plus/boot.cmd b/board/orangepi/orangepi-pc-plus/boot.cmd deleted file mode 100644 index c91f77942f..0000000000 --- a/board/orangepi/orangepi-pc-plus/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -setenv fdt_high ffffffff - -setenv bootargs console=ttyS0,115200 earlyprintk root=PARTLABEL=rootfs rootwait - -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-pc-plus.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-pc-plus/genimage.cfg b/board/orangepi/orangepi-pc-plus/genimage.cfg deleted file mode 100644 index b4fcc827ec..0000000000 --- a/board/orangepi/orangepi-pc-plus/genimage.cfg +++ /dev/null @@ -1,42 +0,0 @@ -# Minimal SD card image for the OrangePi PC Plus -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-orangepi-pc-plus.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - # for root=PARTLABEL support - gpt = true - # default GPT location conflicts with bootloaders, move it after - gpt-location = 1M - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1056768 # 1MB - 8K + 16K(GPT) - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - # 'rootfs' will be used as the partition label, used - # with root=PARTLABEL=rootfs kernel command line - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/orangepi/orangepi-pc/boot.cmd b/board/orangepi/orangepi-pc/boot.cmd deleted file mode 100644 index 9da625c803..0000000000 --- a/board/orangepi/orangepi-pc/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -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 sun8i-h3-orangepi-pc.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-pc/genimage.cfg b/board/orangepi/orangepi-pc/genimage.cfg deleted file mode 100644 index 932d81cf12..0000000000 --- a/board/orangepi/orangepi-pc/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the OrangePi PC -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-orangepi-pc.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/orangepi/orangepi-pc2/boot.cmd b/board/orangepi/orangepi-pc2/boot.cmd deleted file mode 100644 index 4d4fc7bf67..0000000000 --- a/board/orangepi/orangepi-pc2/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-pc2.dtb - -booti $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-pc2/genimage.cfg b/board/orangepi/orangepi-pc2/genimage.cfg deleted file mode 100644 index e10c67ffc3..0000000000 --- a/board/orangepi/orangepi-pc2/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-h5-orangepi-pc2.dtb", - "boot.scr" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/orangepi/orangepi-pc2/readme.txt b/board/orangepi/orangepi-pc2/readme.txt index 1200481952..6c699244ce 100644 --- a/board/orangepi/orangepi-pc2/readme.txt +++ b/board/orangepi/orangepi-pc2/readme.txt @@ -6,10 +6,10 @@ 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/orangepipc2/ +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-PC-2.html -Wiki link: -https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+PC2 +Sunxi Wiki link: +https://linux-sunxi.org/Xunlong_Orange_Pi_PC_2 This configuration uses U-Boot mainline and kernel mainline. diff --git a/board/orangepi/orangepi-plus/boot.cmd b/board/orangepi/orangepi-plus/boot.cmd deleted file mode 100644 index 1a378cb918..0000000000 --- a/board/orangepi/orangepi-plus/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -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 sun8i-h3-orangepi-plus.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-plus/genimage.cfg b/board/orangepi/orangepi-plus/genimage.cfg deleted file mode 100644 index 391678b73a..0000000000 --- a/board/orangepi/orangepi-plus/genimage.cfg +++ /dev/null @@ -1,35 +0,0 @@ -# Minimal SD card image for the OrangePi Plus\Plus2 -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h3-orangepi-plus.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/orangepi/orangepi-plus/readme.txt b/board/orangepi/orangepi-plus/readme.txt deleted file mode 100644 index 7f871bcfab..0000000000 --- a/board/orangepi/orangepi-plus/readme.txt +++ /dev/null @@ -1,29 +0,0 @@ -OrangePi Plus/Plus2 - -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the OrangePi Plus/Plus2. With the current configuration -it will bring-up the board, and allow access through the serial console. - -How to build it -=============== - -Configure Buildroot: - - $ make orangepi_plus_defconfig - -Compile everything and build the SD card 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/orangepi/orangepi-prime/boot.cmd b/board/orangepi/orangepi-prime/boot.cmd deleted file mode 100644 index 34887880d8..0000000000 --- a/board/orangepi/orangepi-prime/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-prime.dtb - -booti $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-prime/genimage.cfg b/board/orangepi/orangepi-prime/genimage.cfg deleted file mode 100644 index bb01ed9f10..0000000000 --- a/board/orangepi/orangepi-prime/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-h5-orangepi-prime.dtb", - "boot.scr" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/orangepi/orangepi-rk3399/extlinux.conf b/board/orangepi/orangepi-rk3399/extlinux.conf deleted file mode 100644 index 5109625160..0000000000 --- a/board/orangepi/orangepi-rk3399/extlinux.conf +++ /dev/null @@ -1,4 +0,0 @@ -label RK3399_ROCKPRO64 linux - kernel /Image - devicetree /rk3399-orangepi.dtb - append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rw rootwait diff --git a/board/orangepi/orangepi-rk3399/post-build.sh b/board/orangepi/orangepi-rk3399/post-build.sh deleted file mode 100755 index ba29375c05..0000000000 --- a/board/orangepi/orangepi-rk3399/post-build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/orangepi/orangepi-rk3399/readme.txt b/board/orangepi/orangepi-rk3399/readme.txt deleted file mode 100644 index 197e1fb448..0000000000 --- a/board/orangepi/orangepi-rk3399/readme.txt +++ /dev/null @@ -1,56 +0,0 @@ -Orangepi Rk3399 -================ -http://www.orangepi.org/Orange%20Pi%20RK3399/ - -Build: -====== - $ make orangepi_rk3399_defconfig - $ make - -Files created in output directory -================================= - -output/images - -├── bl31.elf -├── boot.vfat -├── extlinux -├── idbloader.img -├── Image -├── rk3399-orangepi.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. - -Booting: -======== -Orangepi-RK3399 by default boots from emmc. For SD card boot to -happen, emmc should be empty. If emmc happens to have any bootable -image then erase emmc so that bootrom will look for a proper image in SD. - -emmc can be erased once after booted into linux as shown in below link. - -https://wiki.amarulasolutions.com/bsp/setup/rockchip/rk3399_emmc.html - -Serial console: ---------------- - -Baudrate for this board is 1500000. - -Login: ------- -Enter 'root' as login user, and the prompt is ready. - -https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/orangepi.html diff --git a/board/orangepi/orangepi-win/boot.cmd b/board/orangepi/orangepi-win/boot.cmd deleted file mode 100644 index 2ddb769d6d..0000000000 --- a/board/orangepi/orangepi-win/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-a64-orangepi-win.dtb - -booti $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-win/genimage.cfg b/board/orangepi/orangepi-win/genimage.cfg deleted file mode 100644 index db025d55ca..0000000000 --- a/board/orangepi/orangepi-win/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-a64-orangepi-win.dtb", - "boot.scr" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8192 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/orangepi/orangepi-win/readme.txt b/board/orangepi/orangepi-win/readme.txt deleted file mode 100644 index 93adddd86b..0000000000 --- a/board/orangepi/orangepi-win/readme.txt +++ /dev/null @@ -1,37 +0,0 @@ -Intro -===== - -This default configuration will allow you to start experimenting with the -buildroot environment for the Orangepi Win/Win Plus. With the current configuration -it will bring-up the board, and allow access through the serial console. - -Orangepi Win/Win Plus link: -http://www.orangepi.org/OrangePiWin_WinPlus/ - -Wiki link: -https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Win - -This configuration uses U-Boot mainline and kernel mainline. - -How to build -============ - - $ make orangepi_win_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 Win/Win Plus 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 18c4d521af..0000000000 --- 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 ec15898ddd..0000000000 --- a/board/orangepi/orangepi-zero-plus/genimage.cfg +++ /dev/null @@ -1,39 +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 = 8192 - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40K - } - - 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-plus2/boot.cmd b/board/orangepi/orangepi-zero-plus2/boot.cmd deleted file mode 100644 index aa5162004b..0000000000 --- a/board/orangepi/orangepi-zero-plus2/boot.cmd +++ /dev/null @@ -1,6 +0,0 @@ -setenv bootargs console=ttyS0,115200 earlyprintk root=PARTLABEL=rootfs rootwait - -fatload mmc 0 $kernel_addr_r Image -fatload mmc 0 $fdt_addr_r sun50i-h5-orangepi-zero-plus2.dtb - -booti $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-zero-plus2/genimage.cfg b/board/orangepi/orangepi-zero-plus2/genimage.cfg deleted file mode 100644 index 255acdbecb..0000000000 --- a/board/orangepi/orangepi-zero-plus2/genimage.cfg +++ /dev/null @@ -1,40 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-h5-orangepi-zero-plus2.dtb", - "boot.scr" - } - } - size = 64M -} - -image sdcard.img { - hdimage { - # for root=PARTLABEL support - gpt = true - # default GPT location conflicts with bootloaders, move it after - gpt-location = 1M - } - - partition spl { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1056768 # 1MB - 8K + 16K(GPT) - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - # 'rootfs' will be used as the partition label, used - # with root=PARTLABEL=rootfs kernel command line - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 256M - } -} diff --git a/board/orangepi/orangepi-zero/boot.cmd b/board/orangepi/orangepi-zero/boot.cmd deleted file mode 100644 index 44f0885ff4..0000000000 --- a/board/orangepi/orangepi-zero/boot.cmd +++ /dev/null @@ -1,8 +0,0 @@ -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 sun8i-h2-plus-orangepi-zero.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-zero/genimage.cfg b/board/orangepi/orangepi-zero/genimage.cfg deleted file mode 100644 index 017435f28e..0000000000 --- a/board/orangepi/orangepi-zero/genimage.cfg +++ /dev/null @@ -1,36 +0,0 @@ -# Minimal SD card image for the OrangePi Zero -# -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-h2-plus-orangepi-zero.dtb", - "boot.scr" - } - } - size = 10M -} - -image sdcard.img { - hdimage { - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - size = 512M - } -} diff --git a/board/orangepi/orangepi-zero/linux-extras.config b/board/orangepi/orangepi-zero/linux-extras.config deleted file mode 100644 index 2db241de28..0000000000 --- a/board/orangepi/orangepi-zero/linux-extras.config +++ /dev/null @@ -1,20 +0,0 @@ -# spidev -CONFIG_SPI_SPIDEV=y - -# spi nor -CONFIG_MTD=y -CONFIG_MTD_OF_PARTS=y -CONFIG_MTD_SPI_NOR=y -CONFIG_MTD_M25P80=y - -# wireless core -CONFIG_WIRELESS=y -CONFIG_CFG80211=y -CONFIG_MAC80211=y -CONFIG_CFG80211_WEXT=y - -# wireless drivers -CONFIG_WLAN=y - -# ondemand cpufreq governor -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y 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 16207afcb1..6a5aa0bb63 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 e4c52ab911..ff0a1db223 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 ae0ed9ba3b..04d43c344f 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 839bc16087..41c23209ce 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-prime/readme.txt b/board/orangepi/orangepi-zero3/readme.txt similarity index 63% rename from board/orangepi/orangepi-prime/readme.txt rename to board/orangepi/orangepi-zero3/readme.txt index 5811884d4d..4872a363e7 100644 --- a/board/orangepi/orangepi-prime/readme.txt +++ b/board/orangepi/orangepi-zero3/readme.txt @@ -2,21 +2,18 @@ Intro ===== This default configuration will allow you to start experimenting with the -buildroot environment for the Orangepi Prime. With the current configuration +buildroot environment for the Orangepi Zero3. With the current configuration it will bring-up the board, and allow access through the serial console. -Orangepi Prime link: -http://www.orangepi.org/OrangePiPrime/ +Orangepi Zero3 link: +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-3.html -Wiki link: -https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Prime - -This configuration uses U-Boot mainline and kernel mainline. +This configuration uses Orangepi's fork of U-Boot and Linux kernel. How to build ============ - $ make orangepi_prime_defconfig + $ make orangepi_zero3_defconfig $ make Note: you will need access to the internet to download the required @@ -33,5 +30,5 @@ 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 Prime and power it up. The console +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/pine64/pinecube/extlinux.conf b/board/pine64/pinecube/extlinux.conf new file mode 100644 index 0000000000..6a18d9a2cb --- /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/bananapi/bananapi-m1/genimage.cfg b/board/pine64/pinecube/genimage.cfg similarity index 77% rename from board/bananapi/bananapi-m1/genimage.cfg rename to board/pine64/pinecube/genimage.cfg index e2e131162d..398d45e2f7 100644 --- a/board/bananapi/bananapi-m1/genimage.cfg +++ b/board/pine64/pinecube/genimage.cfg @@ -2,11 +2,12 @@ image boot.vfat { vfat { files = { "zImage", - "sun7i-a20-bananapi.dtb", - "boot.scr" + "sun8i-s3-pinecube.dtb", + "extlinux" } } - size = 64M + + size = 8M } image sdcard.img { @@ -16,8 +17,8 @@ image sdcard.img { partition u-boot { in-partition-table = "no" image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 + offset = 8K + size = 504K # 512KB - 8KB } partition boot { diff --git a/board/pine64/pinecube/post-build.sh b/board/pine64/pinecube/post-build.sh new file mode 100755 index 0000000000..8dae08a47c --- /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 0000000000..4cf6df2110 --- /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 ea081a1f0b..83467ef43c 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 a2027dad44..15353a8f68 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-sbsa/linux.config b/board/qemu/aarch64-sbsa/linux.config deleted file mode 100644 index a60cce02ec..0000000000 --- a/board/qemu/aarch64-sbsa/linux.config +++ /dev/null @@ -1,68 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_NO_HZ_IDLE=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_TASKSTATS=y -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 -CONFIG_BINFMT_MISC=y -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_PACKET_DIAG=y -CONFIG_UNIX=y -CONFIG_NET_KEY=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_BRIDGE=m -CONFIG_NET_SCHED=y -CONFIG_VSOCKETS=y -CONFIG_PCI=y -CONFIG_PCI_HOST_GENERIC=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_VIRTIO_BLK=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_SG=y -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_LOGGING=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_VIRTIO=y -CONFIG_ATA=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_NETDEVICES=y -CONFIG_DUMMY=y -CONFIG_MACVLAN=y -CONFIG_VIRTIO_NET=y -CONFIG_NLMON=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_VIRTIO=y -CONFIG_TCG_TPM=y -CONFIG_TCG_TIS=y -CONFIG_DRM=y -CONFIG_DRM_VIRTIO_GPU=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_PL031=y -CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y -CONFIG_MAILBOX=y -CONFIG_PL320_MBOX=y -CONFIG_ARM_SMMU_V3=y -CONFIG_EXT4_FS=y -CONFIG_FUSE_FS=y -CONFIG_VIRTIO_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/arm-ebbr/readme.txt b/board/qemu/arm-ebbr/readme.txt index 085e723fe6..19e114579f 100644 --- a/board/qemu/arm-ebbr/readme.txt +++ b/board/qemu/arm-ebbr/readme.txt @@ -26,7 +26,7 @@ Running under Qemu Run the emulation with: qemu-system-arm \ - -M virt,secure=on \ + -M virt,secure=on,acpi=off \ -bios output/images/flash.bin \ -cpu cortex-a15 \ -device virtio-blk-device,drive=hd0 \ @@ -35,7 +35,6 @@ Run the emulation with: -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ -m 1024 \ -netdev user,id=eth0 \ - -no-acpi \ -nographic \ -object rng-random,filename=/dev/urandom,id=rng0 \ -rtc base=utc,clock=host \ @@ -68,4 +67,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/arm-versatile/linux-nommu.config b/board/qemu/arm-versatile/linux-nommu.config deleted file mode 100644 index 1d91d51a14..0000000000 --- a/board/qemu/arm-versatile/linux-nommu.config +++ /dev/null @@ -1,47 +0,0 @@ -# CONFIG_MMU is not set -CONFIG_ARCH_VERSATILE=y -CONFIG_ARM_SINGLE_ARCH_VERSATILE=y -CONFIG_SET_MEM_PARAM=y -CONFIG_DRAM_BASE=0x00000000 -CONFIG_DRAM_SIZE=0x08000000 -CONFIG_ARCH_VERSATILE_PB=y -CONFIG_MACH_VERSATILE_AB=y -CONFIG_MACH_VERSATILE_DT=y -CONFIG_BINFMT_FLAT=y -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_AEABI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_NETDEVICES=y -CONFIG_SMC91X=y -CONFIG_PHYLIB=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=m -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=m -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_SOUND=y -CONFIG_SND=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_ARMAACI=m -CONFIG_EXT4_FS=y -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_MAGIC_SYSRQ=y diff --git a/board/qemu/arm-versatile/linux.config b/board/qemu/arm-versatile/linux.config deleted file mode 100644 index b1001d84a7..0000000000 --- a/board/qemu/arm-versatile/linux.config +++ /dev/null @@ -1,43 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_ARCH_MULTI_V7 is not set -CONFIG_ARCH_VERSATILE=y -CONFIG_PCI=y -CONFIG_PCI_VERSATILE=y -CONFIG_AEABI=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_SYM53C8XX_2=y -CONFIG_NETDEVICES=y -CONFIG_8139CP=y -CONFIG_PHYLIB=y -CONFIG_INPUT_EVDEV=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_LEGACY_PTY_COUNT=16 -CONFIG_SERIAL_8250=m -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=m -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_SOUND=y -CONFIG_SND=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -CONFIG_SND_ARMAACI=m -CONFIG_EXT4_FS=y -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_MAGIC_SYSRQ=y diff --git a/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch b/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch deleted file mode 100644 index 956ae5f5f5..0000000000 --- a/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 525dd2f3cf4a94837ce6b71d793acb90c25a5654 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Fri, 1 Feb 2019 11:36:20 +0100 -Subject: [PATCH] arm-versatile-nommu: Linux patch - -Originally made by Waldemar Brodkorb from LKML. - -Signed-Off-by: Waldemar Brodkorb -[Gerome: reformated as a Git patch] -Signed-off-by: Gerome Burlats -[Romain: fix Waldemar's authorship in Git patch] -Signed-off-by: Romain Naour ---- - arch/arm/Kconfig | 11 +++++++++++ - arch/arm/Kconfig.debug | 3 ++- - arch/arm/include/asm/mach/map.h | 1 + - arch/arm/mach-versatile/Kconfig | 5 +++-- - arch/arm/mach-versatile/Makefile.boot | 3 +++ - arch/arm/mach-versatile/versatile_dt.c | 4 ++++ - 6 files changed, 24 insertions(+), 3 deletions(-) - create mode 100644 arch/arm/mach-versatile/Makefile.boot - -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 002e0cf025f5..c71299b6f91f 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -343,6 +343,17 @@ config ARM_SINGLE_ARMV7M - select SPARSE_IRQ - select USE_OF - -+config ARM_SINGLE_ARCH_VERSATILE -+ bool "ARM Ltd. Versatile family" -+ depends on !MMU -+ select AUTO_ZRELADDR -+ select CLKSRC_OF -+ select COMMON_CLK -+ select GENERIC_CLOCKEVENTS -+ select GPIOLIB -+ select SPARSE_IRQ -+ select USE_OF -+ - config ARCH_EBSA110 - bool "EBSA-110" - select ARCH_USES_GETTIMEOFFSET -diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug -index 8986a91a6f31..69cb6404e8ce 100644 ---- a/arch/arm/Kconfig.debug -+++ b/arch/arm/Kconfig.debug -@@ -1943,7 +1943,8 @@ config DEBUG_UNCOMPRESS - config UNCOMPRESS_INCLUDE - string - default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \ -- PLAT_SAMSUNG || ARM_SINGLE_ARMV7M -+ PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \ -+ ARM_SINGLE_ARCH_VERSATILE - default "mach/uncompress.h" - - config EARLY_PRINTK -diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h -index 92282558caf7..90bd9c069ffc 100644 ---- a/arch/arm/include/asm/mach/map.h -+++ b/arch/arm/include/asm/mach/map.h -@@ -59,6 +59,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys, - #else - #define iotable_init(map,num) do { } while (0) - #define vm_reserve_area_early(a,s,c) do { } while (0) -+#define debug_ll_io_init() do { } while (0) - #endif - - #endif -diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig -index d88e7725bf99..d38b90157f13 100644 ---- a/arch/arm/mach-versatile/Kconfig -+++ b/arch/arm/mach-versatile/Kconfig -@@ -1,7 +1,8 @@ - # SPDX-License-Identifier: GPL-2.0 - config ARCH_VERSATILE -- bool "ARM Ltd. Versatile family" -- depends on ARCH_MULTI_V5 -+ bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5 -+ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARCH_VERSATILE -+ default y if ARM_SINGLE_ARCH_VERSATILE - select ARM_AMBA - select ARM_TIMER_SP804 - select ARM_VIC -diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot -new file mode 100644 -index 000000000000..eacfc3f5c33e ---- /dev/null -+++ b/arch/arm/mach-versatile/Makefile.boot -@@ -0,0 +1,3 @@ -+# Empty file waiting for deletion once Makefile.boot isn't needed any more. -+# Patch waits for application at -+# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 . -diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c -index 02ba68abe533..835b51bc597b 100644 ---- a/arch/arm/mach-versatile/versatile_dt.c -+++ b/arch/arm/mach-versatile/versatile_dt.c -@@ -22,7 +22,11 @@ - #include - - /* macro to get at MMIO space when running virtually */ -+#ifdef CONFIG_MMU - #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000) -+#else -+#define IO_ADDRESS(x) (x) -+#endif - #define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n)) - - /* --- -2.17.1 - diff --git a/board/qemu/arm-vexpress-tz/readme.txt b/board/qemu/arm-vexpress-tz/readme.txt index 3036dd54ca..3e84fe6391 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/csky/linux-ck610.config.fragment b/board/qemu/csky/linux-ck610.config.fragment deleted file mode 100644 index b690c7d6ec..0000000000 --- a/board/qemu/csky/linux-ck610.config.fragment +++ /dev/null @@ -1,6 +0,0 @@ -CONFIG_COMPILE_TEST=y -CONFIG_CPU_CK610=y -CONFIG_CPU_PM_WAIT=y -CONFIG_RAM_BASE=0x10000000 -CONFIG_CSKY_APB_INTC=y -CONFIG_GX6605S_TIMER=y diff --git a/board/qemu/csky/linux-ck807.config.fragment b/board/qemu/csky/linux-ck807.config.fragment deleted file mode 100644 index b6974f0157..0000000000 --- a/board/qemu/csky/linux-ck807.config.fragment +++ /dev/null @@ -1,5 +0,0 @@ -CONFIG_COMPILE_TEST=y -CONFIG_CPU_CK807=y -# CONFIG_CPU_HAS_FPU is not set -CONFIG_CPU_PM_WAIT=y -CONFIG_CSKY_APB_INTC=y diff --git a/board/qemu/csky/linux-ck810.config.fragment b/board/qemu/csky/linux-ck810.config.fragment deleted file mode 100644 index 50fa1f4f79..0000000000 --- a/board/qemu/csky/linux-ck810.config.fragment +++ /dev/null @@ -1,5 +0,0 @@ -CONFIG_COMPILE_TEST=y -CONFIG_CPU_CK810=y -# CONFIG_CPU_HAS_FPU is not set -CONFIG_CPU_PM_WAIT=y -CONFIG_CSKY_APB_INTC=y diff --git a/board/qemu/csky/linux-ck860.config.fragment b/board/qemu/csky/linux-ck860.config.fragment deleted file mode 100644 index e8f6af10ba..0000000000 --- a/board/qemu/csky/linux-ck860.config.fragment +++ /dev/null @@ -1,9 +0,0 @@ -CONFIG_COMPILE_TEST=y -CONFIG_CPU_CK860=y -# CONFIG_CPU_HAS_FPU is not set -CONFIG_CPU_PM_WAIT=y -CONFIG_SMP=y -CONFIG_HOTPLUG_CPU=y -CONFIG_CSKY_APB_INTC=y -CONFIG_CSKY_MPINTC=y -CONFIG_CSKY_MP_TIMER=y diff --git a/board/qemu/csky/readme.txt b/board/qemu/csky/readme.txt deleted file mode 100644 index 5e4cb1871c..0000000000 --- a/board/qemu/csky/readme.txt +++ /dev/null @@ -1,15 +0,0 @@ -Run with qemu: - -For ck860 smp: - qemu-system-cskyv2 -M virt -cpu ck860 -smp 2 -nographic -kernel vmlinux # qemu_csky860_virt_defconfig - -For ck807: - qemu-system-cskyv2 -M virt -nographic -kernel vmlinux # qemu_csky807_virt_defconfig - -For ck810: - qemu-system-cskyv2 -M virt -nographic -kernel vmlinux # qemu_csky810_virt_defconfig - -For ck610: - qemu-system-cskyv1 -M virt -nographic -kernel vmlinux # qemu_csky610_virt_defconfig - -The login prompt will appear in the terminal that started Qemu. Username is root and no password. 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 eb3859f858..0000000000 --- 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 eb3859f858..0000000000 --- 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/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch deleted file mode 100644 index 01d78f6ffe..0000000000 --- a/board/qemu/mips32r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Jul 2020 11:46:01 +0200 -Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From [1] -"GCC 10 (PR 91233) won't silently allow registers that are not architecturally -available to be present in the clobber list anymore, resulting in build failure -for mips*r6 targets in form of: -... -.../sysdep.h:146:2: error: the register ‘lo’ cannot be clobbered in ‘asm’ for the current target - 146 | __asm__ volatile ( \ - | ^~~~~~~ - -This is because base R6 ISA doesn't define hi and lo registers w/o DSP extension. -This patch provides the alternative clobber list for r6 targets that won't include -those registers." - -Since kernel 5.4 and mips support for generic vDSO [2], the kernel fail to build -for mips r6 cpus with gcc 10 for the same reason as glibc. - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=020b2a97bb15f807c0482f0faee2184ed05bcad8 -[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=24640f233b466051ad3a5d2786d2951e43026c9d - -Signed-off-by: Romain Naour ---- - arch/mips/include/asm/vdso/gettimeofday.h | 45 +++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h -index 2203e2d0ae2a..e28096faecf6 100644 ---- a/arch/mips/include/asm/vdso/gettimeofday.h -+++ b/arch/mips/include/asm/vdso/gettimeofday.h -@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback( - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (tv), "r" (tz), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback( - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback( - register long nr asm("v0") = __NR_clock_getres; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } --- -2.17.1 - diff --git a/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch deleted file mode 100644 index 01d78f6ffe..0000000000 --- a/board/qemu/mips32r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Jul 2020 11:46:01 +0200 -Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From [1] -"GCC 10 (PR 91233) won't silently allow registers that are not architecturally -available to be present in the clobber list anymore, resulting in build failure -for mips*r6 targets in form of: -... -.../sysdep.h:146:2: error: the register ‘lo’ cannot be clobbered in ‘asm’ for the current target - 146 | __asm__ volatile ( \ - | ^~~~~~~ - -This is because base R6 ISA doesn't define hi and lo registers w/o DSP extension. -This patch provides the alternative clobber list for r6 targets that won't include -those registers." - -Since kernel 5.4 and mips support for generic vDSO [2], the kernel fail to build -for mips r6 cpus with gcc 10 for the same reason as glibc. - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=020b2a97bb15f807c0482f0faee2184ed05bcad8 -[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=24640f233b466051ad3a5d2786d2951e43026c9d - -Signed-off-by: Romain Naour ---- - arch/mips/include/asm/vdso/gettimeofday.h | 45 +++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h -index 2203e2d0ae2a..e28096faecf6 100644 ---- a/arch/mips/include/asm/vdso/gettimeofday.h -+++ b/arch/mips/include/asm/vdso/gettimeofday.h -@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback( - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (tv), "r" (tz), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback( - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback( - register long nr asm("v0") = __NR_clock_getres; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } --- -2.17.1 - diff --git a/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch deleted file mode 100644 index 01d78f6ffe..0000000000 --- a/board/qemu/mips64r6-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Jul 2020 11:46:01 +0200 -Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From [1] -"GCC 10 (PR 91233) won't silently allow registers that are not architecturally -available to be present in the clobber list anymore, resulting in build failure -for mips*r6 targets in form of: -... -.../sysdep.h:146:2: error: the register ‘lo’ cannot be clobbered in ‘asm’ for the current target - 146 | __asm__ volatile ( \ - | ^~~~~~~ - -This is because base R6 ISA doesn't define hi and lo registers w/o DSP extension. -This patch provides the alternative clobber list for r6 targets that won't include -those registers." - -Since kernel 5.4 and mips support for generic vDSO [2], the kernel fail to build -for mips r6 cpus with gcc 10 for the same reason as glibc. - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=020b2a97bb15f807c0482f0faee2184ed05bcad8 -[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=24640f233b466051ad3a5d2786d2951e43026c9d - -Signed-off-by: Romain Naour ---- - arch/mips/include/asm/vdso/gettimeofday.h | 45 +++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h -index 2203e2d0ae2a..e28096faecf6 100644 ---- a/arch/mips/include/asm/vdso/gettimeofday.h -+++ b/arch/mips/include/asm/vdso/gettimeofday.h -@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback( - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (tv), "r" (tz), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback( - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback( - register long nr asm("v0") = __NR_clock_getres; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } --- -2.17.1 - diff --git a/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch b/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch deleted file mode 100644 index 01d78f6ffe..0000000000 --- a/board/qemu/mips64r6el-malta/patches/linux/0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch +++ /dev/null @@ -1,149 +0,0 @@ -From b9af6f34e43bf5264d75933f2080f16b8741048d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Jul 2020 11:46:01 +0200 -Subject: [PATCH] mips: Do not include hi and lo in clobber list for R6 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From [1] -"GCC 10 (PR 91233) won't silently allow registers that are not architecturally -available to be present in the clobber list anymore, resulting in build failure -for mips*r6 targets in form of: -... -.../sysdep.h:146:2: error: the register ‘lo’ cannot be clobbered in ‘asm’ for the current target - 146 | __asm__ volatile ( \ - | ^~~~~~~ - -This is because base R6 ISA doesn't define hi and lo registers w/o DSP extension. -This patch provides the alternative clobber list for r6 targets that won't include -those registers." - -Since kernel 5.4 and mips support for generic vDSO [2], the kernel fail to build -for mips r6 cpus with gcc 10 for the same reason as glibc. - -[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=020b2a97bb15f807c0482f0faee2184ed05bcad8 -[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=24640f233b466051ad3a5d2786d2951e43026c9d - -Signed-off-by: Romain Naour ---- - arch/mips/include/asm/vdso/gettimeofday.h | 45 +++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -diff --git a/arch/mips/include/asm/vdso/gettimeofday.h b/arch/mips/include/asm/vdso/gettimeofday.h -index 2203e2d0ae2a..e28096faecf6 100644 ---- a/arch/mips/include/asm/vdso/gettimeofday.h -+++ b/arch/mips/include/asm/vdso/gettimeofday.h -@@ -30,12 +30,21 @@ static __always_inline long gettimeofday_fallback( - register long nr asm("v0") = __NR_gettimeofday; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (tv), "r" (tz), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (tv), "r" (tz), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -54,12 +63,21 @@ static __always_inline long clock_gettime_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -78,12 +96,21 @@ static __always_inline int clock_getres_fallback( - #endif - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -100,12 +127,21 @@ static __always_inline long clock_gettime32_fallback( - register long nr asm("v0") = __NR_clock_gettime; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } -@@ -120,12 +156,21 @@ static __always_inline int clock_getres32_fallback( - register long nr asm("v0") = __NR_clock_getres; - register long error asm("a3"); - -+#if MIPS_ISA_REV >= 6 -+ asm volatile( -+ " syscall\n" -+ : "=r" (ret), "=r" (error) -+ : "r" (clkid), "r" (ts), "r" (nr) -+ : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", -+ "$14", "$15", "$24", "$25", "memory"); -+#else - asm volatile( - " syscall\n" - : "=r" (ret), "=r" (error) - : "r" (clkid), "r" (ts), "r" (nr) - : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", - "$14", "$15", "$24", "$25", "hi", "lo", "memory"); -+#endif - - return error ? -ret : ret; - } --- -2.17.1 - diff --git a/board/qemu/or1k/readme.txt b/board/qemu/or1k/readme.txt index 2ea797440a..ed0359a0f5 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/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 b8c8a72587..0000000000 --- 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/riscv64-virt-efi/assemble-flash-images b/board/qemu/riscv64-virt-efi/assemble-flash-images new file mode 100755 index 0000000000..abcaa2c93b --- /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 0000000000..46950591e0 --- /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 0000000000..d99e19c4cd --- /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 0000000000..6b9651a011 --- /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/s390x/patches/linux/0001-arch-s390-disable-SSP-when-needed.patch b/board/qemu/s390x/patches/linux/0001-arch-s390-disable-SSP-when-needed.patch deleted file mode 100644 index c8199d4fd6..0000000000 --- a/board/qemu/s390x/patches/linux/0001-arch-s390-disable-SSP-when-needed.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 8a054081678ed0b0e56f829bac0a4656e3a198b9 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 8 May 2021 22:03:11 +0200 -Subject: [PATCH] arch/s390: disable SSP when needed - -Though -nostdlib is passed in PURGATORY_LDFLAGS and -ffreestanding in -KBUILD_CFLAGS_DECOMPRESSOR, -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/1247043361 - -Signed-off-by: Fabrice Fontaine ---- - arch/s390/Makefile | 1 + - arch/s390/purgatory/Makefile | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/s390/Makefile b/arch/s390/Makefile -index e443ed9947bd..098abe3a56f3 100644 ---- a/arch/s390/Makefile -+++ b/arch/s390/Makefile -@@ -28,6 +28,7 @@ KBUILD_CFLAGS_DECOMPRESSOR += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY - KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float -mbackchain - KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables - KBUILD_CFLAGS_DECOMPRESSOR += -ffreestanding -+KBUILD_CFLAGS_DECOMPRESSOR += -fno-stack-protector - KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member) - KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g) - KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,)) -diff --git a/arch/s390/purgatory/Makefile b/arch/s390/purgatory/Makefile -index c57f8c40e992..21c4ebe29b9a 100644 ---- a/arch/s390/purgatory/Makefile -+++ b/arch/s390/purgatory/Makefile -@@ -24,6 +24,7 @@ KBUILD_CFLAGS := -fno-strict-aliasing -Wall -Wstrict-prototypes - KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare - KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding - KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common -+KBUILD_CFLAGS += -fno-stack-protector - KBUILD_CFLAGS += $(CLANG_FLAGS) - KBUILD_CFLAGS += $(call cc-option,-fno-PIE) - KBUILD_AFLAGS := $(filter-out -DCC_USING_EXPOLINE,$(KBUILD_AFLAGS)) --- -2.30.2 - diff --git a/board/qemu/sparc64-sun4u/patches/linux/0001-sparc64-avoid-stringop-overread-warning-to-access-Ma.patch b/board/qemu/sparc64-sun4u/patches/linux/0001-sparc64-avoid-stringop-overread-warning-to-access-Ma.patch deleted file mode 100644 index c02704696d..0000000000 --- a/board/qemu/sparc64-sun4u/patches/linux/0001-sparc64-avoid-stringop-overread-warning-to-access-Ma.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 82d91965519c20639c24aadd022b2859461562bc Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 27 Apr 2021 14:54:28 +0200 -Subject: [PATCH] sparc64: avoid stringop-overread warning to access Machine - description datas - -gcc-11 warns about what appears to be an out-of-range array access but -stop the build due to -Werror added to cflags: - -arch/sparc/kernel/mdesc.c: In function 'mdesc_node_by_name': -arch/sparc/kernel/mdesc.c:647:22: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread] - 647 | if (!strcmp(names + ep[ret].name_offset, name)) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16 - 77 | struct mdesc_hdr mdesc; - | ^~~~~ -arch/sparc/kernel/mdesc.c: In function 'mdesc_get_property': -arch/sparc/kernel/mdesc.c:692:22: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread] - 692 | if (!strcmp(names + ep->name_offset, name)) { - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16 - 77 | struct mdesc_hdr mdesc; - | ^~~~~ -arch/sparc/kernel/mdesc.c: In function 'mdesc_next_arc': -arch/sparc/kernel/mdesc.c:719:21: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread] - 719 | if (strcmp(names + ep->name_offset, arc_type)) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16 - 77 | struct mdesc_hdr mdesc; - | ^~~~~ -cc1: all warnings being treated as errors - -The issue was initially reported to gcc [1] where it was analized. -As suggested, change the struct mdesc_elem * accesses from the end -of mdesc to those from the beginning of the data array. - -Update the prototype of node_block(), name_block() and data_block() -since the code really seems to want to do is to compute the address -somewhere into the chunk pointed to by hp. - -[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100262 - -Upstream status: Pending -https://www.spinics.net/lists/sparclinux/msg26385.html - -Signed-off-by: Romain Naour ---- - arch/sparc/kernel/mdesc.c | 37 +++++++++++++++++++++---------------- - 1 file changed, 21 insertions(+), 16 deletions(-) - -diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c -index 8e645ddac58e..3403555aa1e2 100644 ---- a/arch/sparc/kernel/mdesc.c -+++ b/arch/sparc/kernel/mdesc.c -@@ -75,6 +75,7 @@ struct mdesc_handle { - refcount_t refcnt; - unsigned int handle_size; - struct mdesc_hdr mdesc; -+ char data[]; - }; - - typedef int (*mdesc_node_info_get_f)(struct mdesc_handle *, u64, -@@ -610,26 +611,30 @@ int mdesc_get_node_info(struct mdesc_handle *hp, u64 node, - } - EXPORT_SYMBOL(mdesc_get_node_info); - --static struct mdesc_elem *node_block(struct mdesc_hdr *mdesc) -+static struct mdesc_elem *node_block(struct mdesc_handle *hp) - { -- return (struct mdesc_elem *) (mdesc + 1); -+ return (struct mdesc_elem *) hp + offsetof(struct mdesc_handle, data); - } - --static void *name_block(struct mdesc_hdr *mdesc) -+static void *name_block(struct mdesc_handle *hp) - { -- return ((void *) node_block(mdesc)) + mdesc->node_sz; -+ struct mdesc_hdr *mdesc = &hp->mdesc; -+ -+ return ((void *) node_block(hp)) + mdesc->node_sz; - } - --static void *data_block(struct mdesc_hdr *mdesc) -+static void *data_block(struct mdesc_handle *hp) - { -- return ((void *) name_block(mdesc)) + mdesc->name_sz; -+ struct mdesc_hdr *mdesc = &hp->mdesc; -+ -+ return ((void *) name_block(hp)) + mdesc->name_sz; - } - - u64 mdesc_node_by_name(struct mdesc_handle *hp, - u64 from_node, const char *name) - { -- struct mdesc_elem *ep = node_block(&hp->mdesc); -- const char *names = name_block(&hp->mdesc); -+ struct mdesc_elem *ep = node_block(hp); -+ const char *names = name_block(hp); - u64 last_node = hp->mdesc.node_sz / 16; - u64 ret; - -@@ -657,15 +662,15 @@ EXPORT_SYMBOL(mdesc_node_by_name); - const void *mdesc_get_property(struct mdesc_handle *hp, u64 node, - const char *name, int *lenp) - { -- const char *names = name_block(&hp->mdesc); -+ const char *names = name_block(hp); - u64 last_node = hp->mdesc.node_sz / 16; -- void *data = data_block(&hp->mdesc); -+ void *data = data_block(hp); - struct mdesc_elem *ep; - - if (node == MDESC_NODE_NULL || node >= last_node) - return NULL; - -- ep = node_block(&hp->mdesc) + node; -+ ep = node_block(hp) + node; - ep++; - for (; ep->tag != MD_NODE_END; ep++) { - void *val = NULL; -@@ -702,8 +707,8 @@ EXPORT_SYMBOL(mdesc_get_property); - - u64 mdesc_next_arc(struct mdesc_handle *hp, u64 from, const char *arc_type) - { -- struct mdesc_elem *ep, *base = node_block(&hp->mdesc); -- const char *names = name_block(&hp->mdesc); -+ struct mdesc_elem *ep, *base = node_block(hp); -+ const char *names = name_block(hp); - u64 last_node = hp->mdesc.node_sz / 16; - - if (from == MDESC_NODE_NULL || from >= last_node) -@@ -728,7 +733,7 @@ EXPORT_SYMBOL(mdesc_next_arc); - - u64 mdesc_arc_target(struct mdesc_handle *hp, u64 arc) - { -- struct mdesc_elem *ep, *base = node_block(&hp->mdesc); -+ struct mdesc_elem *ep, *base = node_block(hp); - - ep = base + arc; - -@@ -738,8 +743,8 @@ EXPORT_SYMBOL(mdesc_arc_target); - - const char *mdesc_node_name(struct mdesc_handle *hp, u64 node) - { -- struct mdesc_elem *ep, *base = node_block(&hp->mdesc); -- const char *names = name_block(&hp->mdesc); -+ struct mdesc_elem *ep, *base = node_block(hp); -+ const char *names = name_block(hp); - u64 last_node = hp->mdesc.node_sz / 16; - - if (node == MDESC_NODE_NULL || node >= last_node) --- -2.30.2 - 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 86d8e387de..0000000000 --- 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 5fb95bb90b..0000000000 --- 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/linux.fragment b/board/radxa/rock5b/linux.fragment index 6d65cb7bb8..28bb373ef2 100644 --- a/board/radxa/rock5b/linux.fragment +++ b/board/radxa/rock5b/linux.fragment @@ -1,4 +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/linux.hash b/board/radxa/rock5b/patches/linux/linux.hash new file mode 100644 index 0000000000..95ad749554 --- /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 0000000000..efd629bd2f --- /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/readme.txt b/board/radxa/rock5b/readme.txt index f02f3d380e..b3eb06851a 100644 --- a/board/radxa/rock5b/readme.txt +++ b/board/radxa/rock5b/readme.txt @@ -20,6 +20,7 @@ output/images ├── 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 @@ -64,6 +65,8 @@ 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 @@ -80,3 +83,20 @@ BR2_GCC_VERSION_11_X=y 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 0000000000..71a4e42b5e --- /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 index d73659a56e..9ce235d041 100644 --- a/board/radxa/rock5b/rock5b.its +++ b/board/radxa/rock5b/rock5b.its @@ -20,7 +20,7 @@ }; fdt { description = "Device Tree"; - data = /incbin/("rk3588-rock-5b.dtb"); + data = /incbin/("rock5b.dtb"); type = "flat_dt"; arch = "arm64"; compression = "none"; diff --git a/board/radxa/rockpi-4/extlinux.conf b/board/radxa/rockpi-4/extlinux.conf deleted file mode 100644 index 83374f174a..0000000000 --- a/board/radxa/rockpi-4/extlinux.conf +++ /dev/null @@ -1,4 +0,0 @@ -label RK3399_ROCK_PI_4 linux - kernel /Image - devicetree /rk3399-rock-pi-4.dtb - append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rw rootwait diff --git a/board/radxa/rockpi-4/genimage.cfg b/board/radxa/rockpi-4/genimage.cfg deleted file mode 100644 index 88986df34d..0000000000 --- a/board/radxa/rockpi-4/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "rk3399-rock-pi-4.dtb", - "extlinux" - } - } - size = 112M -} - -image sdcard.img { - - hdimage { - gpt = true - } - - partition loader1 { - image = "idbloader.img" - offset = 32K - } - - partition loader2 { - image = "u-boot.itb" - offset = 8M - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 16M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/radxa/rockpi-4/post-build.sh b/board/radxa/rockpi-4/post-build.sh deleted file mode 100755 index ba29375c05..0000000000 --- a/board/radxa/rockpi-4/post-build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/radxa/rockpi-4/readme.txt b/board/radxa/rockpi-4/readme.txt deleted file mode 100644 index 1db7569ed9..0000000000 --- a/board/radxa/rockpi-4/readme.txt +++ /dev/null @@ -1,61 +0,0 @@ -RADXA ROCK_PI_4 -================ -https://rockpi.org/rockpi4 - -ROCK Pi 4 is a Single Board Computer (SBC) from radxa. This guide is valid -for the below models: -- ROCK PI 4 Model A -- ROCK PI 4 Model B -- ROCK PI 4 Model C - -Build: -====== - $ make rock_pi_4_defconfig - $ make - -Files created in output directory -================================= - -output/images - -├── bl31.elf -├── boot.vfat -├── extlinux -├── idbloader.img -├── Image -├── rk3399-rock-pi-4.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. - -Booting: -======== - -Serial console: ---------------- -RockPi4 has a 40-pin GPIO header. The pin layout is 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://wiki.amarulasolutions.com/bsp/rockchip/rk3399/rock-pi-4.html diff --git a/board/radxa/rockpi-n10/extlinux.conf b/board/radxa/rockpi-n10/extlinux.conf deleted file mode 100644 index b6a4c97cd9..0000000000 --- a/board/radxa/rockpi-n10/extlinux.conf +++ /dev/null @@ -1,4 +0,0 @@ -label RK3399_ROCK_PI_N10 linux - kernel /Image - devicetree /rk3399pro-rock-pi-n10.dtb - append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk0p4 rw rootwait diff --git a/board/radxa/rockpi-n10/genimage.cfg b/board/radxa/rockpi-n10/genimage.cfg deleted file mode 100644 index 8fbf562f28..0000000000 --- a/board/radxa/rockpi-n10/genimage.cfg +++ /dev/null @@ -1,39 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "rk3399pro-rock-pi-n10.dtb", - "extlinux" - } - } - size = 112M -} - -image sdcard.img { - - hdimage { - gpt = true - } - - partition loader1 { - image = "idbloader.img" - offset = 32K - } - - partition loader2 { - image = "u-boot.itb" - offset = 8M - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - offset = 16M - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/radxa/rockpi-n10/post-build.sh b/board/radxa/rockpi-n10/post-build.sh deleted file mode 100755 index ba29375c05..0000000000 --- a/board/radxa/rockpi-n10/post-build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" - -install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/radxa/rockpi-n10/readme.txt b/board/radxa/rockpi-n10/readme.txt deleted file mode 100644 index 49decbb3d9..0000000000 --- a/board/radxa/rockpi-n10/readme.txt +++ /dev/null @@ -1,61 +0,0 @@ -RADXA ROCKPI-N10 -================ -https://wiki.radxa.com/RockpiN10 - -Build: -====== - $ make rock_pi_n10_defconfig - $ make - -Files created in output directory -================================= - -output/images -. -├── bl31.elf -├── boot.vfat -├── extlinux -├── idbloader.img -├── Image -├── rk3399pro-rock-pi-n10.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. - -Booting: -======== - -Serial console: ---------------- -RockPi-N10 has a 40-pin GPIO header. The pin layout is as follows: - -pin 6: gnd -pin 8: tx -pin 10: rx - -Baudrate for this board is 1500000. - -The boot order on rockpi-n10 is emmc, sd. If emmc contains a valid Image, the board -always boots from emmc. To boot from SD, erase emmc as per the guide: - -https://wiki.amarulasolutions.com/bsp/setup/rockchip/rk3399_emmc.html - -Login: ------- -Enter 'root' as login user, and the prompt is ready. - -wiki link: ----------- -https://wiki.amarulasolutions.com/bsp/rockchip/rk3399pro/rock-pi-n10.html diff --git a/board/raspberrypi/config_0w.txt b/board/raspberrypi/config_0w.txt index 195bad449e..bc59d5fad2 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 195bad449e..bc59d5fad2 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 34412fa9e8..6672871125 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 ea02d3f071..74a7b270cd 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 41c7e97e99..a4ae327d2a 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 9e6b7f5ccf..55095f64a7 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 04be16cce6..0000000000 --- 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 313f85f651..0000000000 --- a/board/raspberrypi/genimage-raspberrypi0.cfg +++ /dev/null @@ -1,32 +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", - "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-raspberrypi0w.cfg b/board/raspberrypi/genimage-raspberrypi0w.cfg deleted file mode 100644 index de7652f99e..0000000000 --- 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 dad9275537..0000000000 --- a/board/raspberrypi/genimage-raspberrypi2.cfg +++ /dev/null @@ -1,32 +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", - "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-raspberrypi3-64.cfg b/board/raspberrypi/genimage-raspberrypi3-64.cfg deleted file mode 100644 index 8cbcd91638..0000000000 --- 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 a617823379..0000000000 --- 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.cfg b/board/raspberrypi/genimage-raspberrypi4.cfg deleted file mode 100644 index 2e578ad556..0000000000 --- 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.cfg b/board/raspberrypi/genimage-raspberrypicm4io.cfg deleted file mode 100644 index 4d09b03556..0000000000 --- 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 b510fea563..0000000000 --- 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-raspberrypi4-64.cfg b/board/raspberrypi/genimage.cfg.in similarity index 57% rename from board/raspberrypi/genimage-raspberrypi4-64.cfg rename to board/raspberrypi/genimage.cfg.in index 3ae938db20..fd38b86a0c 100644 --- a/board/raspberrypi/genimage-raspberrypi4-64.cfg +++ b/board/raspberrypi/genimage.cfg.in @@ -1,13 +1,7 @@ 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" +#BOOT_FILES# } } diff --git a/board/raspberrypi/post-build.sh b/board/raspberrypi/post-build.sh index 0bd7bc3d17..73026e5922 100755 --- a/board/raspberrypi/post-build.sh +++ b/board/raspberrypi/post-build.sh @@ -14,6 +14,3 @@ elif [ -d ${TARGET_DIR}/etc/systemd ]; then ln -sf /lib/systemd/system/getty@.service \ "${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty@tty1.service" fi - -# ensure overlays exists for genimage -mkdir -p "${BINARIES_DIR}/rpi-firmware/overlays" diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh index 6cad20fb9e..9b9eac972b 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 c81fd801ae..9202b5ff37 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/shredos/doimg.sh.version used in previous v2021.08.2 b/board/shredos/doimg.sh.version used in previous v2021.08.2 deleted file mode 100755 index 4c59da3a93..0000000000 --- a/board/shredos/doimg.sh.version used in previous v2021.08.2 +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -e - -version=`cat board/shredos/version.txt` - -cp "board/shredos/grub.cfg" "${BINARIES_DIR}/grub.cfg" || exit 1 -cp "board/shredos/bootx64.efi" "${BINARIES_DIR}/bootx64.efi" || exit 1 -cp "${HOST_DIR}/lib/grub/i386-pc/boot.img" "${BINARIES_DIR}/boot.img" || exit 1 - -# copy the ShredOS icon and Windows autorun.inf; if a USB stick is plugged into a Windows system -# it will be identified as 'ShredOS - Dangerous' as a warning to users unaware what ShredOS is. -cp "board/shredos/autorun.inf" "${BINARIES_DIR}/autorun.inf" || exit 1 -cp "board/shredos/README.txt" "${BINARIES_DIR}/README.txt" || exit 1 -cp "board/shredos/shredos.ico" "${BINARIES_DIR}/shredos.ico" || exit 1 - -rm -rf "${BUILD_DIR}/genimage.tmp" || exit 1 -genimage --rootpath="${TARGET_DIR}" --inputpath="${BINARIES_DIR}" --outputpath="${BINARIES_DIR}" --config="board/shredos/genimage.cfg" --tmppath="${BUILD_DIR}/genimage.tmp" || exit 1 - -# renaming -SUFFIXIMG="${version}_$(date +%Y%m%d)" -FINAL_IMAGE_PATH="${BINARIES_DIR}/shredos-${SUFFIXIMG}.img" -mv "${BINARIES_DIR}/shredos.img" "${FINAL_IMAGE_PATH}" || exit 1 - -echo "File ${FINAL_IMAGE_PATH} created successfully" - -exit 0 diff --git a/board/shredos/fsoverlay/etc/shredos/version.txt b/board/shredos/fsoverlay/etc/shredos/version.txt index 5cd61ee7ce..02e3b3bf9b 100644 --- a/board/shredos/fsoverlay/etc/shredos/version.txt +++ b/board/shredos/fsoverlay/etc/shredos/version.txt @@ -1 +1 @@ -2023.08.2_25.3_x86-64_0.35 +2024.02.2_26.0_x86-64_0.37 diff --git a/board/shredos/fsoverlay/usr/bin/nwipe_launcher b/board/shredos/fsoverlay/usr/bin/nwipe_launcher index a78a32da54..833f278a0b 100755 --- a/board/shredos/fsoverlay/usr/bin/nwipe_launcher +++ b/board/shredos/fsoverlay/usr/bin/nwipe_launcher @@ -639,6 +639,19 @@ do fi printf "______________________________________________________________________________\n" 2>&1 | tee -a transfer.log + # If the user has specified `shredos_autoreboot=enable` on the kernel command line + # + autoreboot=$(kernel_cmdline_extractor shredos_autoreboot) + if [ $? == 0 ] + then + if [ "$autoreboot" == "enable" ] + then + shutdown -r now + # Waits while shutdown does it's stuff, without this sleep, the message above gets redisplayed. + sleep 10 + fi + fi + # If the user specified --autopoweroff as a nwipe option then shutdown now # if [ $autopoweroff == 1 ] diff --git a/board/shredos/genimage.cfg b/board/shredos/genimage.cfg index e9bd75d561..a26e21cb63 100644 --- a/board/shredos/genimage.cfg +++ b/board/shredos/genimage.cfg @@ -11,7 +11,7 @@ image boot.vfat { file autorun.inf { image = 'autorun.inf' } } - size = 260000000 + size = 280000000 } image shredos.img { diff --git a/board/shredos/kernel-6.4-defconfig.config b/board/shredos/kernel-6.6.22-defconfig.config similarity index 99% rename from board/shredos/kernel-6.4-defconfig.config rename to board/shredos/kernel-6.6.22-defconfig.config index f0657d6267..b0dca0d100 100644 --- a/board/shredos/kernel-6.4-defconfig.config +++ b/board/shredos/kernel-6.6.22-defconfig.config @@ -156,7 +156,6 @@ CONFIG_SCSI_STEX=y CONFIG_SCSI_SYM53C8XX_2=y CONFIG_SCSI_IPR=y CONFIG_SCSI_QLOGIC_1280=y -CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA_ISCSI=y CONFIG_QEDI=y CONFIG_SCSI_LPFC=y @@ -571,7 +570,6 @@ CONFIG_MFD_RC5T583=y CONFIG_MFD_SI476X_CORE=y CONFIG_MFD_SM501=y CONFIG_MFD_SKY81452=y -CONFIG_MFD_TI_AM335X_TSCADC=y CONFIG_MFD_LP3943=y CONFIG_MFD_LP8788=y CONFIG_MFD_TI_LMU=y @@ -610,6 +608,7 @@ CONFIG_USB_PULSE8_CEC=y CONFIG_USB_RAINSHADOW_CEC=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_AUXDISPLAY=y CONFIG_AGP=y CONFIG_AGP_AMD64=y CONFIG_AGP_INTEL=y @@ -694,8 +693,6 @@ CONFIG_DRM_SSD130X=y CONFIG_DRM_SSD130X_I2C=y CONFIG_DRM_SSD130X_SPI=y CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y -CONFIG_FB_FOREIGN_ENDIAN=y CONFIG_FB_CIRRUS=y CONFIG_FB_PM2=y CONFIG_FB_PM2_FIFO_DISCONNECT=y @@ -753,6 +750,8 @@ CONFIG_FB_IBM_GXT4500=y CONFIG_FB_MB862XX=y CONFIG_FB_SSD1307=y CONFIG_FB_SM712=y +CONFIG_FIRMWARE_EDID=y +CONFIG_FB_FOREIGN_ENDIAN=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_LCD_L4F00242T03=y CONFIG_LCD_LMS283GF05=y @@ -790,7 +789,6 @@ CONFIG_BACKLIGHT_LV5207LP=y CONFIG_BACKLIGHT_BD6107=y CONFIG_BACKLIGHT_ARCXCNN=y CONFIG_BACKLIGHT_LED=y -CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y @@ -1072,7 +1070,6 @@ CONFIG_LEDS_MLXCPLD=y CONFIG_LEDS_MLXREG=y CONFIG_LEDS_USER=y CONFIG_LEDS_NIC78BX=y -CONFIG_LEDS_TI_LMU_COMMON=y CONFIG_LEDS_LM36274=y CONFIG_LEDS_AS3645A=y CONFIG_LEDS_LM3601X=y @@ -1155,11 +1152,9 @@ CONFIG_RTC_DRV_M48T86=y CONFIG_RTC_DRV_M48T35=y CONFIG_RTC_DRV_M48T59=y CONFIG_RTC_DRV_MSM6242=y -CONFIG_RTC_DRV_BQ4802=y CONFIG_RTC_DRV_RP5C01=y CONFIG_RTC_DRV_FTRTC010=y CONFIG_RTC_DRV_GOLDFISH=y -CONFIG_AUXDISPLAY=y CONFIG_COMEDI=y CONFIG_COMEDI_MISC_DRIVERS=y CONFIG_COMEDI_BOND=y @@ -1327,7 +1322,6 @@ CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y CONFIG_PSTORE=y -CONFIG_PSTORE_LZO_COMPRESS=y CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_850=y diff --git a/board/sifive/hifive-unleashed/genimage_sdcard.cfg b/board/sifive/hifive-unleashed/genimage_sdcard.cfg index 079ac5ed26..99e3525a8c 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 3263913e9c..e9ccb26fa6 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/licheepi_nano/genimage.cfg b/board/sipeed/licheepi_nano/genimage.cfg new file mode 100644 index 0000000000..5e398eeb21 --- /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 0000000000..af68f28167 --- /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 0000000000..1f1f8ef17d --- /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 0000000000..39f2bfe742 --- /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/licheepi/readme.txt b/board/sipeed/licheepi_zero/readme.txt similarity index 97% rename from board/licheepi/readme.txt rename to board/sipeed/licheepi_zero/readme.txt index 6b8bf94b45..2f122125b7 100644 --- a/board/licheepi/readme.txt +++ b/board/sipeed/licheepi_zero/readme.txt @@ -10,7 +10,7 @@ How to build it Configure Buildroot ------------------- - $ make licheepi_zero_defconfig + $ make sipeed_licheepi_zero_defconfig Build the rootfs ---------------- diff --git a/board/solidrun/mx6cubox/patches/uboot/0001-mx6cuboxi-Fix-the-mmc-device-for-the-rootfs.patch b/board/solidrun/mx6cubox/patches/uboot/0001-mx6cuboxi-Fix-the-mmc-device-for-the-rootfs.patch deleted file mode 100644 index b9755a042b..0000000000 --- a/board/solidrun/mx6cubox/patches/uboot/0001-mx6cuboxi-Fix-the-mmc-device-for-the-rootfs.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 96db7c072b96f9b7a1d9a986eff20353f7459004 Mon Sep 17 00:00:00 2001 -From: Fabio Estevam -Date: Sun, 18 Jul 2021 19:08:36 -0300 -Subject: [PATCH] mx6cuboxi: Fix the mmc device for the rootfs - -After the comversion to DM_MMC, the rootfs is mmc 1, so -adjust it accordingly. - -Signed-off-by: Fabio Estevam ---- - include/configs/mx6cuboxi.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h -index 55717c77ab38..1a06f29b8c17 100644 ---- a/include/configs/mx6cuboxi.h -+++ b/include/configs/mx6cuboxi.h -@@ -57,7 +57,7 @@ - "console=" CONSOLE_DEV ",115200\0" \ - "bootm_size=0x10000000\0" \ - "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ -- "finduuid=part uuid mmc 0:1 uuid\0" \ -+ "finduuid=part uuid mmc 1:1 uuid\0" \ - "update_sd_firmware=" \ - "if test ${ip_dyn} = yes; then " \ - "setenv get_cmd dhcp; " \ --- -2.25.1 - diff --git a/board/solidrun/mx6cubox/patches/uboot/0002-mx6cuboxi-Fix-the-console-variable.patch b/board/solidrun/mx6cubox/patches/uboot/0002-mx6cuboxi-Fix-the-console-variable.patch deleted file mode 100644 index c02134101f..0000000000 --- a/board/solidrun/mx6cubox/patches/uboot/0002-mx6cuboxi-Fix-the-console-variable.patch +++ /dev/null @@ -1,40 +0,0 @@ -From ab1dd9332c379164925aee755a013dbd8839501b Mon Sep 17 00:00:00 2001 -From: Fabio Estevam -Date: Mon, 19 Jul 2021 16:48:07 -0300 -Subject: [PATCH 2/2] mx6cuboxi: Fix the console variable - -Do not pass the console baudrate to the 'console' variable -to avoid the baudrate being passed twice when using extlinux.conf: - -cat /proc/cmdline -root=PARTUUID=00000000-01 rootwait rw console=ttymxc0,115200,115200 - -Signed-off-by: Fabio Estevam ---- - include/configs/mx6cuboxi.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h -index 1a06f29b8c17..9e5083b0d876 100644 ---- a/include/configs/mx6cuboxi.h -+++ b/include/configs/mx6cuboxi.h -@@ -38,7 +38,6 @@ - /* Command definition */ - - #define CONFIG_MXC_UART_BASE UART1_BASE --#define CONSOLE_DEV "ttymxc0" - - #ifndef CONFIG_SPL_BUILD - #define CONFIG_EXTRA_ENV_SETTINGS \ -@@ -54,7 +53,7 @@ - "ramdiskaddr=0x13000000\0" \ - "initrd_high=0xffffffff\0" \ - "ip_dyn=yes\0" \ -- "console=" CONSOLE_DEV ",115200\0" \ -+ "console=ttymxc0\0" \ - "bootm_size=0x10000000\0" \ - "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ - "finduuid=part uuid mmc 1:1 uuid\0" \ --- -2.25.1 - diff --git a/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template index ff4aeceeed..c2affd98ea 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 363c3127cf..0cf52f4564 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/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch b/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch deleted file mode 100644 index d6d5c61aae..0000000000 --- a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ded9afa688184b3240a92c2b8f114c545a09bc3f Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 12 Mar 2016 23:14:41 +0100 -Subject: [PATCH] ARM: stm32f249-disco: don't force init= in /chosen/bootargs - -There is no reason to override the kernel's default init= value, as -this breaks userspace that assumes the kernel default of /init is -used. Since stm32 is often used with a minimal bootloader -(afboot-stm32) that doesn't provide any mechanism to override the DTB, -we need to adjust the kernel command line in the Device Tree source. - -Signed-off-by: Thomas Petazzoni ---- - arch/arm/boot/dts/stm32f429-disco.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/stm32f429-disco.dts b/arch/arm/boot/dts/stm32f429-disco.dts -index f0b731d..2bae81c 100644 ---- a/arch/arm/boot/dts/stm32f429-disco.dts -+++ b/arch/arm/boot/dts/stm32f429-disco.dts -@@ -53,7 +53,7 @@ - compatible = "st,stm32f429i-disco", "st,stm32f429"; - - chosen { -- bootargs = "root=/dev/ram rdinit=/linuxrc"; -+ bootargs = "root=/dev/ram"; - stdout-path = "serial0:115200n8"; - }; - --- -2.6.4 - diff --git a/board/stmicroelectronics/stm32f469-disco/flash.sh b/board/stmicroelectronics/stm32f469-disco/flash.sh deleted file mode 100755 index 984d2b2599..0000000000 --- a/board/stmicroelectronics/stm32f469-disco/flash.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/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/stm32f469discovery.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/stm32f469-disco/linux.fragment b/board/stmicroelectronics/stm32f469-disco/linux.fragment deleted file mode 100644 index 90f5e8a8ff..0000000000 --- a/board/stmicroelectronics/stm32f469-disco/linux.fragment +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_XIP_KERNEL is not set \ No newline at end of file diff --git a/board/synopsys/nsim/readme.txt b/board/synopsys/nsim/readme.txt new file mode 100644 index 0000000000..cc89cf87ac --- /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/synopsys/vdk/linux-vdk-aarch64-defconfig b/board/synopsys/vdk/linux-vdk-aarch64-defconfig deleted file mode 100644 index 8109e16925..0000000000 --- a/board/synopsys/vdk/linux-vdk-aarch64-defconfig +++ /dev/null @@ -1,143 +0,0 @@ -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=16 -CONFIG_CGROUPS=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_EMBEDDED=y -CONFIG_SLAB=y -CONFIG_PROFILING=y -CONFIG_CC_STACKPROTECTOR_REGULAR=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_SMP=y -CONFIG_SCHED_MC=y -CONFIG_SCHED_SMT=y -CONFIG_NR_CPUS=8 -CONFIG_PREEMPT=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y -CONFIG_CMDLINE="console=ttyAMA0 earlyprintk=pl011,0x1c090000 debug user_debug=31 loglevel=9 root=/dev/vda" -CONFIG_CMDLINE_FORCE=y -CONFIG_BINFMT_MISC=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_ARM_BIG_LITTLE_CPUFREQ=y -CONFIG_ARM_DT_BL_CPUFREQ=y -CONFIG_ARM_SPCI_CPUFREQ=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_XFRM_USER=y -CONFIG_NET_KEY=y -CONFIG_NET_KEY_MIGRATE=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_SYN_COOKIES=y -CONFIG_NETWORK_PHY_TIMESTAMPING=y -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_VEXPRESS_CONFIG=y -CONFIG_CONNECTOR=m -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_NBD=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=65536 -CONFIG_VIRTIO_BLK=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_DEV_DM=y -CONFIG_NETDEVICES=y -CONFIG_STMMAC_ETH=m -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_MISC=y -CONFIG_INPUT_UINPUT=y -CONFIG_SERIO_AMBAKMI=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_SYSFS=y -CONFIG_POWER_RESET_VEXPRESS=y -CONFIG_FB=y -CONFIG_FB_ARMCLCD=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_LOGO=y -CONFIG_USB_HIDDEV=y -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_HCD_SYNOPSYS=y -CONFIG_USB_OHCI_HCD=y -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_ULPI=y -CONFIG_USB_DUMMY_HCD=m -CONFIG_USB_G_SERIAL=m -CONFIG_MMC=y -CONFIG_MMC_ARMMMCI=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_GPIO=y -CONFIG_SWITCH=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_PL031=y -CONFIG_VIRTIO_BALLOON=y -CONFIG_VIRTIO_MMIO=y -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y -CONFIG_COMMON_CLK_VERSATILE=y -CONFIG_CLK_SP810=y -CONFIG_CLK_VEXPRESS_OSC=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_MAILBOX=y -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_BTRFS_FS=m -CONFIG_QFMT_V2=y -CONFIG_AUTOFS4_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_HUGETLBFS=m -CONFIG_ECRYPT_FS=m -CONFIG_CRAMFS=m -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=y -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_INFO=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_SCHEDSTATS=y -CONFIG_TIMER_STATS=y -CONFIG_FUNCTION_TRACER=y -CONFIG_STRICT_DEVMEM=y -CONFIG_SECURITY=y -CONFIG_SECURITY_NETWORK_XFRM=y -CONFIG_LSM_MMAP_MIN_ADDR=0 - diff --git a/board/synopsys/vdk/readme.txt b/board/synopsys/vdk/readme.txt deleted file mode 100644 index 9804647340..0000000000 --- a/board/synopsys/vdk/readme.txt +++ /dev/null @@ -1,65 +0,0 @@ -Synopsys VDK Software Development Platform - -Intro -===== - -The Virtualizer Development Kit (VDK) Family for ARM Cortex Products -consists of a set of virtual prototypes that provide a virtualizer for -the ARM core variants. The VDK is a standalone package that runs on an -host computer. - -Buildroot will generate the kernel image and a minimal root filesystem. - -How to build it -=============== - -Configure Buildroot -------------------- - -Configuring Buildroot is pretty simple, just execute: - - $ make snps_aarch64_vdk_defconfig - -Build the rootfs and kernel ---------------------------- - -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) - -Result of the build -------------------- - -After building, you should obtain this tree: - - output/images/ - -- rootfs.ext2 - -- Image - -Installing your rootfs and Image -================================ - -Now copy the content of the output/images folder to the VDK' skins -folder: - - $ cp rootfs.ext2 Image /skins/Vanilla-Cortex/ARMv8 - - -Starting the VDK -================================ - -Go the VDK' installation root and execute the 'start' script: - - $ cd - $ ./start.sh - -The VP Explorer application will be executed, starting the simulation -automatically. - -For more information about Synopsys' VDK please check: -http://www.synopsys.com/Prototyping/VirtualPrototyping/Pages/default.aspx 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 0000000000..90e808cc8e --- /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 0000000000..d989bdb06b --- /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 0000000000..90e808cc8e --- /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 0000000000..d989bdb06b --- /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 0000000000..29e0ecfa14 --- /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 0000000000..02a9ffe013 --- /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 0000000000..5dcdb352eb --- /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/friendlyarm/nanopi-r1/readme.txt b/board/ti/am574x-idk/readme.txt similarity index 51% rename from board/friendlyarm/nanopi-r1/readme.txt rename to board/ti/am574x-idk/readme.txt index fa3114fc83..4869984cf1 100644 --- a/board/friendlyarm/nanopi-r1/readme.txt +++ b/board/ti/am574x-idk/readme.txt @@ -1,20 +1,19 @@ -NanoPi R1 +Texas Instuments AM574x IDK Test and Development Board -Intro -===== +Description +=========== -This default configuration will allow you to start experimenting with the -buildroot environment for the NanoPi R1. With the current configuration -it will bring-up the board, and allow access through the serial console. +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 friendlyarm_nanopi_r1_defconfig + $ make am574x_idk_defconfig -Compile everything and build the SD card image: +Compile everything and build the USB flash drive image: $ make diff --git a/board/friendlyarm/nanopi-neo/genimage.cfg b/board/ti/am62x-sk/genimage.cfg similarity index 54% rename from board/friendlyarm/nanopi-neo/genimage.cfg rename to board/ti/am62x-sk/genimage.cfg index f6adc4af3e..26304fe98f 100644 --- a/board/friendlyarm/nanopi-neo/genimage.cfg +++ b/board/ti/am62x-sk/genimage.cfg @@ -1,12 +1,13 @@ image boot.vfat { vfat { files = { - "zImage", - "sun8i-h3-nanopi-neo.dtb", - "boot.scr" + "tiboot3.bin", + "tispl.bin", + "u-boot.img", } } - size = 10M + + size = 16M } image sdcard.img { @@ -14,13 +15,6 @@ image sdcard.img { } partition u-boot { - in-partition-table = "no" - image = "u-boot-sunxi-with-spl.bin" - offset = 8192 - size = 1040384 # 1MB - 8192 - } - - partition boot { partition-type = 0xC bootable = "true" image = "boot.vfat" diff --git a/board/ti/am62x-sk/readme.txt b/board/ti/am62x-sk/readme.txt new file mode 100644 index 0000000000..5af1c59c2d --- /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/raspberrypi/genimage-raspberrypicm4io-64.cfg b/board/ti/am64x-sk/genimage.cfg similarity index 51% rename from board/raspberrypi/genimage-raspberrypicm4io-64.cfg rename to board/ti/am64x-sk/genimage.cfg index 73d31a57ba..26304fe98f 100644 --- a/board/raspberrypi/genimage-raspberrypicm4io-64.cfg +++ b/board/ti/am64x-sk/genimage.cfg @@ -1,24 +1,20 @@ 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" + "tiboot3.bin", + "tispl.bin", + "u-boot.img", } } - size = 32M + size = 16M } image sdcard.img { hdimage { } - partition boot { + partition u-boot { partition-type = 0xC bootable = "true" image = "boot.vfat" diff --git a/board/ti/am64x-sk/readme.txt b/board/ti/am64x-sk/readme.txt new file mode 100644 index 0000000000..5ddbb836ed --- /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 0000000000..5808d92afe --- /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 0000000000..1138ec3b93 --- /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 0000000000..a81a7d8d4a --- /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 index 695cc80b94..8ad996914b 120000 --- 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 @@ -1 +1 @@ -../../../../boot/arm-trusted-firmware/v2.6/0001-feat-build-add-support-for-new-binutils-versions.patch \ No newline at end of file +../../../../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 0000000000..fecdee5449 --- /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 ed08ea2d49..faa75a0de3 100755 --- a/board/versal/post-build.sh +++ b/board/versal/post-build.sh @@ -11,5 +11,5 @@ 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 1d9802c34d..22367d5028 100755 --- a/board/versal/post-image.sh +++ b/board/versal/post-image.sh @@ -11,16 +11,15 @@ FIRST_DT=$(sed -nr \ [ -z "${FIRST_DT}" ] || ln -fs "${FIRST_DT}.dtb" "${BINARIES_DIR}/system.dtb" BOARD_DIR="$(dirname "$0")" -BOARD_NAME="$4" 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 diff --git a/board/versal/uboot.fragment b/board/versal/uboot.fragment deleted file mode 100644 index 6f71907379..0000000000 --- a/board/versal/uboot.fragment +++ /dev/null @@ -1 +0,0 @@ -CONFIG_OF_SEPARATE=y diff --git a/board/zynq/readme.txt b/board/zynq/readme.txt index 162734963a..b2a4cefedd 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 0000000000..2203536a52 --- /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 0000000000..f088b90f52 --- /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 0000000000..5566dae891 --- /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 0000000000..13061ddcb3 --- /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 0000000000..ac49fa5ee4 --- /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 0000000000..9692a30d37 --- /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/pm_cfg_obj.c b/board/zynqmp/kria/kv260/pm_cfg_obj.c index 019df6e237..fc6c4024c6 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/patches/uboot/v1-0001-makefile-add-multi_dtb_fit-dep.patch b/board/zynqmp/kria/patches/uboot/v1-0001-makefile-add-multi_dtb_fit-dep.patch deleted file mode 100644 index ddc04cacac..0000000000 --- a/board/zynqmp/kria/patches/uboot/v1-0001-makefile-add-multi_dtb_fit-dep.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 8b181bf582c17cf709a62cf499f9709c94f49d33 Mon Sep 17 00:00:00 2001 -From: Neal Frager -Date: Wed, 21 Dec 2022 07:51:42 +0000 -Subject: [PATCH v1 1/1] makefile: add multi_dtb_fit dep - -With certain gcc compilers, the u-boot.itb is built immediately after dtb -generation. If CONFIG_MULTI_DTB_FIT is used, it is possible that the -fit-dtb.blob is not finished in time. - -This patch adds a necessary dependency to guarantee that the fit-dtb.blob -is built before attempting to build the u-boot.itb. - -Signed-off-by: Neal Frager ---- - Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile b/Makefile -index b96e2ffa15..682a5d94fd 100644 ---- a/Makefile -+++ b/Makefile -@@ -1425,6 +1425,7 @@ MKIMAGEFLAGS_u-boot.itb += -B 0x8 - ifdef U_BOOT_ITS - u-boot.itb: u-boot-nodtb.bin \ - $(if $(CONFIG_OF_SEPARATE)$(CONFIG_OF_EMBED)$(CONFIG_SANDBOX),dts/dt.dtb) \ -+ $(if $(CONFIG_MULTI_DTB_FIT),$(FINAL_DTB_CONTAINER)) \ - $(U_BOOT_ITS) FORCE - $(call if_changed,mkfitimage) - $(BOARD_SIZE_CHECK) --- -2.17.1 - diff --git a/board/zynqmp/kria/readme.txt b/board/zynqmp/kria/readme.txt index bea1430482..96009804b3 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/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 index 695cc80b94..8ad996914b 120000 --- 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 @@ -1 +1 @@ -../../../../boot/arm-trusted-firmware/v2.6/0001-feat-build-add-support-for-new-binutils-versions.patch \ No newline at end of file +../../../../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 0000000000..fecdee5449 --- /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/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch b/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch deleted file mode 100644 index 4d85e1bb12..0000000000 --- a/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch +++ /dev/null @@ -1,52 +0,0 @@ -From e5d72ed8339eb05285448aad3c89d21e4d18fd29 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Mon, 26 Feb 2018 09:40:34 +0100 -Subject: [PATCH] arm64: zynqmp: zcu106: fix SPL MMC booting - -The U-Boot SPL generated with the current zcu106 defconfig cannot boot -from MMC: - - [...] - U-Boot SPL 2018.01 (Feb 21 2018 - 17:47:14) - EL Level: EL3 - Trying to boot from MMC1 - sdhci_transfer_data: Error detected in status(0x408020)! - spl_load_image_fat_os: error reading image u-boot.bin, err - -2 - spl_load_image_fat: error reading image u-boot.img, err - -6 - SPL: failed to boot from all boot devices - ### ERROR ### Please RESET the board ### - -Fix by lowering the rpll value. The new value for the RPLL_CTRL -register comes from the current psu_init_gpl.c from the HDF file at -https://github.com/xilinx/hdf-examples/tree/01ad8ea5fd1989abf4ea5a072d019a16cb2bc546/zcu106-zynqmp -(generated by Vivado v2017.4). - -RPLL and sdio1_ref clocks before and after this change: - - - Old values: RPLL 1.36 GHz, sdio1_ref 272 MHz - - New values: RPLL 1.16 GHz, sdio1_ref 233 MHz - -Signed-off-by: Luca Ceresoli -Cc: Michal Simek -Upstream-status: accepted upstream in a different form ---- - - board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c -index 4d18abe000ca..e6fa477e53e7 100644 ---- a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c -+++ b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c -@@ -10,7 +10,7 @@ - static unsigned long psu_pll_init_data(void) - { - psu_mask_write(0xFF5E0034, 0xFE7FEDEFU, 0x7E4E2C62U); -- psu_mask_write(0xFF5E0030, 0x00717F00U, 0x00013C00U); -+ psu_mask_write(0xFF5E0030, 0x00717F00U, 0x00014600U); - psu_mask_write(0xFF5E0030, 0x00000008U, 0x00000008U); - psu_mask_write(0xFF5E0030, 0x00000001U, 0x00000001U); - psu_mask_write(0xFF5E0030, 0x00000001U, 0x00000000U); --- -2.7.4 - diff --git a/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch b/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch deleted file mode 100644 index 487fff6812..0000000000 --- a/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 5e3cac50cc981e01d9072241035a8d4162560c71 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Mon, 12 Mar 2018 17:18:38 +0100 -Subject: [PATCH] arm64: zynqmp: Enable booting to ATF - -U-Boot is now able to boot to ARM Trusted Firmware (ATF). The boot -flow is SPL(EL3) loads ATF and full u-boot and jump to ATF(EL3) which -pass control to full u-boot(EL2). This has been tested on zcu106, so -enable it in this defconfig. - -To generate an image that triggers this booting flow, you need to pass -'-O arm-trusted-firmware' to mkimage. - -Signed-off-by: Luca Ceresoli -Signed-off-by: Michal Simek -Backported from upstream: http://git.denx.de/?p=u-boot.git;a=commit;h=5e3cac50cc981e01d9072241035a8d4162560c71 ---- - - configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 1 + - configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 1 + - configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig | 1 + - configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig | 1 + - configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + - configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + - configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + - 7 files changed, 7 insertions(+) - -diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig -index c5bfa2b12638..488c72258b0e 100644 ---- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig -+++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig -@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y -diff --git a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig -index f86dce403a42..5d501eec0edd 100644 ---- a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig -+++ b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig -@@ -20,6 +20,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y -diff --git a/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig b/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig -index 6e947cf56827..6f7eaebd7676 100644 ---- a/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig -+++ b/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig -@@ -16,6 +16,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_CMD_MEMTEST=y - CONFIG_SYS_ALT_MEMTEST=y -diff --git a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig -index 1c934858c61c..7a3806cba4b5 100644 ---- a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig -+++ b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig -@@ -17,6 +17,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_CMD_MEMTEST=y - CONFIG_SYS_ALT_MEMTEST=y -diff --git a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig -index e13c7c56f310..e4408f182ca0 100644 ---- a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig -+++ b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig -@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y -diff --git a/configs/xilinx_zynqmp_zcu102_revA_defconfig b/configs/xilinx_zynqmp_zcu102_revA_defconfig -index 5b2cd495ee85..b52f6789fd4b 100644 ---- a/configs/xilinx_zynqmp_zcu102_revA_defconfig -+++ b/configs/xilinx_zynqmp_zcu102_revA_defconfig -@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y -diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig -index e6530fbfe7ff..80592554f682 100644 ---- a/configs/xilinx_zynqmp_zcu102_revB_defconfig -+++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig -@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_SPL_OS_BOOT=y - CONFIG_SPL_RAM_SUPPORT=y - CONFIG_SPL_RAM_DEVICE=y -+CONFIG_SPL_ATF=y - CONFIG_SYS_PROMPT="ZynqMP> " - CONFIG_FASTBOOT=y - CONFIG_FASTBOOT_FLASH=y --- -2.7.4 - diff --git a/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch b/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch deleted file mode 100644 index 95ab7b3b75..0000000000 --- a/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch +++ /dev/null @@ -1,68 +0,0 @@ -From c7df098a71e05dc81cee818747759e8060b59626 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Mon, 4 Jun 2018 12:21:01 +0200 -Subject: [PATCH] arm64: zynqmp: accept an absolute path for PMUFW_INIT_FILE - -The value of PMUFW_INIT_FILE is prefixed with "$(srctree)/", thus -forcing it to be a relative path inside the U-Boot source tree. Since -the PMUFW is a binary file generated outside of U-Boot, the PMUFW -binary must be copied inside the U-Boot source tree before the -build. - -This generates a few problems: - - * if the source tree is shared among different out-of-tree builds, - they will pollute (and potentially corrupt) each other - * the source tree cannot be read-only - * any buildsystem must add a command to copy the PMUFW binary - * putting an externally-generated binary in the source tree is ugly - as hell - -Avoid these problems by accepting an absolute path for -PMUFW_INIT_FILE. This would be as simple as removing the "$(srctree)/" -prefix, but in order to keep backward compatibility we rather use the -shell and readlink to get the absolute path even when starting from a -relative path. - -Since 'readlink -f' produces an empty string if the file does not -exist, we also add a check to ensure the file configured in -PMUFW_INIT_FILE exists. Otherwise the build would exit successfully, -but produce a boot.bin without PMUFW as if PMUFW_INIT_FILE were empty. - -Tested in the 12 possible combinations of: - - PMUFW_INIT_FILE empty, relative, absolute, non-existing - - building in-tree, in subdir, in other directory - -Signed-off-by: Luca Ceresoli -Cc: Michal Simek -Cc: Simon Glass -Cc: Emmanuel Vadot -Signed-off-by: Michal Simek -Backported from upstream: https://git.denx.de/?p=u-boot.git;a=commit;h=c7df098a71e05dc81cee818747759e8060b59626 ---- - scripts/Makefile.spl | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl -index ef018b5b4056..252f13826d4c 100644 ---- a/scripts/Makefile.spl -+++ b/scripts/Makefile.spl -@@ -167,8 +167,14 @@ ifdef CONFIG_ARCH_ZYNQ - MKIMAGEFLAGS_boot.bin = -T zynqimage -R $(srctree)/$(CONFIG_BOOT_INIT_FILE) - endif - ifdef CONFIG_ARCH_ZYNQMP -+ifneq ($(CONFIG_PMUFW_INIT_FILE),"") -+spl/boot.bin: zynqmp-check-pmufw -+zynqmp-check-pmufw: FORCE -+ ( cd $(srctree) && test -r $(CONFIG_PMUFW_INIT_FILE) ) \ -+ || ( echo "Cannot read $(CONFIG_PMUFW_INIT_FILE)" && false ) -+endif - MKIMAGEFLAGS_boot.bin = -T zynqmpimage -R $(srctree)/$(CONFIG_BOOT_INIT_FILE) \ -- -n $(srctree)/$(CONFIG_PMUFW_INIT_FILE) -+ -n "$(shell cd $(srctree); readlink -f $(CONFIG_PMUFW_INIT_FILE))" - endif - - spl/boot.bin: $(obj)/u-boot-spl.bin FORCE --- -2.7.4 - diff --git a/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch b/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch deleted file mode 100644 index b32e162780..0000000000 --- a/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 4c9d54ab5a41d65000c8d249b6fb1b76056f1812 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Wed, 20 Jun 2018 12:11:50 +0200 -Subject: [PATCH] arm/arm64: zynq/zynqmp: pass the PS init file as a kconfig - variable - -U-Boot needs to link ps7_init_gpl.c on Zynq or psu_init_gpl.c on -ZynqMP (PS init for short). The current logic to locate this file for -both platforms is: - - 1. if a board-specific file exists in - board/xilinx/zynq[mp]/$(CONFIG_DEFAULT_DEVICE_TREE)/ps?_init_gpl.c - then use it - 2. otherwise use board/xilinx/zynq/ps?_init_gpl.c - -In the latter case the file does not exist in the U-Boot sources and -must be copied in the source tree from the outside before starting the -build. This is typical when it is generated from Xilinx tools while -developing a custom hardware. However making sure that a -board-specific file is _not_ found (and used) requires some trickery -such as removing or overwriting all PS init files (e.g.: the current -meta-xilinx yocto layer [0]). - -This generates a few problems: - - * if the source tree is shared among different out-of-tree builds, - they will pollute (and potentially corrupt) each other - * the source tree cannot be read-only - * any buildsystem must add a command to copy the PS init file binary - * overwriting or deleting files in the source tree is ugly as hell - -Simplify usage by allowing to pass the path to the desired PS init -file in kconfig variable XILINX_PS_INIT_FILE. It can be an absolute -path or relative to $(srctree). If the variable is set, the -user-specified file will always be used without being copied -around. If the the variable is left empty, for backward compatibility -fall back to the old behaviour. - -Since the issue is the same for Zynq and ZynqMP, add one kconfig -variable in a common place and use it for both. - -Also use the new kconfig help text to document all the ways to give -U-Boot the PS init file. - -Build-tested with all combinations of: - - platform: zynq or zynqmp - - PS init file: from XILINX_PS_INIT_FILE (absolute, relative path, - non-existing), in-tree board-specific, in board/xilinx/zynq[mp]/ - - building in-tree, in subdir, in other directory - -[0] https://github.com/Xilinx/meta-xilinx/blob/b2f74cc7fe5c4881589d5e440a17cb51fc66a7ab/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc#L9 - -Signed-off-by: Luca Ceresoli -Cc: Albert Aribaud -Cc: Michal Simek -Cc: Nathan Rossi -Backported from upstream: https://git.denx.de/?p=u-boot.git;a=commit;h=6da4f67ad09cd8b311d77b2b04e557b7ef65b56c ---- - arch/arm/Kconfig | 1 + - board/xilinx/Kconfig | 41 +++++++++++++++++++++++++++++++++++++++++ - board/xilinx/zynq/Makefile | 10 +++++++++- - board/xilinx/zynqmp/Makefile | 10 +++++++++- - 4 files changed, 60 insertions(+), 2 deletions(-) - create mode 100644 board/xilinx/Kconfig - -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 22234cde2ab6..e04979d0ef7e 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -1293,4 +1293,5 @@ source "board/technologic/ts4600/Kconfig" - source "board/vscom/baltos/Kconfig" - source "board/woodburn/Kconfig" - source "board/work-microwave/work_92105/Kconfig" -+source "board/xilinx/Kconfig" - source "board/zipitz2/Kconfig" - - source "arch/arm/Kconfig.debug" -diff --git a/board/xilinx/Kconfig b/board/xilinx/Kconfig -new file mode 100644 -index 000000000000..aa3fa061edef ---- /dev/null -+++ b/board/xilinx/Kconfig -@@ -0,0 +1,41 @@ -+# Copyright (c) 2018, Luca Ceresoli -+# -+# SPDX-License-Identifier: GPL-2.0 -+ -+if ARCH_ZYNQ || ARCH_ZYNQMP -+ -+config XILINX_PS_INIT_FILE -+ string "Zynq/ZynqMP PS init file(s) location" -+ help -+ On Zynq and ZynqMP U-Boot SPL (or U-Boot proper if -+ ZYNQMP_PSU_INIT_ENABLED is set) is responsible for some -+ basic initializations, such as enabling peripherals and -+ configuring pinmuxes. The PS init file (called -+ psu_init_gpl.c on ZynqMP, ps7_init_gpl.c for Zynq-7000) -+ contains the code for such initializations. -+ -+ U-Boot contains PS init files for some boards, but each of -+ them describes only one specific configuration. Users of a -+ different board, or needing a different configuration, can -+ generate custom files using the Xilinx development tools. -+ -+ There are three ways to give a PS init file to U-Boot: -+ -+ 1. Set this variable to the path, either relative to the -+ source tree or absolute, where the psu_init_gpl.c or -+ ps7_init_gpl.c file is located. U-Boot will build this -+ file. -+ -+ 2. If you leave an empty string here, U-Boot will use -+ board/xilinx/zynq/$(CONFIG_DEFAULT_DEVICE_TREE)/ps7_init_gpl.c -+ for Zynq-7000, or -+ board/xilinx/zynqmp/$(CONFIG_DEFAULT_DEVICE_TREE)/psu_init_gpl.c -+ for ZynqMP. -+ -+ 3. If the above file does not exist, U-Boot will use -+ board/xilinx/zynq/ps7_init_gpl.c for Zynq-7000, or -+ board/xilinx/zynqmp/psu_init_gpl.c for ZynqMP. This file -+ is not provided by U-Boot, you have to copy it there -+ before the build. -+ -+endif -diff --git a/board/xilinx/zynq/Makefile b/board/xilinx/zynq/Makefile -index 5a76a26720cd..03ad5f0532ee 100644 ---- a/board/xilinx/zynq/Makefile -+++ b/board/xilinx/zynq/Makefile -@@ -5,10 +5,18 @@ - - obj-y := board.o - --hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) -+ifneq ($(CONFIG_XILINX_PS_INIT_FILE),"") -+PS_INIT_FILE := $(shell cd $(srctree); readlink -f $(CONFIG_XILINX_PS_INIT_FILE)) -+init-objs := ps_init_gpl.o -+spl/board/xilinx/zynq/ps_init_gpl.o board/xilinx/zynq/ps_init_gpl.o: $(PS_INIT_FILE) -+ $(CC) $(c_flags) -I $(srctree)/$(src) -c -o $@ $^ -+endif - -+ifeq ($(init-objs),) -+hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) - init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/ps7_init_gpl.c),\ - $(hw-platform-y)/ps7_init_gpl.o) -+endif - - ifeq ($(init-objs),) - ifneq ($(wildcard $(srctree)/$(src)/ps7_init_gpl.c),) -diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile -index 05ccd25dcef3..960b81fc5853 100644 ---- a/board/xilinx/zynqmp/Makefile -+++ b/board/xilinx/zynqmp/Makefile -@@ -5,10 +5,18 @@ - - obj-y := zynqmp.o - --hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) -+ifneq ($(CONFIG_XILINX_PS_INIT_FILE),"") -+PS_INIT_FILE := $(shell cd $(srctree); readlink -f $(CONFIG_XILINX_PS_INIT_FILE)) -+init-objs := ps_init_gpl.o -+spl/board/xilinx/zynqmp/ps_init_gpl.o board/xilinx/zynqmp/ps_init_gpl.o: $(PS_INIT_FILE) -+ $(CC) $(c_flags) -I $(srctree)/$(src) -c -o $@ $^ -+endif - -+ifeq ($(init-objs),) -+hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) - init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/psu_init_gpl.c),\ - $(hw-platform-y)/psu_init_gpl.o) -+endif - - ifeq ($(init-objs),) - ifneq ($(wildcard $(srctree)/$(src)/psu_init_gpl.c),) --- -2.7.4 - diff --git a/board/zynqmp/readme.txt b/board/zynqmp/readme.txt index dcde422091..3a8a9b03ac 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 68557c4cb4..04bfb16e35 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 0000000000..bd0b59cfc2 --- /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 6d15d510e9..54a1afa902 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 9d7f5c4cb9..e5fdf7ad43 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -19,6 +19,8 @@ source "boot/opensbi/Config.in" source "boot/s500-bootloader/Config.in" source "boot/shim/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/uboot/Config.in" source "boot/vexpress-firmware/Config.in" diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index cb54c6c9d8..2fe3dd1146 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,17 @@ 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 "Use Barebox as BL33" + bool "Barebox" depends on BR2_TARGET_BAREBOX help This option allows to embed the Barebox generic BL33 image in @@ -139,6 +154,30 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33 variable pointing to the generic bl33 image is passed when building ATF. +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 + bool "U-Boot" + depends on BR2_TARGET_UBOOT + help + This option allows to embed u-boot.bin as the BL33 part of + the ARM Trusted Firmware. It ensures that the u-boot package + gets built before ATF, and that the appropriate BL33 + variable pointing to u-boot.bin is passed when building ATF. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 + bool "EDK2" + depends on BR2_TARGET_EDK2 + help + This option allows to embed EDK2 as the BL33 part of + the ARM Trusted Firmware. It ensures that the EDK2 package + gets built before ATF, and that the appropriate BL33 + variable pointing to the EDK2 is passed when building ATF. + + Do not choose this option if you intend to build ATF and EDK2 + 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 @@ -150,15 +189,6 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE endif -config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 - bool "Use U-Boot as BL33" - depends on BR2_TARGET_UBOOT - help - This option allows to embed u-boot.bin as the BL33 part of - the ARM Trusted Firmware. It ensures that the u-boot package - 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 @@ -170,19 +200,6 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE endif -config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 - bool "Use EDK2 as BL33" - depends on BR2_TARGET_EDK2 - help - This option allows to embed EDK2 as the BL33 part of - the ARM Trusted Firmware. It ensures that the EDK2 package - gets built before ATF, and that the appropriate BL33 - variable pointing to the EDK2 is passed when building ATF. - - Do not choose this option if you intend to build ATF and EDK2 - for the 'qemu_sbsa' platform. In this case, due to the EDK2 - build system, the dependency between ATF and EDK is reversed. - 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 d931610dc4..73ab431b9f 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 648f62ed85..2d554c1da8 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 @@ -60,9 +60,11 @@ endif ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ 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 += \ @@ -146,18 +148,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) @@ -205,7 +195,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 0000000000..9e0ea74248 --- /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/barebox/barebox-aux/Config.in b/boot/barebox/barebox-aux/Config.in index d39d24f763..4b0201ea67 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.mk b/boot/barebox/barebox.mk index 4c9df8d618..fe366989b9 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -151,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 958e294e40..2fd70a84ae 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/edk2/Config.in b/boot/edk2/Config.in index bed503b168..4e6e7d122c 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 diff --git a/boot/edk2/edk2.hash b/boot/edk2/edk2.hash index 34d4b10e29..17918ee7bb 100644 --- a/boot/edk2/edk2.hash +++ b/boot/edk2/edk2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ca55351913e6258ebd8c08106f369ac71073d9cfaa80427fc5f131b06d808940 edk2-edk2-stable202305-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 f49258ecb5..87ac80c88f 100644 --- a/boot/edk2/edk2.mk +++ b/boot/edk2/edk2.mk @@ -4,7 +4,7 @@ # ################################################################################ -EDK2_VERSION = edk2-stable202305 +EDK2_VERSION = edk2-stable202308 EDK2_SITE = https://github.com/tianocore/edk2 EDK2_SITE_METHOD = git EDK2_LICENSE = BSD-2-Clause-Patent @@ -136,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 = \ @@ -144,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 0000000000..2a7c206b2d --- /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 ea8787de7a..0000000000 --- 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 ba9c8a9344..0000000000 --- a/boot/grub2/0002-grub-mkconfig-Restore-umask-for-the-grub.cfg.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 4c1ad500e73d46c83dec369da85db39ae2fe62dd 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.41.0 - diff --git a/boot/grub2/0003-loader-efi-chainloader-Simplify-the-loader-state.patch b/boot/grub2/0003-loader-efi-chainloader-Simplify-the-loader-state.patch deleted file mode 100644 index f6073add0b..0000000000 --- a/boot/grub2/0003-loader-efi-chainloader-Simplify-the-loader-state.patch +++ /dev/null @@ -1,126 +0,0 @@ -From dfdc742bdb22be468035f96cce0be5fee23b6df5 Mon Sep 17 00:00:00 2001 -From: Chris Coulson -Date: Tue, 5 Apr 2022 10:02:04 +0100 -Subject: [PATCH] loader/efi/chainloader: Simplify the loader state - -The chainloader command retains the source buffer and device path passed -to LoadImage(), requiring the unload hook passed to grub_loader_set() to -free them. It isn't required to retain this state though - they aren't -required by StartImage() or anything else in the boot hook, so clean them -up before grub_cmd_chainloader() finishes. - -Signed-off-by: Chris Coulson -Reviewed-by: Daniel Kiper -Upstream: 1469983ebb9674753ad333d37087fb8cb20e1dce -[Thomas: needed to cherry-pick -04c86e0bb7b58fc2f913f798cdb18934933e532d which fixes CVE-2022-28736] -Signed-off-by: Thomas Petazzoni ---- - grub-core/loader/efi/chainloader.c | 38 +++++++++++++++++------------- - 1 file changed, 21 insertions(+), 17 deletions(-) - -diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c -index 2bd80f4db..d1602c89b 100644 ---- a/grub-core/loader/efi/chainloader.c -+++ b/grub-core/loader/efi/chainloader.c -@@ -44,25 +44,20 @@ GRUB_MOD_LICENSE ("GPLv3+"); - - static grub_dl_t my_mod; - --static grub_efi_physical_address_t address; --static grub_efi_uintn_t pages; --static grub_efi_device_path_t *file_path; - static grub_efi_handle_t image_handle; --static grub_efi_char16_t *cmdline; - - static grub_err_t - grub_chainloader_unload (void) - { -+ grub_efi_loaded_image_t *loaded_image; - grub_efi_boot_services_t *b; - -+ loaded_image = grub_efi_get_loaded_image (image_handle); -+ if (loaded_image != NULL) -+ grub_free (loaded_image->load_options); -+ - b = grub_efi_system_table->boot_services; - efi_call_1 (b->unload_image, image_handle); -- efi_call_2 (b->free_pages, address, pages); -- -- grub_free (file_path); -- grub_free (cmdline); -- cmdline = 0; -- file_path = 0; - - grub_dl_unref (my_mod); - return GRUB_ERR_NONE; -@@ -140,7 +135,7 @@ make_file_path (grub_efi_device_path_t *dp, const char *filename) - char *dir_start; - char *dir_end; - grub_size_t size; -- grub_efi_device_path_t *d; -+ grub_efi_device_path_t *d, *file_path; - - dir_start = grub_strchr (filename, ')'); - if (! dir_start) -@@ -222,11 +217,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), - grub_efi_status_t status; - grub_efi_boot_services_t *b; - grub_device_t dev = 0; -- grub_efi_device_path_t *dp = 0; -+ grub_efi_device_path_t *dp = NULL, *file_path = NULL; - grub_efi_loaded_image_t *loaded_image; - char *filename; - void *boot_image = 0; - grub_efi_handle_t dev_handle = 0; -+ grub_efi_physical_address_t address = 0; -+ grub_efi_uintn_t pages = 0; -+ grub_efi_char16_t *cmdline = NULL; - - if (argc == 0) - return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); -@@ -234,11 +232,6 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), - - grub_dl_ref (my_mod); - -- /* Initialize some global variables. */ -- address = 0; -- image_handle = 0; -- file_path = 0; -- - b = grub_efi_system_table->boot_services; - - file = grub_file_open (filename, GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE); -@@ -408,6 +401,10 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), - grub_file_close (file); - grub_device_close (dev); - -+ /* We're finished with the source image buffer and file path now. */ -+ efi_call_2 (b->free_pages, address, pages); -+ grub_free (file_path); -+ - grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0); - return 0; - -@@ -419,11 +416,18 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), - if (file) - grub_file_close (file); - -+ grub_free (cmdline); - grub_free (file_path); - - if (address) - efi_call_2 (b->free_pages, address, pages); - -+ if (image_handle != NULL) -+ { -+ efi_call_1 (b->unload_image, image_handle); -+ image_handle = NULL; -+ } -+ - grub_dl_unref (my_mod); - - return grub_errno; --- -2.41.0 - diff --git a/boot/grub2/0004-commands-boot-Add-API-to-pass-context-to-loader.patch b/boot/grub2/0004-commands-boot-Add-API-to-pass-context-to-loader.patch deleted file mode 100644 index 30b410e38a..0000000000 --- a/boot/grub2/0004-commands-boot-Add-API-to-pass-context-to-loader.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 8b6336696d93b51703c2015eff3e2d8a02145e43 Mon Sep 17 00:00:00 2001 -From: Chris Coulson -Date: Tue, 5 Apr 2022 10:58:28 +0100 -Subject: [PATCH] commands/boot: Add API to pass context to loader - -Loaders rely on global variables for saving context which is consumed -in the boot hook and freed in the unload hook. In the case where a loader -command is executed twice, calling grub_loader_set() a second time executes -the unload hook, but in some cases this runs when the loader's global -context has already been updated, resulting in the updated context being -freed and potential use-after-free bugs when the boot hook is subsequently -called. - -This adds a new API, grub_loader_set_ex(), which allows a loader to specify -context that is passed to its boot and unload hooks. This is an alternative -to requiring that loaders call grub_loader_unset() before mutating their -global context. - -Signed-off-by: Chris Coulson -Reviewed-by: Daniel Kiper -Upstream: 14ceb3b3ff6db664649138442b6562c114dcf56e -[Thomas: needed to backport 04c86e0bb7b58fc2f913f798cdb18934933e532d, -which fixes CVE-2022-28736] -Signed-off-by: Thomas Petazzoni ---- - grub-core/commands/boot.c | 66 ++++++++++++++++++++++++++++++++++----- - include/grub/loader.h | 5 +++ - 2 files changed, 63 insertions(+), 8 deletions(-) - -diff --git a/grub-core/commands/boot.c b/grub-core/commands/boot.c -index bbca81e94..61514788e 100644 ---- a/grub-core/commands/boot.c -+++ b/grub-core/commands/boot.c -@@ -27,10 +27,20 @@ - - GRUB_MOD_LICENSE ("GPLv3+"); - --static grub_err_t (*grub_loader_boot_func) (void); --static grub_err_t (*grub_loader_unload_func) (void); -+static grub_err_t (*grub_loader_boot_func) (void *context); -+static grub_err_t (*grub_loader_unload_func) (void *context); -+static void *grub_loader_context; - static int grub_loader_flags; - -+struct grub_simple_loader_hooks -+{ -+ grub_err_t (*boot) (void); -+ grub_err_t (*unload) (void); -+}; -+ -+/* Don't heap allocate this to avoid making grub_loader_set() fallible. */ -+static struct grub_simple_loader_hooks simple_loader_hooks; -+ - struct grub_preboot - { - grub_err_t (*preboot_func) (int); -@@ -44,6 +54,29 @@ static int grub_loader_loaded; - static struct grub_preboot *preboots_head = 0, - *preboots_tail = 0; - -+static grub_err_t -+grub_simple_boot_hook (void *context) -+{ -+ struct grub_simple_loader_hooks *hooks; -+ -+ hooks = (struct grub_simple_loader_hooks *) context; -+ return hooks->boot (); -+} -+ -+static grub_err_t -+grub_simple_unload_hook (void *context) -+{ -+ struct grub_simple_loader_hooks *hooks; -+ grub_err_t ret; -+ -+ hooks = (struct grub_simple_loader_hooks *) context; -+ -+ ret = hooks->unload (); -+ grub_memset (hooks, 0, sizeof (*hooks)); -+ -+ return ret; -+} -+ - int - grub_loader_is_loaded (void) - { -@@ -110,28 +143,45 @@ grub_loader_unregister_preboot_hook (struct grub_preboot *hnd) - } - - void --grub_loader_set (grub_err_t (*boot) (void), -- grub_err_t (*unload) (void), -- int flags) -+grub_loader_set_ex (grub_err_t (*boot) (void *context), -+ grub_err_t (*unload) (void *context), -+ void *context, -+ int flags) - { - if (grub_loader_loaded && grub_loader_unload_func) -- grub_loader_unload_func (); -+ grub_loader_unload_func (grub_loader_context); - - grub_loader_boot_func = boot; - grub_loader_unload_func = unload; -+ grub_loader_context = context; - grub_loader_flags = flags; - - grub_loader_loaded = 1; - } - -+void -+grub_loader_set (grub_err_t (*boot) (void), -+ grub_err_t (*unload) (void), -+ int flags) -+{ -+ grub_loader_set_ex (grub_simple_boot_hook, -+ grub_simple_unload_hook, -+ &simple_loader_hooks, -+ flags); -+ -+ simple_loader_hooks.boot = boot; -+ simple_loader_hooks.unload = unload; -+} -+ - void - grub_loader_unset(void) - { - if (grub_loader_loaded && grub_loader_unload_func) -- grub_loader_unload_func (); -+ grub_loader_unload_func (grub_loader_context); - - grub_loader_boot_func = 0; - grub_loader_unload_func = 0; -+ grub_loader_context = 0; - - grub_loader_loaded = 0; - } -@@ -158,7 +208,7 @@ grub_loader_boot (void) - return err; - } - } -- err = (grub_loader_boot_func) (); -+ err = (grub_loader_boot_func) (grub_loader_context); - - for (cur = preboots_tail; cur; cur = cur->prev) - if (! err) -diff --git a/include/grub/loader.h b/include/grub/loader.h -index b20864282..97f231054 100644 ---- a/include/grub/loader.h -+++ b/include/grub/loader.h -@@ -40,6 +40,11 @@ void EXPORT_FUNC (grub_loader_set) (grub_err_t (*boot) (void), - grub_err_t (*unload) (void), - int flags); - -+void EXPORT_FUNC (grub_loader_set_ex) (grub_err_t (*boot) (void *context), -+ grub_err_t (*unload) (void *context), -+ void *context, -+ int flags); -+ - /* Unset current loader, if any. */ - void EXPORT_FUNC (grub_loader_unset) (void); - --- -2.41.0 - diff --git a/boot/grub2/0005-loader-efi-chainloader-Use-grub_loader_set_ex.patch b/boot/grub2/0005-loader-efi-chainloader-Use-grub_loader_set_ex.patch deleted file mode 100644 index 4308e3170f..0000000000 --- a/boot/grub2/0005-loader-efi-chainloader-Use-grub_loader_set_ex.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 583fca49f413e00fe26f8ae7abe0837bbc574f79 Mon Sep 17 00:00:00 2001 -From: Chris Coulson -Date: Tue, 5 Apr 2022 11:48:58 +0100 -Subject: [PATCH] loader/efi/chainloader: Use grub_loader_set_ex() - -This ports the EFI chainloader to use grub_loader_set_ex() in order to fix -a use-after-free bug that occurs when grub_cmd_chainloader() is executed -more than once before a boot attempt is performed. - -Fixes: CVE-2022-28736 - -Signed-off-by: Chris Coulson -Reviewed-by: Daniel Kiper -Upstream: 04c86e0bb7b58fc2f913f798cdb18934933e532d -Signed-off-by: Thomas Petazzoni ---- - grub-core/loader/efi/chainloader.c | 16 +++++++--------- - 1 file changed, 7 insertions(+), 9 deletions(-) - -diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c -index d1602c89b..7557eb269 100644 ---- a/grub-core/loader/efi/chainloader.c -+++ b/grub-core/loader/efi/chainloader.c -@@ -44,11 +44,10 @@ GRUB_MOD_LICENSE ("GPLv3+"); - - static grub_dl_t my_mod; - --static grub_efi_handle_t image_handle; -- - static grub_err_t --grub_chainloader_unload (void) -+grub_chainloader_unload (void *context) - { -+ grub_efi_handle_t image_handle = (grub_efi_handle_t) context; - grub_efi_loaded_image_t *loaded_image; - grub_efi_boot_services_t *b; - -@@ -64,8 +63,9 @@ grub_chainloader_unload (void) - } - - static grub_err_t --grub_chainloader_boot (void) -+grub_chainloader_boot (void *context) - { -+ grub_efi_handle_t image_handle = (grub_efi_handle_t) context; - grub_efi_boot_services_t *b; - grub_efi_status_t status; - grub_efi_uintn_t exit_data_size; -@@ -225,6 +225,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), - grub_efi_physical_address_t address = 0; - grub_efi_uintn_t pages = 0; - grub_efi_char16_t *cmdline = NULL; -+ grub_efi_handle_t image_handle = NULL; - - if (argc == 0) - return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); -@@ -405,7 +406,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), - efi_call_2 (b->free_pages, address, pages); - grub_free (file_path); - -- grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0); -+ grub_loader_set_ex (grub_chainloader_boot, grub_chainloader_unload, image_handle, 0); - return 0; - - fail: -@@ -423,10 +424,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), - efi_call_2 (b->free_pages, address, pages); - - if (image_handle != NULL) -- { -- efi_call_1 (b->unload_image, image_handle); -- image_handle = NULL; -- } -+ efi_call_1 (b->unload_image, image_handle); - - grub_dl_unref (my_mod); - --- -2.41.0 - diff --git a/boot/grub2/0006-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch b/boot/grub2/0006-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch deleted file mode 100644 index b6fec1e6bb..0000000000 --- a/boot/grub2/0006-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 1e1b1271b7a7c6ac20a4c5f8e0dc29614b4975d1 Mon Sep 17 00:00:00 2001 -From: Julian Andres Klode -Date: Thu, 2 Dec 2021 15:03:53 +0100 -Subject: [PATCH] kern/efi/sb: Reject non-kernel files in the shim_lock - verifier - -We must not allow other verifiers to pass things like the GRUB modules. -Instead of maintaining a blocklist, maintain an allowlist of things -that we do not care about. - -This allowlist really should be made reusable, and shared by the -lockdown verifier, but this is the minimal patch addressing -security concerns where the TPM verifier was able to mark modules -as verified (or the OpenPGP verifier for that matter), when it -should not do so on shim-powered secure boot systems. - -Fixes: CVE-2022-28735 - -Signed-off-by: Julian Andres Klode -Reviewed-by: Daniel Kiper -Upstream: 6fe755c5c07bb386fda58306bfd19e4a1c974c53 -Signed-off-by: Thomas Petazzoni ---- - grub-core/kern/efi/sb.c | 39 ++++++++++++++++++++++++++++++++++++--- - include/grub/verify.h | 1 + - 2 files changed, 37 insertions(+), 3 deletions(-) - -diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c -index c52ec6226..89c4bb3fd 100644 ---- a/grub-core/kern/efi/sb.c -+++ b/grub-core/kern/efi/sb.c -@@ -119,10 +119,11 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)), - void **context __attribute__ ((unused)), - enum grub_verify_flags *flags) - { -- *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION; -+ *flags = GRUB_VERIFY_FLAGS_NONE; - - switch (type & GRUB_FILE_TYPE_MASK) - { -+ /* Files we check. */ - case GRUB_FILE_TYPE_LINUX_KERNEL: - case GRUB_FILE_TYPE_MULTIBOOT_KERNEL: - case GRUB_FILE_TYPE_BSD_KERNEL: -@@ -130,11 +131,43 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)), - case GRUB_FILE_TYPE_PLAN9_KERNEL: - case GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE: - *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK; -+ return GRUB_ERR_NONE; - -- /* Fall through. */ -+ /* Files that do not affect secureboot state. */ -+ case GRUB_FILE_TYPE_NONE: -+ case GRUB_FILE_TYPE_LOOPBACK: -+ case GRUB_FILE_TYPE_LINUX_INITRD: -+ case GRUB_FILE_TYPE_OPENBSD_RAMDISK: -+ case GRUB_FILE_TYPE_XNU_RAMDISK: -+ case GRUB_FILE_TYPE_SIGNATURE: -+ case GRUB_FILE_TYPE_PUBLIC_KEY: -+ case GRUB_FILE_TYPE_PUBLIC_KEY_TRUST: -+ case GRUB_FILE_TYPE_PRINT_BLOCKLIST: -+ case GRUB_FILE_TYPE_TESTLOAD: -+ case GRUB_FILE_TYPE_GET_SIZE: -+ case GRUB_FILE_TYPE_FONT: -+ case GRUB_FILE_TYPE_ZFS_ENCRYPTION_KEY: -+ case GRUB_FILE_TYPE_CAT: -+ case GRUB_FILE_TYPE_HEXCAT: -+ case GRUB_FILE_TYPE_CMP: -+ case GRUB_FILE_TYPE_HASHLIST: -+ case GRUB_FILE_TYPE_TO_HASH: -+ case GRUB_FILE_TYPE_KEYBOARD_LAYOUT: -+ case GRUB_FILE_TYPE_PIXMAP: -+ case GRUB_FILE_TYPE_GRUB_MODULE_LIST: -+ case GRUB_FILE_TYPE_CONFIG: -+ case GRUB_FILE_TYPE_THEME: -+ case GRUB_FILE_TYPE_GETTEXT_CATALOG: -+ case GRUB_FILE_TYPE_FS_SEARCH: -+ case GRUB_FILE_TYPE_LOADENV: -+ case GRUB_FILE_TYPE_SAVEENV: -+ case GRUB_FILE_TYPE_VERIFY_SIGNATURE: -+ *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION; -+ return GRUB_ERR_NONE; - -+ /* Other files. */ - default: -- return GRUB_ERR_NONE; -+ return grub_error (GRUB_ERR_ACCESS_DENIED, N_("prohibited by secure boot policy")); - } - } - -diff --git a/include/grub/verify.h b/include/grub/verify.h -index cd129c398..672ae1692 100644 ---- a/include/grub/verify.h -+++ b/include/grub/verify.h -@@ -24,6 +24,7 @@ - - enum grub_verify_flags - { -+ GRUB_VERIFY_FLAGS_NONE = 0, - GRUB_VERIFY_FLAGS_SKIP_VERIFICATION = 1, - GRUB_VERIFY_FLAGS_SINGLE_CHUNK = 2, - /* Defer verification to another authority. */ --- -2.41.0 - diff --git a/boot/grub2/0007-video-Remove-trailing-whitespaces.patch b/boot/grub2/0007-video-Remove-trailing-whitespaces.patch deleted file mode 100644 index 94d6aeefe7..0000000000 --- a/boot/grub2/0007-video-Remove-trailing-whitespaces.patch +++ /dev/null @@ -1,689 +0,0 @@ -From 1faa412c502c7c4ca1230fc152be30b88847fdd2 Mon Sep 17 00:00:00 2001 -From: Elyes Haouas -Date: Fri, 4 Mar 2022 07:42:13 +0100 -Subject: [PATCH] video: Remove trailing whitespaces - -Signed-off-by: Elyes Haouas -Reviewed-by: Daniel Kiper -Upstream: 1f48917d8ddb490dcdc70176e0f58136b7f7811a -[Thomas: needed to backport patches fixing CVEs in the video code] -Signed-off-by: Thomas Petazzoni ---- - grub-core/video/bochs.c | 2 +- - grub-core/video/capture.c | 2 +- - grub-core/video/cirrus.c | 4 ++-- - grub-core/video/coreboot/cbfb.c | 2 +- - grub-core/video/efi_gop.c | 22 +++++++++---------- - grub-core/video/fb/fbblit.c | 8 +++---- - grub-core/video/fb/video_fb.c | 10 ++++----- - grub-core/video/i386/pc/vbe.c | 34 ++++++++++++++--------------- - grub-core/video/i386/pc/vga.c | 6 ++--- - grub-core/video/ieee1275.c | 4 ++-- - grub-core/video/radeon_fuloong2e.c | 6 ++--- - grub-core/video/radeon_yeeloong3a.c | 6 ++--- - grub-core/video/readers/png.c | 2 +- - grub-core/video/readers/tga.c | 2 +- - grub-core/video/sis315_init.c | 2 +- - grub-core/video/sis315pro.c | 8 +++---- - grub-core/video/sm712.c | 10 ++++----- - grub-core/video/video.c | 8 +++---- - 18 files changed, 69 insertions(+), 69 deletions(-) - -diff --git a/grub-core/video/bochs.c b/grub-core/video/bochs.c -index 30ea1bd82..edc651697 100644 ---- a/grub-core/video/bochs.c -+++ b/grub-core/video/bochs.c -@@ -212,7 +212,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data) - - if (((class >> 16) & 0xffff) != 0x0300 || pciid != 0x11111234) - return 0; -- -+ - addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0); - framebuffer.base = grub_pci_read (addr) & GRUB_PCI_ADDR_MEM_MASK; - if (!framebuffer.base) -diff --git a/grub-core/video/capture.c b/grub-core/video/capture.c -index 4d3195e01..c653d89f9 100644 ---- a/grub-core/video/capture.c -+++ b/grub-core/video/capture.c -@@ -92,7 +92,7 @@ grub_video_capture_start (const struct grub_video_mode_info *mode_info, - framebuffer.ptr = grub_calloc (framebuffer.mode_info.height, framebuffer.mode_info.pitch); - if (!framebuffer.ptr) - return grub_errno; -- -+ - err = grub_video_fb_create_render_target_from_pointer (&framebuffer.render_target, - &framebuffer.mode_info, - framebuffer.ptr); -diff --git a/grub-core/video/cirrus.c b/grub-core/video/cirrus.c -index e2149e8ce..f5542ccdc 100644 ---- a/grub-core/video/cirrus.c -+++ b/grub-core/video/cirrus.c -@@ -354,11 +354,11 @@ grub_video_cirrus_setup (unsigned int width, unsigned int height, - grub_uint8_t sr_ext = 0, hidden_dac = 0; - - grub_vga_set_geometry (&config, grub_vga_cr_write); -- -+ - grub_vga_gr_write (GRUB_VGA_GR_MODE_256_COLOR | GRUB_VGA_GR_MODE_READ_MODE1, - GRUB_VGA_GR_MODE); - grub_vga_gr_write (GRUB_VGA_GR_GR6_GRAPHICS_MODE, GRUB_VGA_GR_GR6); -- -+ - grub_vga_sr_write (GRUB_VGA_SR_MEMORY_MODE_NORMAL, GRUB_VGA_SR_MEMORY_MODE); - - grub_vga_cr_write ((config.pitch >> CIRRUS_CR_EXTENDED_DISPLAY_PITCH_SHIFT) -diff --git a/grub-core/video/coreboot/cbfb.c b/grub-core/video/coreboot/cbfb.c -index 9af81fa5b..986003c51 100644 ---- a/grub-core/video/coreboot/cbfb.c -+++ b/grub-core/video/coreboot/cbfb.c -@@ -106,7 +106,7 @@ grub_video_cbfb_setup (unsigned int width, unsigned int height, - - grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS, - grub_video_fbstd_colors); -- -+ - return err; - } - -diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c -index b7590dc6c..7a5054631 100644 ---- a/grub-core/video/efi_gop.c -+++ b/grub-core/video/efi_gop.c -@@ -273,7 +273,7 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo - grub_efi_status_t status; - struct grub_efi_gop_mode_info *info = NULL; - struct grub_video_mode_info mode_info; -- -+ - status = efi_call_4 (gop->query_mode, gop, mode, &size, &info); - - if (status) -@@ -390,7 +390,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height, - found = 1; - } - } -- -+ - if (!found) - { - unsigned mode; -@@ -399,7 +399,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height, - { - grub_efi_uintn_t size; - grub_efi_status_t status; -- -+ - status = efi_call_4 (gop->query_mode, gop, mode, &size, &info); - if (status) - { -@@ -472,11 +472,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height, - framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base; - framebuffer.offscreen - = grub_malloc (framebuffer.mode_info.height -- * framebuffer.mode_info.width -+ * framebuffer.mode_info.width - * sizeof (struct grub_efi_gop_blt_pixel)); - - buffer = framebuffer.offscreen; -- -+ - if (!buffer) - { - grub_dprintf ("video", "GOP: couldn't allocate shadow\n"); -@@ -485,11 +485,11 @@ grub_video_gop_setup (unsigned int width, unsigned int height, - &framebuffer.mode_info); - buffer = framebuffer.ptr; - } -- -+ - grub_dprintf ("video", "GOP: initialising FB @ %p %dx%dx%d\n", - framebuffer.ptr, framebuffer.mode_info.width, - framebuffer.mode_info.height, framebuffer.mode_info.bpp); -- -+ - err = grub_video_fb_create_render_target_from_pointer - (&framebuffer.render_target, &framebuffer.mode_info, buffer); - -@@ -498,15 +498,15 @@ grub_video_gop_setup (unsigned int width, unsigned int height, - grub_dprintf ("video", "GOP: Couldn't create FB target\n"); - return err; - } -- -+ - err = grub_video_fb_set_active_render_target (framebuffer.render_target); -- -+ - if (err) - { - grub_dprintf ("video", "GOP: Couldn't set FB target\n"); - return err; - } -- -+ - err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS, - grub_video_fbstd_colors); - -@@ -514,7 +514,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height, - grub_dprintf ("video", "GOP: Couldn't set palette\n"); - else - grub_dprintf ("video", "GOP: Success\n"); -- -+ - return err; - } - -diff --git a/grub-core/video/fb/fbblit.c b/grub-core/video/fb/fbblit.c -index d55924837..1010ef393 100644 ---- a/grub-core/video/fb/fbblit.c -+++ b/grub-core/video/fb/fbblit.c -@@ -466,7 +466,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst, - for (i = 0; i < width; i++) - { - register grub_uint32_t col; -- if (*srcptr == 0xf0) -+ if (*srcptr == 0xf0) - col = palette[16]; - else - col = palette[*srcptr & 0xf]; -@@ -478,7 +478,7 @@ grub_video_fbblit_replace_24bit_indexa (struct grub_video_fbblit_info *dst, - *dstptr++ = col >> 0; - *dstptr++ = col >> 8; - *dstptr++ = col >> 16; --#endif -+#endif - srcptr++; - } - -@@ -651,7 +651,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst, - for (i = 0; i < width; i++) - { - register grub_uint32_t col; -- if (*srcptr != 0xf0) -+ if (*srcptr != 0xf0) - { - col = palette[*srcptr & 0xf]; - #ifdef GRUB_CPU_WORDS_BIGENDIAN -@@ -662,7 +662,7 @@ grub_video_fbblit_blend_24bit_indexa (struct grub_video_fbblit_info *dst, - *dstptr++ = col >> 0; - *dstptr++ = col >> 8; - *dstptr++ = col >> 16; --#endif -+#endif - } - else - dstptr += 3; -diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c -index ae6b89f9a..fa4ebde26 100644 ---- a/grub-core/video/fb/video_fb.c -+++ b/grub-core/video/fb/video_fb.c -@@ -754,7 +754,7 @@ grub_video_fb_unmap_color_int (struct grub_video_fbblit_info * source, - *alpha = 0; - return; - } -- -+ - /* If we have an out-of-bounds color, return transparent black. */ - if (color > 255) - { -@@ -1141,7 +1141,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy) - /* If everything is aligned on 32-bit use 32-bit copy. */ - if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y) - % sizeof (grub_uint32_t) == 0 -- && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y) -+ && (grub_addr_t) grub_video_fb_get_video_ptr (&target, dst_x, dst_y) - % sizeof (grub_uint32_t) == 0 - && linelen % sizeof (grub_uint32_t) == 0 - && linedelta % sizeof (grub_uint32_t) == 0) -@@ -1155,7 +1155,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy) - else if ((grub_addr_t) grub_video_fb_get_video_ptr (&target, src_x, src_y) - % sizeof (grub_uint16_t) == 0 - && (grub_addr_t) grub_video_fb_get_video_ptr (&target, -- dst_x, dst_y) -+ dst_x, dst_y) - % sizeof (grub_uint16_t) == 0 - && linelen % sizeof (grub_uint16_t) == 0 - && linedelta % sizeof (grub_uint16_t) == 0) -@@ -1170,7 +1170,7 @@ grub_video_fb_scroll (grub_video_color_t color, int dx, int dy) - { - grub_uint8_t *src, *dst; - DO_SCROLL -- } -+ } - } - - /* 4. Fill empty space with specified color. In this implementation -@@ -1615,7 +1615,7 @@ grub_video_fb_setup (unsigned int mode_type, unsigned int mode_mask, - framebuffer.render_target = framebuffer.back_target; - return GRUB_ERR_NONE; - } -- -+ - mode_info->mode_type &= ~(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED - | GRUB_VIDEO_MODE_TYPE_UPDATING_SWAP); - -diff --git a/grub-core/video/i386/pc/vbe.c b/grub-core/video/i386/pc/vbe.c -index b7f911926..0e65b5206 100644 ---- a/grub-core/video/i386/pc/vbe.c -+++ b/grub-core/video/i386/pc/vbe.c -@@ -219,7 +219,7 @@ grub_vbe_disable_mtrr (int mtrr) - } - - /* Call VESA BIOS 0x4f09 to set palette data, return status. */ --static grub_vbe_status_t -+static grub_vbe_status_t - grub_vbe_bios_set_palette_data (grub_uint32_t color_count, - grub_uint32_t start_index, - struct grub_vbe_palette_data *palette_data) -@@ -237,7 +237,7 @@ grub_vbe_bios_set_palette_data (grub_uint32_t color_count, - } - - /* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */ --grub_vbe_status_t -+grub_vbe_status_t - grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci) - { - struct grub_bios_int_registers regs; -@@ -251,7 +251,7 @@ grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *ci) - } - - /* Call VESA BIOS 0x4f01 to get VBE Mode Information, return status. */ --grub_vbe_status_t -+grub_vbe_status_t - grub_vbe_bios_get_mode_info (grub_uint32_t mode, - struct grub_vbe_mode_info_block *mode_info) - { -@@ -285,7 +285,7 @@ grub_vbe_bios_set_mode (grub_uint32_t mode, - } - - /* Call VESA BIOS 0x4f03 to return current VBE Mode, return status. */ --grub_vbe_status_t -+grub_vbe_status_t - grub_vbe_bios_get_mode (grub_uint32_t *mode) - { - struct grub_bios_int_registers regs; -@@ -298,7 +298,7 @@ grub_vbe_bios_get_mode (grub_uint32_t *mode) - return regs.eax & 0xffff; - } - --grub_vbe_status_t -+grub_vbe_status_t - grub_vbe_bios_getset_dac_palette_width (int set, int *dac_mask_size) - { - struct grub_bios_int_registers regs; -@@ -346,7 +346,7 @@ grub_vbe_bios_get_memory_window (grub_uint32_t window, - } - - /* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status. */ --grub_vbe_status_t -+grub_vbe_status_t - grub_vbe_bios_set_scanline_length (grub_uint32_t length) - { - struct grub_bios_int_registers regs; -@@ -354,14 +354,14 @@ grub_vbe_bios_set_scanline_length (grub_uint32_t length) - regs.ecx = length; - regs.eax = 0x4f06; - /* BL = 2, Set Scan Line in Bytes. */ -- regs.ebx = 0x0002; -+ regs.ebx = 0x0002; - regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT; - grub_bios_interrupt (0x10, ®s); - return regs.eax & 0xffff; - } - - /* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status. */ --grub_vbe_status_t -+grub_vbe_status_t - grub_vbe_bios_get_scanline_length (grub_uint32_t *length) - { - struct grub_bios_int_registers regs; -@@ -377,7 +377,7 @@ grub_vbe_bios_get_scanline_length (grub_uint32_t *length) - } - - /* Call VESA BIOS 0x4f07 to set display start, return status. */ --static grub_vbe_status_t -+static grub_vbe_status_t - grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y) - { - struct grub_bios_int_registers regs; -@@ -390,7 +390,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y) - regs.edx = y; - regs.eax = 0x4f07; - /* BL = 80h, Set Display Start during Vertical Retrace. */ -- regs.ebx = 0x0080; -+ regs.ebx = 0x0080; - regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT; - grub_bios_interrupt (0x10, ®s); - -@@ -401,7 +401,7 @@ grub_vbe_bios_set_display_start (grub_uint32_t x, grub_uint32_t y) - } - - /* Call VESA BIOS 0x4f07 to get display start, return status. */ --grub_vbe_status_t -+grub_vbe_status_t - grub_vbe_bios_get_display_start (grub_uint32_t *x, - grub_uint32_t *y) - { -@@ -419,7 +419,7 @@ grub_vbe_bios_get_display_start (grub_uint32_t *x, - } - - /* Call VESA BIOS 0x4f0a. */ --grub_vbe_status_t -+grub_vbe_status_t - grub_vbe_bios_get_pm_interface (grub_uint16_t *segment, grub_uint16_t *offset, - grub_uint16_t *length) - { -@@ -896,7 +896,7 @@ vbe2videoinfo (grub_uint32_t mode, - case GRUB_VBE_MEMORY_MODEL_YUV: - mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_YUV; - break; -- -+ - case GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR: - mode_info->mode_type |= GRUB_VIDEO_MODE_TYPE_RGB; - break; -@@ -923,10 +923,10 @@ vbe2videoinfo (grub_uint32_t mode, - break; - case 8: - mode_info->bytes_per_pixel = 1; -- break; -+ break; - case 4: - mode_info->bytes_per_pixel = 0; -- break; -+ break; - } - - if (controller_info.version >= 0x300) -@@ -976,7 +976,7 @@ grub_video_vbe_iterate (int (*hook) (const struct grub_video_mode_info *info, vo - - static grub_err_t - grub_video_vbe_setup (unsigned int width, unsigned int height, -- grub_video_mode_type_t mode_type, -+ grub_video_mode_type_t mode_type, - grub_video_mode_type_t mode_mask) - { - grub_uint16_t *p; -@@ -1193,7 +1193,7 @@ grub_video_vbe_print_adapter_specific_info (void) - controller_info.version & 0xFF, - controller_info.oem_software_rev >> 8, - controller_info.oem_software_rev & 0xFF); -- -+ - /* The total_memory field is in 64 KiB units. */ - grub_printf_ (N_(" total memory: %d KiB\n"), - (controller_info.total_memory << 6)); -diff --git a/grub-core/video/i386/pc/vga.c b/grub-core/video/i386/pc/vga.c -index b2f776c99..50d0b5e02 100644 ---- a/grub-core/video/i386/pc/vga.c -+++ b/grub-core/video/i386/pc/vga.c -@@ -48,7 +48,7 @@ static struct - int back_page; - } framebuffer; - --static unsigned char -+static unsigned char - grub_vga_set_mode (unsigned char mode) - { - struct grub_bios_int_registers regs; -@@ -182,10 +182,10 @@ grub_video_vga_setup (unsigned int width, unsigned int height, - - is_target = 1; - err = grub_video_fb_set_active_render_target (framebuffer.render_target); -- -+ - if (err) - return err; -- -+ - err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS, - grub_video_fbstd_colors); - -diff --git a/grub-core/video/ieee1275.c b/grub-core/video/ieee1275.c -index 17a3dbbb5..f8cf94d96 100644 ---- a/grub-core/video/ieee1275.c -+++ b/grub-core/video/ieee1275.c -@@ -234,7 +234,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height, - /* TODO. */ - return grub_error (GRUB_ERR_IO, "can't set mode %dx%d", width, height); - } -- -+ - err = grub_video_ieee1275_fill_mode_info (dev, &framebuffer.mode_info); - if (err) - { -@@ -261,7 +261,7 @@ grub_video_ieee1275_setup (unsigned int width, unsigned int height, - - grub_video_ieee1275_set_palette (0, framebuffer.mode_info.number_of_colors, - grub_video_fbstd_colors); -- -+ - return err; - } - -diff --git a/grub-core/video/radeon_fuloong2e.c b/grub-core/video/radeon_fuloong2e.c -index b4da34b5e..40917acb7 100644 ---- a/grub-core/video/radeon_fuloong2e.c -+++ b/grub-core/video/radeon_fuloong2e.c -@@ -75,7 +75,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data) - if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA - || pciid != 0x515a1002) - return 0; -- -+ - *found = 1; - - addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0); -@@ -139,7 +139,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height, - framebuffer.mapped = 1; - - /* Prevent garbage from appearing on the screen. */ -- grub_memset (framebuffer.ptr, 0x55, -+ grub_memset (framebuffer.ptr, 0x55, - framebuffer.mode_info.height * framebuffer.mode_info.pitch); - - #ifndef TEST -@@ -152,7 +152,7 @@ grub_video_radeon_fuloong2e_setup (unsigned int width, unsigned int height, - return err; - - err = grub_video_fb_set_active_render_target (framebuffer.render_target); -- -+ - if (err) - return err; - -diff --git a/grub-core/video/radeon_yeeloong3a.c b/grub-core/video/radeon_yeeloong3a.c -index 52614feb6..48631c181 100644 ---- a/grub-core/video/radeon_yeeloong3a.c -+++ b/grub-core/video/radeon_yeeloong3a.c -@@ -74,7 +74,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data) - if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA - || pciid != 0x96151002) - return 0; -- -+ - *found = 1; - - addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0); -@@ -137,7 +137,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height, - #endif - - /* Prevent garbage from appearing on the screen. */ -- grub_memset (framebuffer.ptr, 0, -+ grub_memset (framebuffer.ptr, 0, - framebuffer.mode_info.height * framebuffer.mode_info.pitch); - - #ifndef TEST -@@ -150,7 +150,7 @@ grub_video_radeon_yeeloong3a_setup (unsigned int width, unsigned int height, - return err; - - err = grub_video_fb_set_active_render_target (framebuffer.render_target); -- -+ - if (err) - return err; - -diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c -index 0157ff742..54dfedf43 100644 ---- a/grub-core/video/readers/png.c -+++ b/grub-core/video/readers/png.c -@@ -916,7 +916,7 @@ grub_png_convert_image (struct grub_png_data *data) - } - return; - } -- -+ - if (data->is_gray) - { - switch (data->bpp) -diff --git a/grub-core/video/readers/tga.c b/grub-core/video/readers/tga.c -index 7cb9d1d2a..a9ec3a1b6 100644 ---- a/grub-core/video/readers/tga.c -+++ b/grub-core/video/readers/tga.c -@@ -127,7 +127,7 @@ tga_load_palette (struct tga_data *data) - - if (len > sizeof (data->palette)) - len = sizeof (data->palette); -- -+ - if (grub_file_read (data->file, &data->palette, len) - != (grub_ssize_t) len) - return grub_errno; -diff --git a/grub-core/video/sis315_init.c b/grub-core/video/sis315_init.c -index ae5c1419c..09c3c7bbe 100644 ---- a/grub-core/video/sis315_init.c -+++ b/grub-core/video/sis315_init.c -@@ -1,4 +1,4 @@ --static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] = -+static const struct { grub_uint8_t reg; grub_uint8_t val; } sr_dump [] = - { - { 0x28, 0x81 }, - { 0x2a, 0x00 }, -diff --git a/grub-core/video/sis315pro.c b/grub-core/video/sis315pro.c -index 22a0c85a6..4d2f9999a 100644 ---- a/grub-core/video/sis315pro.c -+++ b/grub-core/video/sis315pro.c -@@ -103,7 +103,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data) - if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA - || pciid != GRUB_SIS315PRO_PCIID) - return 0; -- -+ - *found = 1; - - addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0); -@@ -218,7 +218,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height, - - #ifndef TEST - /* Prevent garbage from appearing on the screen. */ -- grub_memset (framebuffer.ptr, 0, -+ grub_memset (framebuffer.ptr, 0, - framebuffer.mode_info.height * framebuffer.mode_info.pitch); - grub_arch_sync_dma_caches (framebuffer.ptr, - framebuffer.mode_info.height -@@ -231,7 +231,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height, - | GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0 - | GRUB_VGA_IO_MISC_28MHZ - | GRUB_VGA_IO_MISC_ENABLE_VRAM_ACCESS -- | GRUB_VGA_IO_MISC_COLOR, -+ | GRUB_VGA_IO_MISC_COLOR, - GRUB_VGA_IO_MISC_WRITE + GRUB_MACHINE_PCI_IO_BASE); - - grub_vga_sr_write (0x86, 5); -@@ -335,7 +335,7 @@ grub_video_sis315pro_setup (unsigned int width, unsigned int height, - { - if (read_sis_cmd (0x5) != 0xa1) - write_sis_cmd (0x86, 0x5); -- -+ - write_sis_cmd (read_sis_cmd (0x20) | 0xa1, 0x20); - write_sis_cmd (read_sis_cmd (0x1e) | 0xda, 0x1e); - -diff --git a/grub-core/video/sm712.c b/grub-core/video/sm712.c -index 10c46eb65..65f59f84b 100644 ---- a/grub-core/video/sm712.c -+++ b/grub-core/video/sm712.c -@@ -167,7 +167,7 @@ enum - GRUB_SM712_CR_SHADOW_VGA_VBLANK_START = 0x46, - GRUB_SM712_CR_SHADOW_VGA_VBLANK_END = 0x47, - GRUB_SM712_CR_SHADOW_VGA_VRETRACE_START = 0x48, -- GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49, -+ GRUB_SM712_CR_SHADOW_VGA_VRETRACE_END = 0x49, - GRUB_SM712_CR_SHADOW_VGA_OVERFLOW = 0x4a, - GRUB_SM712_CR_SHADOW_VGA_CELL_HEIGHT = 0x4b, - GRUB_SM712_CR_SHADOW_VGA_HDISPLAY_END = 0x4c, -@@ -375,7 +375,7 @@ find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data) - if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA - || pciid != GRUB_SM712_PCIID) - return 0; -- -+ - *found = 1; - - addr = grub_pci_make_address (dev, GRUB_PCI_REG_ADDRESS_REG0); -@@ -471,7 +471,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height, - - #if !defined (TEST) && !defined(GENINIT) - /* Prevent garbage from appearing on the screen. */ -- grub_memset ((void *) framebuffer.cached_ptr, 0, -+ grub_memset ((void *) framebuffer.cached_ptr, 0, - framebuffer.mode_info.height * framebuffer.mode_info.pitch); - #endif - -@@ -482,7 +482,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height, - grub_sm712_sr_write (0x2, 0x6b); - grub_sm712_write_reg (0, GRUB_VGA_IO_PIXEL_MASK); - grub_sm712_sr_write (GRUB_VGA_SR_RESET_ASYNC, GRUB_VGA_SR_RESET); -- grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY -+ grub_sm712_write_reg (GRUB_VGA_IO_MISC_NEGATIVE_VERT_POLARITY - | GRUB_VGA_IO_MISC_NEGATIVE_HORIZ_POLARITY - | GRUB_VGA_IO_MISC_UPPER_64K - | GRUB_VGA_IO_MISC_EXTERNAL_CLOCK_0 -@@ -694,7 +694,7 @@ grub_video_sm712_setup (unsigned int width, unsigned int height, - for (i = 0; i < ARRAY_SIZE (dda_lookups); i++) - grub_sm712_write_dda_lookup (i, dda_lookups[i].compare, dda_lookups[i].dda, - dda_lookups[i].vcentering); -- -+ - /* Undocumented */ - grub_sm712_cr_write (0, 0x9c); - grub_sm712_cr_write (0, 0x9d); -diff --git a/grub-core/video/video.c b/grub-core/video/video.c -index 983424107..8937da745 100644 ---- a/grub-core/video/video.c -+++ b/grub-core/video/video.c -@@ -491,13 +491,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth) - current_mode); - - param++; -- -+ - *width = grub_strtoul (value, 0, 0); - if (grub_errno != GRUB_ERR_NONE) - return grub_error (GRUB_ERR_BAD_ARGUMENT, - N_("invalid video mode specification `%s'"), - current_mode); -- -+ - /* Find height value. */ - value = param; - param = grub_strchr(param, 'x'); -@@ -513,13 +513,13 @@ parse_modespec (const char *current_mode, int *width, int *height, int *depth) - { - /* We have optional color depth value. */ - param++; -- -+ - *height = grub_strtoul (value, 0, 0); - if (grub_errno != GRUB_ERR_NONE) - return grub_error (GRUB_ERR_BAD_ARGUMENT, - N_("invalid video mode specification `%s'"), - current_mode); -- -+ - /* Convert color depth value. */ - value = param; - *depth = grub_strtoul (value, 0, 0); --- -2.41.0 - diff --git a/boot/grub2/0008-video-readers-png-Abort-sooner-if-a-read-operation-f.patch b/boot/grub2/0008-video-readers-png-Abort-sooner-if-a-read-operation-f.patch deleted file mode 100644 index 94431a4ef1..0000000000 --- a/boot/grub2/0008-video-readers-png-Abort-sooner-if-a-read-operation-f.patch +++ /dev/null @@ -1,204 +0,0 @@ -From 91d16e415b79f5080fa2bcc21bff6471f6be9f08 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 6 Jul 2021 14:02:55 +1000 -Subject: [PATCH] video/readers/png: Abort sooner if a read operation fails - -Fuzzing revealed some inputs that were taking a long time, potentially -forever, because they did not bail quickly upon encountering an I/O error. - -Try to catch I/O errors sooner and bail out. - -Signed-off-by: Daniel Axtens -Reviewed-by: Daniel Kiper -Upstream: d5caac8ab79d068ad9a41030c772d03a4d4fbd7b -[Thomas: needed to cherry-pick -e623866d9286410156e8b9d2c82d6253a1b22d08, which fixes CVE-2021-3695] -Signed-off-by: Thomas Petazzoni ---- - grub-core/video/readers/png.c | 55 ++++++++++++++++++++++++++++++----- - 1 file changed, 47 insertions(+), 8 deletions(-) - -diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c -index 54dfedf43..d715c4629 100644 ---- a/grub-core/video/readers/png.c -+++ b/grub-core/video/readers/png.c -@@ -142,6 +142,7 @@ static grub_uint8_t - grub_png_get_byte (struct grub_png_data *data) - { - grub_uint8_t r; -+ grub_ssize_t bytes_read = 0; - - if ((data->inside_idat) && (data->idat_remain == 0)) - { -@@ -175,7 +176,14 @@ grub_png_get_byte (struct grub_png_data *data) - } - - r = 0; -- grub_file_read (data->file, &r, 1); -+ bytes_read = grub_file_read (data->file, &r, 1); -+ -+ if (bytes_read != 1) -+ { -+ grub_error (GRUB_ERR_BAD_FILE_TYPE, -+ "png: unexpected end of data"); -+ return 0; -+ } - - if (data->inside_idat) - data->idat_remain--; -@@ -231,15 +239,16 @@ grub_png_decode_image_palette (struct grub_png_data *data, - if (len == 0) - return GRUB_ERR_NONE; - -- for (i = 0; 3 * i < len && i < 256; i++) -+ grub_errno = GRUB_ERR_NONE; -+ for (i = 0; 3 * i < len && i < 256 && grub_errno == GRUB_ERR_NONE; i++) - for (j = 0; j < 3; j++) - data->palette[i][j] = grub_png_get_byte (data); -- for (i *= 3; i < len; i++) -+ for (i *= 3; i < len && grub_errno == GRUB_ERR_NONE; i++) - grub_png_get_byte (data); - - grub_png_get_dword (data); - -- return GRUB_ERR_NONE; -+ return grub_errno; - } - - static grub_err_t -@@ -256,9 +265,13 @@ grub_png_decode_image_header (struct grub_png_data *data) - return grub_error (GRUB_ERR_BAD_FILE_TYPE, "png: invalid image size"); - - color_bits = grub_png_get_byte (data); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - data->is_16bit = (color_bits == 16); - - color_type = grub_png_get_byte (data); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - /* According to PNG spec, no other types are valid. */ - if ((color_type & ~(PNG_COLOR_MASK_ALPHA | PNG_COLOR_MASK_COLOR)) -@@ -340,14 +353,20 @@ grub_png_decode_image_header (struct grub_png_data *data) - if (grub_png_get_byte (data) != PNG_COMPRESSION_BASE) - return grub_error (GRUB_ERR_BAD_FILE_TYPE, - "png: compression method not supported"); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - if (grub_png_get_byte (data) != PNG_FILTER_TYPE_BASE) - return grub_error (GRUB_ERR_BAD_FILE_TYPE, - "png: filter method not supported"); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - if (grub_png_get_byte (data) != PNG_INTERLACE_NONE) - return grub_error (GRUB_ERR_BAD_FILE_TYPE, - "png: interlace method not supported"); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - /* Skip crc checksum. */ - grub_png_get_dword (data); -@@ -449,7 +468,7 @@ grub_png_get_huff_code (struct grub_png_data *data, struct huff_table *ht) - int code, i; - - code = 0; -- for (i = 0; i < ht->max_length; i++) -+ for (i = 0; i < ht->max_length && grub_errno == GRUB_ERR_NONE; i++) - { - code = (code << 1) + grub_png_get_bits (data, 1); - if (code < ht->maxval[i]) -@@ -504,8 +523,14 @@ grub_png_init_dynamic_block (struct grub_png_data *data) - grub_uint8_t lens[DEFLATE_HCLEN_MAX]; - - nl = DEFLATE_HLIT_BASE + grub_png_get_bits (data, 5); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - nd = DEFLATE_HDIST_BASE + grub_png_get_bits (data, 5); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - nb = DEFLATE_HCLEN_BASE + grub_png_get_bits (data, 4); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - if ((nl > DEFLATE_HLIT_MAX) || (nd > DEFLATE_HDIST_MAX) || - (nb > DEFLATE_HCLEN_MAX)) -@@ -533,7 +558,7 @@ grub_png_init_dynamic_block (struct grub_png_data *data) - data->dist_offset); - - prev = 0; -- for (i = 0; i < nl + nd; i++) -+ for (i = 0; i < nl + nd && grub_errno == GRUB_ERR_NONE; i++) - { - int n, code; - struct huff_table *ht; -@@ -721,17 +746,21 @@ grub_png_read_dynamic_block (struct grub_png_data *data) - len = cplens[n]; - if (cplext[n]) - len += grub_png_get_bits (data, cplext[n]); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - n = grub_png_get_huff_code (data, &data->dist_table); - dist = cpdist[n]; - if (cpdext[n]) - dist += grub_png_get_bits (data, cpdext[n]); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - pos = data->wp - dist; - if (pos < 0) - pos += WSIZE; - -- while (len > 0) -+ while (len > 0 && grub_errno == GRUB_ERR_NONE) - { - data->slide[data->wp] = data->slide[pos]; - grub_png_output_byte (data, data->slide[data->wp]); -@@ -759,7 +788,11 @@ grub_png_decode_image_data (struct grub_png_data *data) - int final; - - cmf = grub_png_get_byte (data); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - flg = grub_png_get_byte (data); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - if ((cmf & 0xF) != Z_DEFLATED) - return grub_error (GRUB_ERR_BAD_FILE_TYPE, -@@ -774,7 +807,11 @@ grub_png_decode_image_data (struct grub_png_data *data) - int block_type; - - final = grub_png_get_bits (data, 1); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - block_type = grub_png_get_bits (data, 2); -+ if (grub_errno != GRUB_ERR_NONE) -+ return grub_errno; - - switch (block_type) - { -@@ -790,7 +827,7 @@ grub_png_decode_image_data (struct grub_png_data *data) - grub_png_get_byte (data); - grub_png_get_byte (data); - -- for (i = 0; i < len; i++) -+ for (i = 0; i < len && grub_errno == GRUB_ERR_NONE; i++) - grub_png_output_byte (data, grub_png_get_byte (data)); - - break; -@@ -1045,6 +1082,8 @@ grub_png_decode_png (struct grub_png_data *data) - - len = grub_png_get_dword (data); - type = grub_png_get_dword (data); -+ if (grub_errno != GRUB_ERR_NONE) -+ break; - data->next_offset = data->file->offset + len + 4; - - switch (type) --- -2.41.0 - diff --git a/boot/grub2/0009-video-readers-png-Refuse-to-handle-multiple-image-he.patch b/boot/grub2/0009-video-readers-png-Refuse-to-handle-multiple-image-he.patch deleted file mode 100644 index 903d33b7b5..0000000000 --- a/boot/grub2/0009-video-readers-png-Refuse-to-handle-multiple-image-he.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e170edd18fcfdd9e6f91ba750fd022cef8d43cd4 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 6 Jul 2021 14:13:40 +1000 -Subject: [PATCH] video/readers/png: Refuse to handle multiple image headers - -This causes the bitmap to be leaked. Do not permit multiple image headers. - -Signed-off-by: Daniel Axtens -Reviewed-by: Daniel Kiper -Upstream: 166a4d61448f74745afe1dac2f2cfb85d04909bf -[Thomas: needed to cherry-pick -e623866d9286410156e8b9d2c82d6253a1b22d08, which fixes CVE-2021-3695] -Signed-off-by: Thomas Petazzoni ---- - grub-core/video/readers/png.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c -index d715c4629..35ae553c8 100644 ---- a/grub-core/video/readers/png.c -+++ b/grub-core/video/readers/png.c -@@ -258,6 +258,9 @@ grub_png_decode_image_header (struct grub_png_data *data) - int color_bits; - enum grub_video_blit_format blt; - -+ if (data->image_width || data->image_height) -+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, "png: two image headers found"); -+ - data->image_width = grub_png_get_dword (data); - data->image_height = grub_png_get_dword (data); - --- -2.41.0 - diff --git a/boot/grub2/0010-video-readers-png-Drop-greyscale-support-to-fix-heap.patch b/boot/grub2/0010-video-readers-png-Drop-greyscale-support-to-fix-heap.patch deleted file mode 100644 index 686a0beafd..0000000000 --- a/boot/grub2/0010-video-readers-png-Drop-greyscale-support-to-fix-heap.patch +++ /dev/null @@ -1,173 +0,0 @@ -From 5b42d132a029c1d245d94c813a45836522b46226 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 6 Jul 2021 18:51:35 +1000 -Subject: [PATCH] video/readers/png: Drop greyscale support to fix heap - out-of-bounds write - -A 16-bit greyscale PNG without alpha is processed in the following loop: - - for (i = 0; i < (data->image_width * data->image_height); - i++, d1 += 4, d2 += 2) - { - d1[R3] = d2[1]; - d1[G3] = d2[1]; - d1[B3] = d2[1]; - } - -The increment of d1 is wrong. d1 is incremented by 4 bytes per iteration, -but there are only 3 bytes allocated for storage. This means that image -data will overwrite somewhat-attacker-controlled parts of memory - 3 bytes -out of every 4 following the end of the image. - -This has existed since greyscale support was added in 2013 in commit -3ccf16dff98f (grub-core/video/readers/png.c: Support grayscale). - -Saving starfield.png as a 16-bit greyscale image without alpha in the gimp -and attempting to load it causes grub-emu to crash - I don't think this code -has ever worked. - -Delete all PNG greyscale support. - -Fixes: CVE-2021-3695 - -Signed-off-by: Daniel Axtens -Reviewed-by: Daniel Kiper -Upstream: e623866d9286410156e8b9d2c82d6253a1b22d08 -Signed-off-by: Thomas Petazzoni ---- - grub-core/video/readers/png.c | 87 +++-------------------------------- - 1 file changed, 7 insertions(+), 80 deletions(-) - -diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c -index 35ae553c8..a3161e25b 100644 ---- a/grub-core/video/readers/png.c -+++ b/grub-core/video/readers/png.c -@@ -100,7 +100,7 @@ struct grub_png_data - - unsigned image_width, image_height; - int bpp, is_16bit; -- int raw_bytes, is_gray, is_alpha, is_palette; -+ int raw_bytes, is_alpha, is_palette; - int row_bytes, color_bits; - grub_uint8_t *image_data; - -@@ -296,13 +296,13 @@ grub_png_decode_image_header (struct grub_png_data *data) - data->bpp = 3; - else - { -- data->is_gray = 1; -- data->bpp = 1; -+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, -+ "png: color type not supported"); - } - - if ((color_bits != 8) && (color_bits != 16) - && (color_bits != 4 -- || !(data->is_gray || data->is_palette))) -+ || !data->is_palette)) - return grub_error (GRUB_ERR_BAD_FILE_TYPE, - "png: bit depth must be 8 or 16"); - -@@ -331,7 +331,7 @@ grub_png_decode_image_header (struct grub_png_data *data) - } - - #ifndef GRUB_CPU_WORDS_BIGENDIAN -- if (data->is_16bit || data->is_gray || data->is_palette) -+ if (data->is_16bit || data->is_palette) - #endif - { - data->image_data = grub_calloc (data->image_height, data->row_bytes); -@@ -899,27 +899,8 @@ grub_png_convert_image (struct grub_png_data *data) - int shift; - int mask = (1 << data->color_bits) - 1; - unsigned j; -- if (data->is_gray) -- { -- /* Generic formula is -- (0xff * i) / ((1U << data->color_bits) - 1) -- but for allowed bit depth of 1, 2 and for it's -- equivalent to -- (0xff / ((1U << data->color_bits) - 1)) * i -- Precompute the multipliers to avoid division. -- */ -- -- const grub_uint8_t multipliers[5] = { 0xff, 0xff, 0x55, 0x24, 0x11 }; -- for (i = 0; i < (1U << data->color_bits); i++) -- { -- grub_uint8_t col = multipliers[data->color_bits] * i; -- palette[i][0] = col; -- palette[i][1] = col; -- palette[i][2] = col; -- } -- } -- else -- grub_memcpy (palette, data->palette, 3 << data->color_bits); -+ -+ grub_memcpy (palette, data->palette, 3 << data->color_bits); - d1c = d1; - d2c = d2; - for (j = 0; j < data->image_height; j++, d1c += data->image_width * 3, -@@ -957,60 +938,6 @@ grub_png_convert_image (struct grub_png_data *data) - return; - } - -- if (data->is_gray) -- { -- switch (data->bpp) -- { -- case 4: -- /* 16-bit gray with alpha. */ -- for (i = 0; i < (data->image_width * data->image_height); -- i++, d1 += 4, d2 += 4) -- { -- d1[R4] = d2[3]; -- d1[G4] = d2[3]; -- d1[B4] = d2[3]; -- d1[A4] = d2[1]; -- } -- break; -- case 2: -- if (data->is_16bit) -- /* 16-bit gray without alpha. */ -- { -- for (i = 0; i < (data->image_width * data->image_height); -- i++, d1 += 4, d2 += 2) -- { -- d1[R3] = d2[1]; -- d1[G3] = d2[1]; -- d1[B3] = d2[1]; -- } -- } -- else -- /* 8-bit gray with alpha. */ -- { -- for (i = 0; i < (data->image_width * data->image_height); -- i++, d1 += 4, d2 += 2) -- { -- d1[R4] = d2[1]; -- d1[G4] = d2[1]; -- d1[B4] = d2[1]; -- d1[A4] = d2[0]; -- } -- } -- break; -- /* 8-bit gray without alpha. */ -- case 1: -- for (i = 0; i < (data->image_width * data->image_height); -- i++, d1 += 3, d2++) -- { -- d1[R3] = d2[0]; -- d1[G3] = d2[0]; -- d1[B3] = d2[0]; -- } -- break; -- } -- return; -- } -- - { - /* Only copy the upper 8 bit. */ - #ifndef GRUB_CPU_WORDS_BIGENDIAN --- -2.41.0 - diff --git a/boot/grub2/0011-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch b/boot/grub2/0011-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch deleted file mode 100644 index 19fde07060..0000000000 --- a/boot/grub2/0011-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 43a7d9cb829467993ba683a26c980fcfdaa924c8 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 6 Jul 2021 23:25:07 +1000 -Subject: [PATCH] video/readers/png: Avoid heap OOB R/W inserting huff table - items - -In fuzzing we observed crashes where a code would attempt to be inserted -into a huffman table before the start, leading to a set of heap OOB reads -and writes as table entries with negative indices were shifted around and -the new code written in. - -Catch the case where we would underflow the array and bail. - -Fixes: CVE-2021-3696 - -Signed-off-by: Daniel Axtens -Reviewed-by: Daniel Kiper -Upstream: 210245129c932dc9e1c2748d9d35524fb95b5042 -Signed-off-by: Thomas Petazzoni ---- - grub-core/video/readers/png.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c -index a3161e25b..d7ed5aa6c 100644 ---- a/grub-core/video/readers/png.c -+++ b/grub-core/video/readers/png.c -@@ -438,6 +438,13 @@ grub_png_insert_huff_item (struct huff_table *ht, int code, int len) - for (i = len; i < ht->max_length; i++) - n += ht->maxval[i]; - -+ if (n > ht->num_values) -+ { -+ grub_error (GRUB_ERR_BAD_FILE_TYPE, -+ "png: out of range inserting huffman table item"); -+ return; -+ } -+ - for (i = 0; i < n; i++) - ht->values[ht->num_values - i] = ht->values[ht->num_values - i - 1]; - --- -2.41.0 - diff --git a/boot/grub2/0012-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch b/boot/grub2/0012-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch deleted file mode 100644 index 75c3f8e43b..0000000000 --- a/boot/grub2/0012-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 6be7ccfcc33da513de66f71de63fdc129fa019c2 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Wed, 7 Jul 2021 15:38:19 +1000 -Subject: [PATCH] video/readers/jpeg: Block int underflow -> wild pointer write - -Certain 1 px wide images caused a wild pointer write in -grub_jpeg_ycrcb_to_rgb(). This was caused because in grub_jpeg_decode_data(), -we have the following loop: - -for (; data->r1 < nr1 && (!data->dri || rst); - data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3) - -We did not check if vb * width >= hb * nc1. - -On a 64-bit platform, if that turns out to be negative, it will underflow, -be interpreted as unsigned 64-bit, then be added to the 64-bit pointer, so -we see data->bitmap_ptr jump, e.g.: - -0x6180_0000_0480 to -0x6181_0000_0498 - ^ - ~--- carry has occurred and this pointer is now far away from - any object. - -On a 32-bit platform, it will decrement the pointer, creating a pointer -that won't crash but will overwrite random data. - -Catch the underflow and error out. - -Fixes: CVE-2021-3697 - -Signed-off-by: Daniel Axtens -Reviewed-by: Daniel Kiper -Upstream: 22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6 -Signed-off-by: Thomas Petazzoni ---- - grub-core/video/readers/jpeg.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c -index e31602f76..1d256af01 100644 ---- a/grub-core/video/readers/jpeg.c -+++ b/grub-core/video/readers/jpeg.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - GRUB_MOD_LICENSE ("GPLv3+"); - -@@ -639,6 +640,7 @@ static grub_err_t - grub_jpeg_decode_data (struct grub_jpeg_data *data) - { - unsigned c1, vb, hb, nr1, nc1; -+ unsigned stride_a, stride_b, stride; - int rst = data->dri; - - vb = 8 << data->log_vs; -@@ -650,8 +652,14 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data) - return grub_error(GRUB_ERR_BAD_FILE_TYPE, - "jpeg: attempted to decode data before start of stream"); - -+ if (grub_mul(vb, data->image_width, &stride_a) || -+ grub_mul(hb, nc1, &stride_b) || -+ grub_sub(stride_a, stride_b, &stride)) -+ return grub_error (GRUB_ERR_BAD_FILE_TYPE, -+ "jpeg: cannot decode image with these dimensions"); -+ - for (; data->r1 < nr1 && (!data->dri || rst); -- data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3) -+ data->r1++, data->bitmap_ptr += stride * 3) - for (c1 = 0; c1 < nc1 && (!data->dri || rst); - c1++, rst--, data->bitmap_ptr += hb * 3) - { --- -2.41.0 - diff --git a/boot/grub2/0013-net-ip-Do-IP-fragment-maths-safely.patch b/boot/grub2/0013-net-ip-Do-IP-fragment-maths-safely.patch deleted file mode 100644 index 3acec5cc20..0000000000 --- a/boot/grub2/0013-net-ip-Do-IP-fragment-maths-safely.patch +++ /dev/null @@ -1,56 +0,0 @@ -From cadde7e36b8797060ac8cdf7cca7d8e1e09697e6 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Mon, 20 Dec 2021 19:41:21 +1100 -Subject: [PATCH] net/ip: Do IP fragment maths safely - -We can receive packets with invalid IP fragmentation information. This -can lead to rsm->total_len underflowing and becoming very large. - -Then, in grub_netbuff_alloc(), we add to this very large number, which can -cause it to overflow and wrap back around to a small positive number. -The allocation then succeeds, but the resulting buffer is too small and -subsequent operations can write past the end of the buffer. - -Catch the underflow here. - -Fixes: CVE-2022-28733 - -Signed-off-by: Daniel Axtens -Reviewed-by: Daniel Kiper -Upstream: 3e4817538de828319ba6d59ced2fbb9b5ca13287 -Signed-off-by: Thomas Petazzoni ---- - grub-core/net/ip.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c -index ea5edf8f1..74e4e8b06 100644 ---- a/grub-core/net/ip.c -+++ b/grub-core/net/ip.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - - struct iphdr { -@@ -512,7 +513,14 @@ grub_net_recv_ip4_packets (struct grub_net_buff *nb, - { - rsm->total_len = (8 * (grub_be_to_cpu16 (iph->frags) & OFFSET_MASK) - + (nb->tail - nb->data)); -- rsm->total_len -= ((iph->verhdrlen & 0xf) * sizeof (grub_uint32_t)); -+ -+ if (grub_sub (rsm->total_len, (iph->verhdrlen & 0xf) * sizeof (grub_uint32_t), -+ &rsm->total_len)) -+ { -+ grub_dprintf ("net", "IP reassembly size underflow\n"); -+ return GRUB_ERR_NONE; -+ } -+ - rsm->asm_netbuff = grub_netbuff_alloc (rsm->total_len); - if (!rsm->asm_netbuff) - { --- -2.41.0 - diff --git a/boot/grub2/0014-net-http-Fix-OOB-write-for-split-http-headers.patch b/boot/grub2/0014-net-http-Fix-OOB-write-for-split-http-headers.patch deleted file mode 100644 index cd249299be..0000000000 --- a/boot/grub2/0014-net-http-Fix-OOB-write-for-split-http-headers.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 6bb49bda656e1121fd303cf3e69709172e267718 Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 8 Mar 2022 18:17:03 +1100 -Subject: [PATCH] net/http: Fix OOB write for split http headers - -GRUB has special code for handling an http header that is split -across two packets. - -The code tracks the end of line by looking for a "\n" byte. The -code for split headers has always advanced the pointer just past the -end of the line, whereas the code that handles unsplit headers does -not advance the pointer. This extra advance causes the length to be -one greater, which breaks an assumption in parse_line(), leading to -it writing a NUL byte one byte past the end of the buffer where we -reconstruct the line from the two packets. - -It's conceivable that an attacker controlled set of packets could -cause this to zero out the first byte of the "next" pointer of the -grub_mm_region structure following the current_line buffer. - -Do not advance the pointer in the split header case. - -Fixes: CVE-2022-28734 - -Signed-off-by: Daniel Axtens -Reviewed-by: Daniel Kiper -Upstream: ec6bfd3237394c1c7dbf2fd73417173318d22f4b -Signed-off-by: Thomas Petazzoni ---- - grub-core/net/http.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/grub-core/net/http.c b/grub-core/net/http.c -index b616cf40b..a19b0a205 100644 ---- a/grub-core/net/http.c -+++ b/grub-core/net/http.c -@@ -190,9 +190,7 @@ http_receive (grub_net_tcp_socket_t sock __attribute__ ((unused)), - int have_line = 1; - char *t; - ptr = grub_memchr (nb->data, '\n', nb->tail - nb->data); -- if (ptr) -- ptr++; -- else -+ if (ptr == NULL) - { - have_line = 0; - ptr = (char *) nb->tail; --- -2.41.0 - diff --git a/boot/grub2/0015-net-http-Error-out-on-headers-with-LF-without-CR.patch b/boot/grub2/0015-net-http-Error-out-on-headers-with-LF-without-CR.patch deleted file mode 100644 index 684bb88a9c..0000000000 --- a/boot/grub2/0015-net-http-Error-out-on-headers-with-LF-without-CR.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 2974684d2f7f85a5c57af8155cc3b70c04ec1d6b Mon Sep 17 00:00:00 2001 -From: Daniel Axtens -Date: Tue, 8 Mar 2022 19:04:40 +1100 -Subject: [PATCH] net/http: Error out on headers with LF without CR - -In a similar vein to the previous patch, parse_line() would write -a NUL byte past the end of the buffer if there was an HTTP header -with a LF rather than a CRLF. - -RFC-2616 says: - - Many HTTP/1.1 header field values consist of words separated by LWS - or special characters. These special characters MUST be in a quoted - string to be used within a parameter value (as defined in section 3.6). - -We don't support quoted sections or continuation lines, etc. - -If we see an LF that's not part of a CRLF, bail out. - -Fixes: CVE-2022-28734 - -Signed-off-by: Daniel Axtens -Reviewed-by: Daniel Kiper -Upstream: b26b4c08e7119281ff30d0fb4a6169bd2afa8fe4 -Signed-off-by: Thomas Petazzoni ---- - grub-core/net/http.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/grub-core/net/http.c b/grub-core/net/http.c -index a19b0a205..1fa62b5cb 100644 ---- a/grub-core/net/http.c -+++ b/grub-core/net/http.c -@@ -68,7 +68,15 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len) - char *end = ptr + len; - while (end > ptr && *(end - 1) == '\r') - end--; -+ -+ /* LF without CR. */ -+ if (end == ptr + len) -+ { -+ data->errmsg = grub_strdup (_("invalid HTTP header - LF without CR")); -+ return GRUB_ERR_NONE; -+ } - *end = 0; -+ - /* Trailing CRLF. */ - if (data->in_chunk_len == 1) - { --- -2.41.0 - diff --git a/boot/grub2/0016-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch b/boot/grub2/0016-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch deleted file mode 100644 index 680df1f5e9..0000000000 --- a/boot/grub2/0016-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 1aefeca0f6304a20c1a3711cb9e89c5fdb901b6b Mon Sep 17 00:00:00 2001 -From: Zhang Boyang -Date: Fri, 5 Aug 2022 00:51:20 +0800 -Subject: [PATCH] font: Fix size overflow in grub_font_get_glyph_internal() - -The length of memory allocation and file read may overflow. This patch -fixes the problem by using safemath macros. - -There is a lot of code repetition like "(x * y + 7) / 8". It is unsafe -if overflow happens. This patch introduces grub_video_bitmap_calc_1bpp_bufsz(). -It is safe replacement for such code. It has safemath-like prototype. - -This patch also introduces grub_cast(value, pointer), it casts value to -typeof(*pointer) then store the value to *pointer. It returns true when -overflow occurs or false if there is no overflow. The semantics of arguments -and return value are designed to be consistent with other safemath macros. - -Signed-off-by: Zhang Boyang -Reviewed-by: Daniel Kiper -Upstream: 9c76ec09ae08155df27cd237eaea150b4f02f532 -[Thomas: needed to backport 768e1ef2fc159f6e14e7246e4be09363708ac39e, -which fixes CVE-2022-2601] -Signed-off-by: Thomas Petazzoni ---- - grub-core/font/font.c | 17 +++++++++++++---- - include/grub/bitmap.h | 18 ++++++++++++++++++ - include/grub/safemath.h | 2 ++ - 3 files changed, 33 insertions(+), 4 deletions(-) - -diff --git a/grub-core/font/font.c b/grub-core/font/font.c -index d09bb38d8..876b5b695 100644 ---- a/grub-core/font/font.c -+++ b/grub-core/font/font.c -@@ -739,7 +739,8 @@ grub_font_get_glyph_internal (grub_font_t font, grub_uint32_t code) - grub_int16_t xoff; - grub_int16_t yoff; - grub_int16_t dwidth; -- int len; -+ grub_ssize_t len; -+ grub_size_t sz; - - if (index_entry->glyph) - /* Return cached glyph. */ -@@ -766,9 +767,17 @@ grub_font_get_glyph_internal (grub_font_t font, grub_uint32_t code) - return 0; - } - -- len = (width * height + 7) / 8; -- glyph = grub_malloc (sizeof (struct grub_font_glyph) + len); -- if (!glyph) -+ /* Calculate real struct size of current glyph. */ -+ if (grub_video_bitmap_calc_1bpp_bufsz (width, height, &len) || -+ grub_add (sizeof (struct grub_font_glyph), len, &sz)) -+ { -+ remove_font (font); -+ return 0; -+ } -+ -+ /* Allocate and initialize the glyph struct. */ -+ glyph = grub_malloc (sz); -+ if (glyph == NULL) - { - remove_font (font); - return 0; -diff --git a/include/grub/bitmap.h b/include/grub/bitmap.h -index 5728f8ca3..0d9603f61 100644 ---- a/include/grub/bitmap.h -+++ b/include/grub/bitmap.h -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - struct grub_video_bitmap - { -@@ -79,6 +80,23 @@ grub_video_bitmap_get_height (struct grub_video_bitmap *bitmap) - return bitmap->mode_info.height; - } - -+/* -+ * Calculate and store the size of data buffer of 1bit bitmap in result. -+ * Equivalent to "*result = (width * height + 7) / 8" if no overflow occurs. -+ * Return true when overflow occurs or false if there is no overflow. -+ * This function is intentionally implemented as a macro instead of -+ * an inline function. Although a bit awkward, it preserves data types for -+ * safemath macros and reduces macro side effects as much as possible. -+ * -+ * XXX: Will report false overflow if width * height > UINT64_MAX. -+ */ -+#define grub_video_bitmap_calc_1bpp_bufsz(width, height, result) \ -+({ \ -+ grub_uint64_t _bitmap_pixels; \ -+ grub_mul ((width), (height), &_bitmap_pixels) ? 1 : \ -+ grub_cast (_bitmap_pixels / GRUB_CHAR_BIT + !!(_bitmap_pixels % GRUB_CHAR_BIT), (result)); \ -+}) -+ - void EXPORT_FUNC (grub_video_bitmap_get_mode_info) (struct grub_video_bitmap *bitmap, - struct grub_video_mode_info *mode_info); - -diff --git a/include/grub/safemath.h b/include/grub/safemath.h -index c17b89bba..bb0f826de 100644 ---- a/include/grub/safemath.h -+++ b/include/grub/safemath.h -@@ -30,6 +30,8 @@ - #define grub_sub(a, b, res) __builtin_sub_overflow(a, b, res) - #define grub_mul(a, b, res) __builtin_mul_overflow(a, b, res) - -+#define grub_cast(a, res) grub_add ((a), 0, (res)) -+ - #else - #error gcc 5.1 or newer or clang 3.8 or newer is required - #endif --- -2.41.0 - diff --git a/boot/grub2/0017-font-Fix-several-integer-overflows-in-grub_font_cons.patch b/boot/grub2/0017-font-Fix-several-integer-overflows-in-grub_font_cons.patch deleted file mode 100644 index d8e5835e18..0000000000 --- a/boot/grub2/0017-font-Fix-several-integer-overflows-in-grub_font_cons.patch +++ /dev/null @@ -1,83 +0,0 @@ -From fefba72d17364d6212cfd3be2232f4ce0ba23b82 Mon Sep 17 00:00:00 2001 -From: Zhang Boyang -Date: Fri, 5 Aug 2022 01:58:27 +0800 -Subject: [PATCH] font: Fix several integer overflows in - grub_font_construct_glyph() - -This patch fixes several integer overflows in grub_font_construct_glyph(). -Glyphs of invalid size, zero or leading to an overflow, are rejected. -The inconsistency between "glyph" and "max_glyph_size" when grub_malloc() -returns NULL is fixed too. - -Fixes: CVE-2022-2601 - -Reported-by: Zhang Boyang -Signed-off-by: Zhang Boyang -Reviewed-by: Daniel Kiper -Upstream: 768e1ef2fc159f6e14e7246e4be09363708ac39e -Signed-off-by: Thomas Petazzoni ---- - grub-core/font/font.c | 29 +++++++++++++++++------------ - 1 file changed, 17 insertions(+), 12 deletions(-) - -diff --git a/grub-core/font/font.c b/grub-core/font/font.c -index 876b5b695..0ff552578 100644 ---- a/grub-core/font/font.c -+++ b/grub-core/font/font.c -@@ -1515,6 +1515,7 @@ grub_font_construct_glyph (grub_font_t hinted_font, - struct grub_video_signed_rect bounds; - static struct grub_font_glyph *glyph = 0; - static grub_size_t max_glyph_size = 0; -+ grub_size_t cur_glyph_size; - - ensure_comb_space (glyph_id); - -@@ -1531,29 +1532,33 @@ grub_font_construct_glyph (grub_font_t hinted_font, - if (!glyph_id->ncomb && !glyph_id->attributes) - return main_glyph; - -- if (max_glyph_size < sizeof (*glyph) + (bounds.width * bounds.height + GRUB_CHAR_BIT - 1) / GRUB_CHAR_BIT) -+ if (grub_video_bitmap_calc_1bpp_bufsz (bounds.width, bounds.height, &cur_glyph_size) || -+ grub_add (sizeof (*glyph), cur_glyph_size, &cur_glyph_size)) -+ return main_glyph; -+ -+ if (max_glyph_size < cur_glyph_size) - { - grub_free (glyph); -- max_glyph_size = (sizeof (*glyph) + (bounds.width * bounds.height + GRUB_CHAR_BIT - 1) / GRUB_CHAR_BIT) * 2; -- if (max_glyph_size < 8) -- max_glyph_size = 8; -- glyph = grub_malloc (max_glyph_size); -+ if (grub_mul (cur_glyph_size, 2, &max_glyph_size)) -+ max_glyph_size = 0; -+ glyph = max_glyph_size > 0 ? grub_malloc (max_glyph_size) : NULL; - } - if (!glyph) - { -+ max_glyph_size = 0; - grub_errno = GRUB_ERR_NONE; - return main_glyph; - } - -- grub_memset (glyph, 0, sizeof (*glyph) -- + (bounds.width * bounds.height -- + GRUB_CHAR_BIT - 1) / GRUB_CHAR_BIT); -+ grub_memset (glyph, 0, cur_glyph_size); - - glyph->font = main_glyph->font; -- glyph->width = bounds.width; -- glyph->height = bounds.height; -- glyph->offset_x = bounds.x; -- glyph->offset_y = bounds.y; -+ if (bounds.width == 0 || bounds.height == 0 || -+ grub_cast (bounds.width, &glyph->width) || -+ grub_cast (bounds.height, &glyph->height) || -+ grub_cast (bounds.x, &glyph->offset_x) || -+ grub_cast (bounds.y, &glyph->offset_y)) -+ return main_glyph; - - if (glyph_id->attributes & GRUB_UNICODE_GLYPH_ATTRIBUTE_MIRROR) - grub_font_blit_glyph_mirror (glyph, main_glyph, --- -2.41.0 - diff --git a/boot/grub2/0018-font-Fix-an-integer-underflow-in-blit_comb.patch b/boot/grub2/0018-font-Fix-an-integer-underflow-in-blit_comb.patch deleted file mode 100644 index 1d3d26fb7b..0000000000 --- a/boot/grub2/0018-font-Fix-an-integer-underflow-in-blit_comb.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 79bd19e078c5053d800b1b4d3a901083da947e70 Mon Sep 17 00:00:00 2001 -From: Zhang Boyang -Date: Mon, 24 Oct 2022 08:05:35 +0800 -Subject: [PATCH] font: Fix an integer underflow in blit_comb() - -The expression (ctx.bounds.height - combining_glyphs[i]->height) / 2 may -evaluate to a very big invalid value even if both ctx.bounds.height and -combining_glyphs[i]->height are small integers. For example, if -ctx.bounds.height is 10 and combining_glyphs[i]->height is 12, this -expression evaluates to 2147483647 (expected -1). This is because -coordinates are allowed to be negative but ctx.bounds.height is an -unsigned int. So, the subtraction operates on unsigned ints and -underflows to a very big value. The division makes things even worse. -The quotient is still an invalid value even if converted back to int. - -This patch fixes the problem by casting ctx.bounds.height to int. As -a result the subtraction will operate on int and grub_uint16_t which -will be promoted to an int. So, the underflow will no longer happen. Other -uses of ctx.bounds.height (and ctx.bounds.width) are also casted to int, -to ensure coordinates are always calculated on signed integers. - -Fixes: CVE-2022-3775 - -Reported-by: Daniel Axtens -Signed-off-by: Zhang Boyang -Reviewed-by: Daniel Kiper -Upstream: 992c06191babc1e109caf40d6a07ec6fdef427af -Signed-off-by: Thomas Petazzoni ---- - grub-core/font/font.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/grub-core/font/font.c b/grub-core/font/font.c -index 0ff552578..7b1cbde07 100644 ---- a/grub-core/font/font.c -+++ b/grub-core/font/font.c -@@ -1206,12 +1206,12 @@ blit_comb (const struct grub_unicode_glyph *glyph_id, - ctx.bounds.height = main_glyph->height; - - above_rightx = main_glyph->offset_x + main_glyph->width; -- above_righty = ctx.bounds.y + ctx.bounds.height; -+ above_righty = ctx.bounds.y + (int) ctx.bounds.height; - - above_leftx = main_glyph->offset_x; -- above_lefty = ctx.bounds.y + ctx.bounds.height; -+ above_lefty = ctx.bounds.y + (int) ctx.bounds.height; - -- below_rightx = ctx.bounds.x + ctx.bounds.width; -+ below_rightx = ctx.bounds.x + (int) ctx.bounds.width; - below_righty = ctx.bounds.y; - - comb = grub_unicode_get_comb (glyph_id); -@@ -1224,7 +1224,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id, - - if (!combining_glyphs[i]) - continue; -- targetx = (ctx.bounds.width - combining_glyphs[i]->width) / 2 + ctx.bounds.x; -+ targetx = ((int) ctx.bounds.width - combining_glyphs[i]->width) / 2 + ctx.bounds.x; - /* CGJ is to avoid diacritics reordering. */ - if (comb[i].code - == GRUB_UNICODE_COMBINING_GRAPHEME_JOINER) -@@ -1234,8 +1234,8 @@ blit_comb (const struct grub_unicode_glyph *glyph_id, - case GRUB_UNICODE_COMB_OVERLAY: - do_blit (combining_glyphs[i], - targetx, -- (ctx.bounds.height - combining_glyphs[i]->height) / 2 -- - (ctx.bounds.height + ctx.bounds.y), &ctx); -+ ((int) ctx.bounds.height - combining_glyphs[i]->height) / 2 -+ - ((int) ctx.bounds.height + ctx.bounds.y), &ctx); - if (min_devwidth < combining_glyphs[i]->width) - min_devwidth = combining_glyphs[i]->width; - break; -@@ -1308,7 +1308,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id, - /* Fallthrough. */ - case GRUB_UNICODE_STACK_ATTACHED_ABOVE: - do_blit (combining_glyphs[i], targetx, -- -(ctx.bounds.height + ctx.bounds.y + space -+ -((int) ctx.bounds.height + ctx.bounds.y + space - + combining_glyphs[i]->height), &ctx); - if (min_devwidth < combining_glyphs[i]->width) - min_devwidth = combining_glyphs[i]->width; -@@ -1316,7 +1316,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id, - - case GRUB_UNICODE_COMB_HEBREW_DAGESH: - do_blit (combining_glyphs[i], targetx, -- -(ctx.bounds.height / 2 + ctx.bounds.y -+ -((int) ctx.bounds.height / 2 + ctx.bounds.y - + combining_glyphs[i]->height / 2), &ctx); - if (min_devwidth < combining_glyphs[i]->width) - min_devwidth = combining_glyphs[i]->width; --- -2.41.0 - diff --git a/boot/grub2/0019-fs-ext2-Ignore-checksum-seed-incompat-feature.patch b/boot/grub2/0019-fs-ext2-Ignore-checksum-seed-incompat-feature.patch deleted file mode 100644 index 9a913e2279..0000000000 --- a/boot/grub2/0019-fs-ext2-Ignore-checksum-seed-incompat-feature.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 Mon Sep 17 00:00:00 2001 -From: Javier Martinez Canillas -Date: Fri, 11 Jun 2021 21:36:16 +0200 -Subject: [PATCH] fs/ext2: Ignore checksum seed incompat feature - -This incompat feature is used to denote that the filesystem stored its -metadata checksum seed in the superblock. This is used to allow tune2fs -changing the UUID on a mounted metdata_csum filesystem without having -to rewrite all the disk metadata. However, the GRUB doesn't use the -metadata checksum at all. So, it can just ignore this feature if it -is enabled. This is consistent with the GRUB filesystem code in general -which just does a best effort to access the filesystem's data. - -The checksum seed incompat feature has to be removed from the ignore -list if the support for metadata checksum verification is added to the -GRUB ext2 driver later. - -Suggested-by: Eric Sandeen -Suggested-by: Lukas Czerner -Signed-off-by: Javier Martinez Canillas -Reviewed-by: Lukas Czerner -Reviewed-by: Daniel Kiper -Upstream: 7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 -Signed-off-by: Jens Maus ---- - grub-core/fs/ext2.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c -index e7dd78e66..4953a1591 100644 ---- a/grub-core/fs/ext2.c -+++ b/grub-core/fs/ext2.c -@@ -103,6 +103,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); - #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 - #define EXT4_FEATURE_INCOMPAT_MMP 0x0100 - #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 -+#define EXT4_FEATURE_INCOMPAT_CSUM_SEED 0x2000 - #define EXT4_FEATURE_INCOMPAT_ENCRYPT 0x10000 - - /* The set of back-incompatible features this driver DOES support. Add (OR) -@@ -123,10 +124,15 @@ GRUB_MOD_LICENSE ("GPLv3+"); - * mmp: Not really back-incompatible - was added as such to - * avoid multiple read-write mounts. Safe to ignore for this - * RO driver. -+ * checksum seed: Not really back-incompatible - was added to allow tools -+ * such as tune2fs to change the UUID on a mounted metadata -+ * checksummed filesystem. Safe to ignore for now since the -+ * driver doesn't support checksum verification. However, it -+ * has to be removed from this list if the support is added later. - */ - #define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER \ -- | EXT4_FEATURE_INCOMPAT_MMP) -- -+ | EXT4_FEATURE_INCOMPAT_MMP \ -+ | EXT4_FEATURE_INCOMPAT_CSUM_SEED) - - #define EXT3_JOURNAL_MAGIC_NUMBER 0xc03b3998U - --- -2.34.1 - diff --git a/boot/grub2/0020-fs-ext2-Ignore-the-large_dir-incompat-feature.patch b/boot/grub2/0020-fs-ext2-Ignore-the-large_dir-incompat-feature.patch deleted file mode 100644 index 43b182f968..0000000000 --- a/boot/grub2/0020-fs-ext2-Ignore-the-large_dir-incompat-feature.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 2e9fa73a040462b81bfbfe56c0bc7ad2d30b446b Mon Sep 17 00:00:00 2001 -From: Theodore Ts'o -Date: Tue, 30 Aug 2022 22:41:59 -0400 -Subject: [PATCH] fs/ext2: Ignore the large_dir incompat feature - -Recently, ext4 added the large_dir feature, which adds support for -a 3 level htree directory support. - -The GRUB supports existing file systems with htree directories by -ignoring their existence, and since the index nodes for the hash tree -look like deleted directory entries (by design), the GRUB can simply do -a brute force O(n) linear search of directories. The same is true for -3 level deep htrees indicated by large_dir feature flag. - -Hence, it is safe for the GRUB to ignore the large_dir incompat feature. - -Fixes: https://savannah.gnu.org/bugs/?61606 - -Signed-off-by: Theodore Ts'o -Reviewed-by: Daniel Kiper -Upstream: 2e9fa73a040462b81bfbfe56c0bc7ad2d30b446b -Signed-off-by: Jens Maus ---- - grub-core/fs/ext2.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c -index 0989e26e1..e1cc5e62a 100644 ---- a/grub-core/fs/ext2.c -+++ b/grub-core/fs/ext2.c -@@ -104,6 +104,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); - #define EXT4_FEATURE_INCOMPAT_MMP 0x0100 - #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 - #define EXT4_FEATURE_INCOMPAT_CSUM_SEED 0x2000 -+#define EXT4_FEATURE_INCOMPAT_LARGEDIR 0x4000 /* >2GB or 3 level htree */ - #define EXT4_FEATURE_INCOMPAT_ENCRYPT 0x10000 - - /* The set of back-incompatible features this driver DOES support. Add (OR) -@@ -129,10 +130,17 @@ GRUB_MOD_LICENSE ("GPLv3+"); - * checksummed filesystem. Safe to ignore for now since the - * driver doesn't support checksum verification. However, it - * has to be removed from this list if the support is added later. -+ * large_dir: Not back-incompatible given that the GRUB ext2 driver does -+ * not implement EXT2_FEATURE_COMPAT_DIR_INDEX. If the GRUB -+ * eventually supports the htree feature (aka dir_index) -+ * it should support 3 level htrees and then move -+ * EXT4_FEATURE_INCOMPAT_LARGEDIR to -+ * EXT2_DRIVER_SUPPORTED_INCOMPAT. - */ - #define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER \ - | EXT4_FEATURE_INCOMPAT_MMP \ -- | EXT4_FEATURE_INCOMPAT_CSUM_SEED) -+ | EXT4_FEATURE_INCOMPAT_CSUM_SEED \ -+ | EXT4_FEATURE_INCOMPAT_LARGEDIR) - - #define EXT3_JOURNAL_MAGIC_NUMBER 0xc03b3998U - --- -2.34.1 - diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in index f05f33ccc7..7c235e96f7 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 @@ -102,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 5d9db423d4..65a8ec8e4f 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 6c3a861fb6..6d0d71c47d 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,29 +23,8 @@ 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 -# 0005-loader-efi-chainloader-Use-grub_loader_set_ex.patch -GRUB2_IGNORE_CVES += CVE-2022-28736 -# 0006-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch -GRUB2_IGNORE_CVES += CVE-2022-28735 -# 0010-video-readers-png-Drop-greyscale-support-to-fix-heap.patch -GRUB2_IGNORE_CVES += CVE-2021-3695 -# 0011-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch -GRUB2_IGNORE_CVES += CVE-2021-3696 -# 0012-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch -GRUB2_IGNORE_CVES += CVE-2021-3697 -# 0013-net-ip-Do-IP-fragment-maths-safely.patch -GRUB2_IGNORE_CVES += CVE-2022-28733 -# 0014-net-http-Fix-OOB-write-for-split-http-headers.patch -# 0015-net-http-Error-out-on-headers-with-LF-without-CR.patch -GRUB2_IGNORE_CVES += CVE-2022-28734 -# 0017-font-Fix-several-integer-overflows-in-grub_font_cons.patch -GRUB2_IGNORE_CVES += CVE-2022-2601 -# 0018-font-Fix-an-integer-underflow-in-blit_comb.patch -GRUB2_IGNORE_CVES += CVE-2022-3775 ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) GRUB2_INSTALL_TARGET = YES @@ -121,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/lpc32xxcdl/0001-compiler_name.patch b/boot/lpc32xxcdl/0001-compiler_name.patch deleted file mode 100644 index 6aecbdeba6..0000000000 --- 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 39966f01e9..0000000000 --- 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 cfd77bead6..0000000000 --- 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 94c184780e..0000000000 --- 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 97137aa7d4..0000000000 --- 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 8c6b73d63f..0000000000 --- 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 9f5cd27f50..0000000000 --- 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-Makefile-disable-stack-protection.patch b/boot/mv-ddr-marvell/0001-Makefile-disable-stack-protection.patch deleted file mode 100644 index 62b1000727..0000000000 --- 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/optee-os/Config.in b/boot/optee-os/Config.in index cc2c90b5ac..75bf00d450 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.21.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.21.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 diff --git a/boot/optee-os/optee-os.hash b/boot/optee-os/optee-os.hash index cf3ee7a36e..1f13931ca2 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.21.0/optee-os-3.21.0.tar.gz -sha256 92a16e841b0bdb4bfcb1c20b6a1bd3309092203d534ed167dfdb5a5f395bf60b optee-os-3.21.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/shim/shim.hash b/boot/shim/shim.hash index a0a9f06f35..5aa4ca06e8 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 0a6d1527aa..ae57677320 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/syslinux/0018-single-load-segment.patch b/boot/syslinux/0018-single-load-segment.patch new file mode 100644 index 0000000000..11d73c31a4 --- /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 0000000000..65d9463a6f --- /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 0000000000..d80bb4bdb3 --- /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 0000000000..95131180ef --- /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 0000000000..1f8ade207c --- /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 0000000000..d76cef82e9 --- /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 0000000000..c968c5648f --- /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 0000000000..64be9a18f2 --- /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 10602c8df3..8c8368a1a5 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 afa309aa98..0ffcb8235f 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 diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 8b726eaa57..beafb38930 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 @@ -240,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 diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index a8bd817900..fbe5d21540 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 9f81c0b842..dda606a880 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -186,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 diff --git a/buildroot-2021.08.2.kdev4 b/buildroot-2021.08.2.kdev4 deleted file mode 100644 index 3c5d9b99b8..0000000000 --- a/buildroot-2021.08.2.kdev4 +++ /dev/null @@ -1,4 +0,0 @@ -[Project] -CreatedFrom=Makefile.legacy -Manager=KDevCustomMakeManager -Name=buildroot-2021.08.2 diff --git a/configs/acmesystems_acqua_a5_256mb_defconfig b/configs/acmesystems_acqua_a5_256mb_defconfig index 5b32234294..ef57734194 100644 --- a/configs/acmesystems_acqua_a5_256mb_defconfig +++ b/configs/acmesystems_acqua_a5_256mb_defconfig @@ -2,13 +2,13 @@ BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=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="6.1.27" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.12" 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 69294cbec0..a69e2a2251 100644 --- a/configs/acmesystems_acqua_a5_512mb_defconfig +++ b/configs/acmesystems_acqua_a5_512mb_defconfig @@ -2,13 +2,13 @@ BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=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="6.1.27" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.12" 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 0000000000..bbae73dff4 --- /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/andes_ae350_45_defconfig b/configs/andes_ae350_45_defconfig index ef29ab6454..fd8b7db0e7 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" diff --git a/configs/asus_tinker-s_rk3288_defconfig b/configs/asus_tinker-s_rk3288_defconfig new file mode 100644 index 0000000000..de03336cbb --- /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.72" +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 40f4125880..b3e4502a45 100644 --- a/configs/asus_tinker_rk3288_defconfig +++ b/configs/asus_tinker_rk3288_defconfig @@ -10,10 +10,9 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=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="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 @@ -23,10 +22,8 @@ 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.2" +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 adfd7585c4..536899583c 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.9" +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,7 +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_BUILD_FORMAT_STM32_LEGACY=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 0000000000..285aef39bc --- /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 0000000000..200257ac0d --- /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 0f267021f8..6b2ba13e41 100644 --- a/configs/bananapi_m2_ultra_defconfig +++ b/configs/bananapi_m2_ultra_defconfig @@ -2,21 +2,23 @@ BR2_arm=y BR2_cortex_a7=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="6.1.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="2023.01" +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 7e006e7a85..e2d67019b1 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,8 +17,8 @@ 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.162-ti-r59)/linux-5.10.162-ti-r59.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 am335x-bonegreen-wireless" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -34,7 +31,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="2023.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 @@ -48,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/beaglev_defconfig b/configs/beaglev_defconfig index a76c1ffb5f..9984b8b74e 100644 --- a/configs/beaglev_defconfig +++ b/configs/beaglev_defconfig @@ -1,10 +1,10 @@ BR2_riscv=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_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" diff --git a/configs/broadcom_northstar_defconfig b/configs/broadcom_northstar_defconfig index 1008de168f..bbd368ac79 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 77b8abf531..672fee57a1 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/freescale_imx6ullevk_defconfig b/configs/freescale_imx6ullevk_defconfig index db4fa69f71..fd4254edbf 100644 --- a/configs/freescale_imx6ullevk_defconfig +++ b/configs/freescale_imx6ullevk_defconfig @@ -1,21 +1,26 @@ BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=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_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.15.71-2.2.0)/linux-imx-lf-5.15.71-2.2.0.tar.gz" +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_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.15.71-2.2.0)/uboot-imx-lf-5.15.71-2.2.0.tar.gz" +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 diff --git a/configs/freescale_imx8dxlevk_defconfig b/configs/freescale_imx8dxlevk_defconfig new file mode 100644 index 0000000000..0f4caa0ea9 --- /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_imx8mpevk_defconfig b/configs/freescale_imx8mpevk_defconfig index 913c190d87..2aed048482 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_GLOBAL_PATCH_DIR="board/freescale/common/patches" +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_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_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" @@ -20,15 +19,19 @@ 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-5.10.y-1.0.0)/imx-atf-lf-5.10.y-1.0.0.tar.gz" +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_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_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_imx93evk_defconfig b/configs/freescale_imx93evk_defconfig new file mode 100644 index 0000000000..fa16967884 --- /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/hifive_unleashed_defconfig b/configs/hifive_unleashed_defconfig index fbc273fffc..1aa06f59e7 100644 --- a/configs/hifive_unleashed_defconfig +++ b/configs/hifive_unleashed_defconfig @@ -1,11 +1,11 @@ # Architecture BR2_riscv=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_64=y BR2_RISCV_ABI_LP64D=y diff --git a/configs/icnova-a20-adb4006_defconfig b/configs/icnova-a20-adb4006_defconfig new file mode 100644 index 0000000000..ba529c8db5 --- /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 b507d1c0d6..662ef0270e 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 6.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=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,17 +12,17 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.12" +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="2023.01" +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 @@ -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/imx8mmpico_defconfig b/configs/imx8mmpico_defconfig index 8c34c40fef..711cdeb390 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" @@ -18,15 +19,16 @@ 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_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.10.72-2.2.0)/imx-atf-lf-5.10.72-2.2.0.tar.gz" +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/imx8mpico_defconfig b/configs/imx8mpico_defconfig index 1df8c104ec..dd0f0e7b65 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" @@ -18,15 +19,16 @@ 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_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.10.72-2.2.0)/imx-atf-lf-5.10.72-2.2.0.tar.gz" +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/imxrt1050-evk_defconfig b/configs/imxrt1050-evk_defconfig new file mode 100644 index 0000000000..b493c11098 --- /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 0000000000..0a83883334 --- /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/linksprite_pcduino_defconfig b/configs/linksprite_pcduino_defconfig index cf58e021ba..2b215201cb 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_6_1=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="6.1.14" +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="2023.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/ls1046a-frwy_defconfig b/configs/ls1046a-frwy_defconfig new file mode 100644 index 0000000000..ce796ce3ef --- /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 0000000000..2249fa4be5 --- /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 0000000000..1af7a3c474 --- /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/olimex_a20_olinuxino_lime2_defconfig b/configs/olimex_a20_olinuxino_lime2_defconfig index d817e1dd1c..bf44207393 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 6.1 LTS series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=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. @@ -23,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="6.1.38" +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 @@ -45,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="2023.07" +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 88967e70cb..5e26eaf857 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 6.1 LTS series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=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. @@ -23,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="6.1.38" +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 @@ -45,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="2023.07" +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/orangepi_one_defconfig b/configs/orangepi_one_defconfig index ea988e87ea..1431619620 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_6_1=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="6.1.14" +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,7 +19,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="2023.01" +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 diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig new file mode 100644 index 0000000000..46d04b34c8 --- /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_plus_defconfig b/configs/orangepi_pc_plus_defconfig index 9dbf808da7..068eb09636 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_6_1=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="6.1.14" +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,7 +21,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="2023.01" +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 diff --git a/configs/orangepi_zero3_defconfig b/configs/orangepi_zero3_defconfig new file mode 100644 index 0000000000..93d53dc301 --- /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 e286f0b7f1..596805bd47 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_6_1=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="6.1.14" +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,7 +31,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="2023.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 diff --git a/configs/orangepi_zero_plus2_defconfig b/configs/orangepi_zero_plus2_defconfig index 377e9f1c59..990e16463f 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_6_1=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.8" +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="2023.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="6.1.14" +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 26a25bd9f8..c564d8a342 100644 --- a/configs/orangepi_zero_plus_defconfig +++ b/configs/orangepi_zero_plus_defconfig @@ -9,7 +9,7 @@ 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,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="2023.01" +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 @@ -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="6.1.4" +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" diff --git a/configs/pine64_pinecube_defconfig b/configs/pine64_pinecube_defconfig new file mode 100644 index 0000000000..5cdaf59fae --- /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 099934324c..75a892f798 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_1=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.1.26" +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,7 +39,7 @@ 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="2023.01" +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.fragment" BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/configs/qemu_aarch64_sbsa_defconfig b/configs/qemu_aarch64_sbsa_defconfig index 1eff468935..5acfaea777 100644 --- a/configs/qemu_aarch64_sbsa_defconfig +++ b/configs/qemu_aarch64_sbsa_defconfig @@ -22,7 +22,7 @@ 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="6.1.26" +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 74e6b8431a..1167060308 100644 --- a/configs/qemu_aarch64_virt_defconfig +++ b/configs/qemu_aarch64_virt_defconfig @@ -20,7 +20,7 @@ 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="6.1.26" +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 index dbdde892be..a0520edcf4 100644 --- a/configs/qemu_arm_ebbr_defconfig +++ b/configs/qemu_arm_ebbr_defconfig @@ -7,12 +7,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/arm-ebbr/post- BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/arm-ebbr/genimage.cfg" # Linux headers -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=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.1.26" +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" @@ -28,7 +28,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 @@ -42,7 +42,7 @@ 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="2023.01" +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 diff --git a/configs/qemu_arm_versatile_defconfig b/configs/qemu_arm_versatile_defconfig index 1029031182..7c93ae3e7e 100644 --- a/configs/qemu_arm_versatile_defconfig +++ b/configs/qemu_arm_versatile_defconfig @@ -20,7 +20,7 @@ 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="6.1.26" +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 743dc0479a..ccbcc8ea4e 100644 --- a/configs/qemu_arm_vexpress_defconfig +++ b/configs/qemu_arm_vexpress_defconfig @@ -25,7 +25,7 @@ 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="6.1.26" +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 3cd666fb4d..11a5c98174 100644 --- a/configs/qemu_arm_vexpress_tz_defconfig +++ b/configs/qemu_arm_vexpress_tz_defconfig @@ -22,7 +22,7 @@ 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="6.1.26" +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" diff --git a/configs/qemu_m68k_mcf5208_defconfig b/configs/qemu_m68k_mcf5208_defconfig index d6dd8bd1b7..0c95756a8e 100644 --- a/configs/qemu_m68k_mcf5208_defconfig +++ b/configs/qemu_m68k_mcf5208_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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" @@ -29,9 +29,6 @@ BR2_LINUX_KERNEL_VMLINUX=y 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 a6444103c9..a3a09ef775 100644 --- a/configs/qemu_m68k_q800_defconfig +++ b/configs/qemu_m68k_q800_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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" diff --git a/configs/qemu_microblazebe_mmu_defconfig b/configs/qemu_microblazebe_mmu_defconfig index 96b9dce41c..a93ef3564d 100644 --- a/configs/qemu_microblazebe_mmu_defconfig +++ b/configs/qemu_microblazebe_mmu_defconfig @@ -20,11 +20,10 @@ 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="6.1.26" +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 5c2e4ba3d4..0b00b58b4e 100644 --- a/configs/qemu_microblazeel_mmu_defconfig +++ b/configs/qemu_microblazeel_mmu_defconfig @@ -20,11 +20,10 @@ 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="6.1.26" +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 bf4ce4f704..1fdc588998 100644 --- a/configs/qemu_mips32r2_malta_defconfig +++ b/configs/qemu_mips32r2_malta_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 fadb94ad71..35d071010d 100644 --- a/configs/qemu_mips32r2el_malta_defconfig +++ b/configs/qemu_mips32r2el_malta_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 e52b8a5408..a57347d2a6 100644 --- a/configs/qemu_mips32r6_malta_defconfig +++ b/configs/qemu_mips32r6_malta_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 f9ed35eb95..9fb82a76d2 100644 --- a/configs/qemu_mips32r6el_malta_defconfig +++ b/configs/qemu_mips32r6el_malta_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 8616d689e6..f314b123a8 100644 --- a/configs/qemu_mips64_malta_defconfig +++ b/configs/qemu_mips64_malta_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 e7d1a730df..672c416a09 100644 --- a/configs/qemu_mips64el_malta_defconfig +++ b/configs/qemu_mips64el_malta_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 e9bf26c087..15dba14cc6 100644 --- a/configs/qemu_mips64r6_malta_defconfig +++ b/configs/qemu_mips64r6_malta_defconfig @@ -20,7 +20,7 @@ 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="6.1.26" +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 28de05345b..39b9c73bcd 100644 --- a/configs/qemu_mips64r6el_malta_defconfig +++ b/configs/qemu_mips64r6el_malta_defconfig @@ -20,7 +20,7 @@ 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="6.1.26" +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 a9fbf4ce15..698ff68e5e 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="6.1.26" +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 diff --git a/configs/qemu_or1k_defconfig b/configs/qemu_or1k_defconfig index 166e5ea5ca..4f1030b35f 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 @@ -15,7 +18,7 @@ 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="6.1.26" +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 6839f2f0ba..8e68fae3c2 100644 --- a/configs/qemu_ppc64_e5500_defconfig +++ b/configs/qemu_ppc64_e5500_defconfig @@ -16,7 +16,7 @@ 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="6.1.26" +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 896d209675..4bc9534166 100644 --- a/configs/qemu_ppc64_pseries_defconfig +++ b/configs/qemu_ppc64_pseries_defconfig @@ -20,7 +20,7 @@ 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="6.1.26" +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 e23fcd4695..4975a90bc6 100644 --- a/configs/qemu_ppc64le_powernv8_defconfig +++ b/configs/qemu_ppc64le_powernv8_defconfig @@ -20,7 +20,7 @@ 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="6.1.26" +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 fa8e2a09d3..1cca03053b 100644 --- a/configs/qemu_ppc64le_pseries_defconfig +++ b/configs/qemu_ppc64le_pseries_defconfig @@ -20,7 +20,7 @@ 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="6.1.26" +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 83a657dcbd..284982cf2c 100644 --- a/configs/qemu_ppc_bamboo_defconfig +++ b/configs/qemu_ppc_bamboo_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 124f6f247a..e50484f5a3 100644 --- a/configs/qemu_ppc_e500mc_defconfig +++ b/configs/qemu_ppc_e500mc_defconfig @@ -16,7 +16,7 @@ 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="6.1.26" +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 d2741d7dfb..6c14a1ca90 100644 --- a/configs/qemu_ppc_g3beige_defconfig +++ b/configs/qemu_ppc_g3beige_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 eda116afd6..33b9ec0d63 100644 --- a/configs/qemu_ppc_mac99_defconfig +++ b/configs/qemu_ppc_mac99_defconfig @@ -11,7 +11,7 @@ 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="6.1.26" +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 6d8a214e05..efbc5fc81d 100644 --- a/configs/qemu_ppc_mpc8544ds_defconfig +++ b/configs/qemu_ppc_mpc8544ds_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 03c871282e..74a67400ea 100644 --- a/configs/qemu_riscv32_virt_defconfig +++ b/configs/qemu_riscv32_virt_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="rv32" BR2_LINUX_KERNEL_IMAGE=y diff --git a/configs/qemu_riscv64_nommu_virt_defconfig b/configs/qemu_riscv64_nommu_virt_defconfig index 6d84844e85..9999bcf7f3 100644 --- a/configs/qemu_riscv64_nommu_virt_defconfig +++ b/configs/qemu_riscv64_nommu_virt_defconfig @@ -6,9 +6,6 @@ BR2_RISCV_64=y # Linux headers same as kernel BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y -# Busybox with hush -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" - # 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="6.1.26" +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 666500d889..52ad87fa7c 100644 --- a/configs/qemu_riscv64_virt_defconfig +++ b/configs/qemu_riscv64_virt_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_IMAGE=y diff --git a/configs/qemu_riscv64_virt_efi_defconfig b/configs/qemu_riscv64_virt_efi_defconfig new file mode 100644 index 0000000000..79aadf78ca --- /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 4853cd0897..39dae4be2a 100644 --- a/configs/qemu_s390x_defconfig +++ b/configs/qemu_s390x_defconfig @@ -18,7 +18,7 @@ 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="6.1.26" +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 f07e352367..038a9763c3 100644 --- a/configs/qemu_sh4_r2d_defconfig +++ b/configs/qemu_sh4_r2d_defconfig @@ -20,7 +20,7 @@ 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="6.1.26" +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 9753ebc951..a8988d4446 100644 --- a/configs/qemu_sh4eb_r2d_defconfig +++ b/configs/qemu_sh4eb_r2d_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 ccc6cce3c1..8a61155411 100644 --- a/configs/qemu_sparc64_sun4u_defconfig +++ b/configs/qemu_sparc64_sun4u_defconfig @@ -19,7 +19,7 @@ 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="6.1.26" +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 7d1a424eef..0000000000 --- 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_6_1=y - -# Linux kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.26" -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 0d1955291c..9e99d9d2b2 100644 --- a/configs/qemu_x86_64_defconfig +++ b/configs/qemu_x86_64_defconfig @@ -21,7 +21,7 @@ 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="6.1.26" +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 19eb9360df..5c6bebd3e3 100644 --- a/configs/qemu_x86_defconfig +++ b/configs/qemu_x86_defconfig @@ -22,7 +22,7 @@ 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="6.1.26" +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 6bfda22775..8dcdced01b 100644 --- a/configs/qemu_xtensa_lx60_defconfig +++ b/configs/qemu_xtensa_lx60_defconfig @@ -21,7 +21,7 @@ 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="6.1.26" +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 80d17d3e5a..d1d59b9525 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" @@ -25,7 +22,7 @@ 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="6.1.26" +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 4506e94bce..6bff1ebf81 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 7a35794c2d..ac72d49f92 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 9b484c5588..dee9a0b23f 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 4d838ae0e8..6871dc0fe0 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 0a59ab42a9..f0e7b82191 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 40d0c0f888..532b3ed686 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 5942f7c4e1..453bbe9440 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 4e5580c140..1ed5d34b56 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 cca53f9b37..01b4353b84 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 29cb0472d7..d53711c3a7 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 017aecc0dd..4b50dc9ef9 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 2ea503ca24..1bf335c076 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 0000000000..1323752683 --- /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 index eed656ef5f..7175aa66bf 100644 --- a/configs/rock5b_defconfig +++ b/configs/rock5b_defconfig @@ -6,6 +6,7 @@ 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 @@ -13,7 +14,8 @@ 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_INTREE_DTS_NAME="rockchip/rk3588-rock-5b" +# BR2_LINUX_KERNEL_INTREE_DTS_NAME is not set +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 diff --git a/configs/rockpro64_defconfig b/configs/rockpro64_defconfig index d39640f855..472b9aded2 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/shredos_defconfig.old b/configs/shredos_defconfig.old deleted file mode 100644 index 7fe7b46f2d..0000000000 --- a/configs/shredos_defconfig.old +++ /dev/null @@ -1,3260 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Buildroot -gdb2cb5188a-dirty Configuration -# -BR2_HAVE_DOT_CONFIG=y -BR2_HOST_GCC_AT_LEAST_4_9=y -BR2_HOST_GCC_AT_LEAST_5=y -BR2_HOST_GCC_AT_LEAST_6=y -BR2_HOST_GCC_AT_LEAST_7=y -BR2_HOST_GCC_AT_LEAST_8=y -BR2_HOST_GCC_AT_LEAST_9=y - -# -# Target options -# -BR2_ARCH_IS_64=y -BR2_ARCH_HAS_MMU_MANDATORY=y -# BR2_arcle is not set -# BR2_arceb is not set -# BR2_arm is not set -# BR2_armeb is not set -# BR2_aarch64 is not set -# BR2_aarch64_be is not set -# BR2_csky is not set -# BR2_i386 is not set -# BR2_m68k is not set -# BR2_microblazeel is not set -# BR2_microblazebe is not set -# BR2_mips is not set -# BR2_mipsel is not set -# BR2_mips64 is not set -# BR2_mips64el is not set -# BR2_nds32 is not set -# BR2_nios2 is not set -# BR2_or1k is not set -# BR2_powerpc is not set -# BR2_powerpc64 is not set -# BR2_powerpc64le is not set -# BR2_riscv is not set -# BR2_s390x is not set -# BR2_sh is not set -# BR2_sparc is not set -# BR2_sparc64 is not set -BR2_x86_64=y -# BR2_xtensa is not set -BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y -BR2_ARCH="x86_64" -BR2_ENDIAN="LITTLE" -BR2_GCC_TARGET_ARCH="nocona" -BR2_BINFMT_SUPPORTS_SHARED=y -BR2_READELF_ARCH_NAME="Advanced Micro Devices X86-64" -BR2_BINFMT_ELF=y -BR2_X86_CPU_HAS_MMX=y -BR2_X86_CPU_HAS_SSE=y -BR2_X86_CPU_HAS_SSE2=y -BR2_X86_CPU_HAS_SSE3=y -BR2_x86_nocona=y -# BR2_x86_core2 is not set -# BR2_x86_corei7 is not set -# BR2_x86_westmere is not set -# BR2_x86_corei7_avx is not set -# BR2_x86_core_avx2 is not set -# BR2_x86_atom is not set -# BR2_x86_silvermont is not set -# BR2_x86_opteron is not set -# BR2_x86_opteron_sse3 is not set -# BR2_x86_barcelona is not set -# BR2_x86_jaguar is not set -# BR2_x86_steamroller is not set - -# -# Build options -# - -# -# Commands -# -BR2_WGET="wget --passive-ftp -nd -t 3" -BR2_SVN="svn --non-interactive" -BR2_BZR="bzr" -BR2_GIT="git" -BR2_CVS="cvs" -BR2_LOCALFILES="cp" -BR2_SCP="scp" -BR2_HG="hg" -BR2_ZCAT="gzip -d -c" -BR2_BZCAT="bzcat" -BR2_XZCAT="xzcat" -BR2_LZCAT="lzip -d -c" -BR2_TAR_OPTIONS="" -BR2_DEFCONFIG="$(CONFIG_DIR)/configs/shredos_defconfig" -BR2_DL_DIR="$(TOPDIR)/dl" -BR2_HOST_DIR="$(BASE_DIR)/host" - -# -# Mirrors and Download locations -# -BR2_PRIMARY_SITE="" -BR2_BACKUP_SITE="http://sources.buildroot.net" -BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" -BR2_GNU_MIRROR="http://ftpmirror.gnu.org" -BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" -BR2_CPAN_MIRROR="http://cpan.metacpan.org" -BR2_JLEVEL=0 -# BR2_CCACHE is not set -# BR2_ENABLE_DEBUG is not set -# BR2_ENABLE_RUNTIME_DEBUG is not set -BR2_STRIP_strip=y -BR2_STRIP_EXCLUDE_FILES="" -BR2_STRIP_EXCLUDE_DIRS="" -# BR2_OPTIMIZE_0 is not set -# BR2_OPTIMIZE_1 is not set -# BR2_OPTIMIZE_2 is not set -# BR2_OPTIMIZE_3 is not set -# BR2_OPTIMIZE_G is not set -BR2_OPTIMIZE_S=y -# BR2_OPTIMIZE_FAST is not set -# BR2_GOOGLE_BREAKPAD_ENABLE is not set -# BR2_STATIC_LIBS is not set -BR2_SHARED_LIBS=y -# BR2_SHARED_STATIC_LIBS is not set -BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" -BR2_GLOBAL_PATCH_DIR="board/shredos/patches" - -# -# Advanced -# -BR2_COMPILER_PARANOID_UNSAFE_PATH=y -# BR2_FORCE_HOST_BUILD is not set -# BR2_REPRODUCIBLE is not set -# BR2_PER_PACKAGE_DIRECTORIES is not set - -# -# Security Hardening Options -# -BR2_PIC_PIE_ARCH_SUPPORTS=y -BR2_PIC_PIE=y -# BR2_SSP_NONE is not set -# BR2_SSP_REGULAR is not set -BR2_SSP_STRONG=y -# BR2_SSP_ALL is not set -BR2_SSP_OPTION="-fstack-protector-strong" -# BR2_RELRO_NONE is not set -# BR2_RELRO_PARTIAL is not set -BR2_RELRO_FULL=y -BR2_FORTIFY_SOURCE_ARCH_SUPPORTS=y -# BR2_FORTIFY_SOURCE_NONE is not set -BR2_FORTIFY_SOURCE_1=y -# BR2_FORTIFY_SOURCE_2 is not set - -# -# Toolchain -# -BR2_TOOLCHAIN=y -BR2_TOOLCHAIN_USES_GLIBC=y -BR2_TOOLCHAIN_BUILDROOT=y -# BR2_TOOLCHAIN_EXTERNAL is not set - -# -# Toolchain Buildroot Options -# -BR2_TOOLCHAIN_BUILDROOT_VENDOR="buildroot" -# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set -BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" - -# -# Kernel Header Options -# -# BR2_KERNEL_HEADERS_AS_KERNEL is not set -# BR2_KERNEL_HEADERS_4_4 is not set -# BR2_KERNEL_HEADERS_4_9 is not set -# BR2_KERNEL_HEADERS_4_14 is not set -# BR2_KERNEL_HEADERS_4_19 is not set -# BR2_KERNEL_HEADERS_5_4 is not set -# BR2_KERNEL_HEADERS_5_10 is not set -# BR2_KERNEL_HEADERS_5_11 is not set -# BR2_KERNEL_HEADERS_5_12 is not set -BR2_KERNEL_HEADERS_5_13=y -# BR2_KERNEL_HEADERS_VERSION is not set -# BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set -# BR2_KERNEL_HEADERS_CUSTOM_GIT is not set -BR2_KERNEL_HEADERS_LATEST=y -BR2_DEFAULT_KERNEL_HEADERS="5.13.19" -BR2_PACKAGE_LINUX_HEADERS=y - -# -# Glibc Options -# -BR2_PACKAGE_GLIBC=y -# BR2_PACKAGE_GLIBC_UTILS is not set - -# -# Binutils Options -# -BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y -# BR2_BINUTILS_VERSION_2_32_X is not set -# BR2_BINUTILS_VERSION_2_35_X is not set -BR2_BINUTILS_VERSION_2_36_X=y -# BR2_BINUTILS_VERSION_2_37_X is not set -BR2_BINUTILS_VERSION="2.36.1" -BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" - -# -# GCC Options -# -# BR2_GCC_VERSION_9_X is not set -BR2_GCC_VERSION_10_X=y -# BR2_GCC_VERSION_11_X is not set -BR2_GCC_SUPPORTS_DLANG=y -BR2_GCC_VERSION="10.3.0" -BR2_EXTRA_GCC_CONFIG_OPTIONS="" -BR2_TOOLCHAIN_BUILDROOT_CXX=y -# BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set -# BR2_TOOLCHAIN_BUILDROOT_DLANG is not set -# BR2_GCC_ENABLE_LTO is not set -# BR2_GCC_ENABLE_OPENMP is not set -# BR2_GCC_ENABLE_GRAPHITE is not set -BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y - -# -# Host GDB Options -# -# BR2_PACKAGE_HOST_GDB is not set - -# -# Toolchain Generic Options -# -BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y -BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y -BR2_USE_WCHAR=y -BR2_ENABLE_LOCALE=y -BR2_INSTALL_LIBSTDCPP=y -BR2_TOOLCHAIN_HAS_THREADS=y -BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y -BR2_TOOLCHAIN_HAS_THREADS_NPTL=y -BR2_TOOLCHAIN_HAS_SSP=y -BR2_TOOLCHAIN_HAS_SSP_STRONG=y -BR2_TOOLCHAIN_HAS_UCONTEXT=y -BR2_TOOLCHAIN_SUPPORTS_PIE=y -BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y -BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST="" -BR2_TOOLCHAIN_EXTRA_LIBS="" -BR2_TOOLCHAIN_HAS_FULL_GETTEXT=y -BR2_USE_MMU=y -BR2_TARGET_OPTIMIZATION="" -BR2_TARGET_LDFLAGS="" -# BR2_ECLIPSE_REGISTER is not set -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13=y -BR2_TOOLCHAIN_HEADERS_LATEST=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.13" -BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y -BR2_TOOLCHAIN_GCC_AT_LEAST_5=y -BR2_TOOLCHAIN_GCC_AT_LEAST_6=y -BR2_TOOLCHAIN_GCC_AT_LEAST_7=y -BR2_TOOLCHAIN_GCC_AT_LEAST_8=y -BR2_TOOLCHAIN_GCC_AT_LEAST_9=y -BR2_TOOLCHAIN_GCC_AT_LEAST_10=y -BR2_TOOLCHAIN_GCC_AT_LEAST="10" -BR2_TOOLCHAIN_HAS_MNAN_OPTION=y -BR2_TOOLCHAIN_HAS_SYNC_1=y -BR2_TOOLCHAIN_HAS_SYNC_2=y -BR2_TOOLCHAIN_HAS_SYNC_4=y -BR2_TOOLCHAIN_HAS_SYNC_8=y -BR2_TOOLCHAIN_HAS_LIBATOMIC=y -BR2_TOOLCHAIN_HAS_ATOMIC=y -BR2_TOOLCHAIN_HAS_LIBQUADMATH=y - -# -# System configuration -# -BR2_ROOTFS_SKELETON_DEFAULT=y -# BR2_ROOTFS_SKELETON_CUSTOM is not set -BR2_TARGET_GENERIC_HOSTNAME="shredos" -BR2_TARGET_GENERIC_ISSUE="shredos" -BR2_TARGET_GENERIC_PASSWD_SHA256=y -# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set -BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" -# BR2_INIT_BUSYBOX is not set -BR2_INIT_SYSV=y -# BR2_INIT_OPENRC is not set -# BR2_INIT_SYSTEMD is not set -# BR2_INIT_NONE is not set -# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y -# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set -# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set -BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt" -# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set -# BR2_ROOTFS_MERGED_USR is not set -BR2_TARGET_ENABLE_ROOT_LOGIN=y -BR2_TARGET_GENERIC_ROOT_PASSWD="" -BR2_SYSTEM_BIN_SH_BUSYBOX=y -# BR2_SYSTEM_BIN_SH_BASH is not set -# BR2_SYSTEM_BIN_SH_DASH is not set -# BR2_SYSTEM_BIN_SH_MKSH is not set -# BR2_SYSTEM_BIN_SH_ZSH is not set -# BR2_SYSTEM_BIN_SH_NONE is not set -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="console" -BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set -BR2_TARGET_GENERIC_GETTY_BAUDRATE="0" -BR2_TARGET_GENERIC_GETTY_TERM="vt100" -BR2_TARGET_GENERIC_GETTY_OPTIONS="" -BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y -BR2_SYSTEM_DHCP="" -BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" -# BR2_ENABLE_LOCALE_PURGE is not set -BR2_GENERATE_LOCALE="" -# BR2_SYSTEM_ENABLE_NLS is not set -# BR2_TARGET_TZ_INFO is not set -BR2_ROOTFS_USERS_TABLES="" -BR2_ROOTFS_OVERLAY="board/shredos/fsoverlay" -BR2_ROOTFS_POST_BUILD_SCRIPT="" -BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/shredos/doimg.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="" - -# -# Kernel -# -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_LATEST_VERSION=y -# BR2_LINUX_KERNEL_LATEST_CIP_VERSION is not set -# BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION is not set -# BR2_LINUX_KERNEL_CUSTOM_VERSION is not set -# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set -# BR2_LINUX_KERNEL_CUSTOM_GIT is not set -# BR2_LINUX_KERNEL_CUSTOM_HG is not set -# BR2_LINUX_KERNEL_CUSTOM_SVN is not set -BR2_LINUX_KERNEL_VERSION="5.13.19" -BR2_LINUX_KERNEL_PATCH="" -# BR2_LINUX_KERNEL_USE_DEFCONFIG is not set -# BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is not set -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/shredos/kernel-5.13-defconfig.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="" -BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH="" -BR2_LINUX_KERNEL_BZIMAGE=y -# BR2_LINUX_KERNEL_VMLINUX is not set -# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set -BR2_LINUX_KERNEL_GZIP=y -# BR2_LINUX_KERNEL_LZ4 is not set -# BR2_LINUX_KERNEL_LZMA is not set -# BR2_LINUX_KERNEL_LZO is not set -# BR2_LINUX_KERNEL_XZ is not set -# BR2_LINUX_KERNEL_ZSTD is not set -# BR2_LINUX_KERNEL_DTS_SUPPORT is not set -# BR2_LINUX_KERNEL_INSTALL_TARGET is not set -# BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL is not set -# BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set - -# -# Linux Kernel Extensions -# -# BR2_LINUX_KERNEL_EXT_XENOMAI is not set -# BR2_LINUX_KERNEL_EXT_RTAI is not set -# BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS is not set -# BR2_LINUX_KERNEL_EXT_FBTFT is not set -# BR2_LINUX_KERNEL_EXT_AUFS is not set - -# -# Linux Kernel Tools -# -# BR2_PACKAGE_LINUX_TOOLS_BPFTOOL is not set -# BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set -# BR2_PACKAGE_LINUX_TOOLS_GPIO is not set -# BR2_PACKAGE_LINUX_TOOLS_IIO is not set -# BR2_PACKAGE_LINUX_TOOLS_PCI is not set -# BR2_PACKAGE_LINUX_TOOLS_PERF is not set -# BR2_PACKAGE_LINUX_TOOLS_SELFTESTS is not set -# BR2_PACKAGE_LINUX_TOOLS_TMON is not set -# BR2_PACKAGE_LINUX_TOOLS_HV is not set - -# -# Target packages -# -BR2_PACKAGE_BUSYBOX=y -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config" -BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="" -BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y -# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set -# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set -BR2_PACKAGE_SKELETON=y -BR2_PACKAGE_HAS_SKELETON=y -BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv" -BR2_PACKAGE_SKELETON_INIT_COMMON=y -BR2_PACKAGE_SKELETON_INIT_SYSV=y - -# -# Audio and video applications -# -# BR2_PACKAGE_ALSA_UTILS is not set -# BR2_PACKAGE_ATEST is not set -# BR2_PACKAGE_AUMIX is not set -# BR2_PACKAGE_BLUEZ_ALSA is not set -# BR2_PACKAGE_DVBLAST is not set -# BR2_PACKAGE_DVDAUTHOR is not set -# BR2_PACKAGE_DVDRW_TOOLS is not set -# BR2_PACKAGE_ESPEAK is not set -# BR2_PACKAGE_FAAD2 is not set -BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y -BR2_PACKAGE_FFMPEG=y -# BR2_PACKAGE_FFMPEG_GPL is not set -# BR2_PACKAGE_FFMPEG_NONFREE is not set -BR2_PACKAGE_FFMPEG_FFMPEG=y -# BR2_PACKAGE_FFMPEG_FFPLAY is not set -# BR2_PACKAGE_FFMPEG_FFPROBE is not set -# BR2_PACKAGE_FFMPEG_AVRESAMPLE is not set -# BR2_PACKAGE_FFMPEG_SWSCALE is not set -BR2_PACKAGE_FFMPEG_ENCODERS="all" -BR2_PACKAGE_FFMPEG_DECODERS="all" -BR2_PACKAGE_FFMPEG_MUXERS="all" -BR2_PACKAGE_FFMPEG_DEMUXERS="all" -BR2_PACKAGE_FFMPEG_PARSERS="all" -BR2_PACKAGE_FFMPEG_BSFS="all" -BR2_PACKAGE_FFMPEG_PROTOCOLS="all" -BR2_PACKAGE_FFMPEG_FILTERS="all" -BR2_PACKAGE_FFMPEG_INDEVS=y -BR2_PACKAGE_FFMPEG_OUTDEVS=y -BR2_PACKAGE_FFMPEG_EXTRACONF="" -# BR2_PACKAGE_FLAC is not set -# BR2_PACKAGE_FLITE is not set -# BR2_PACKAGE_FLUID_SOUNDFONT is not set -# BR2_PACKAGE_FLUIDSYNTH is not set -# BR2_PACKAGE_GMRENDER_RESURRECT is not set -# BR2_PACKAGE_GSTREAMER1 is not set -# BR2_PACKAGE_JACK1 is not set -# BR2_PACKAGE_JACK2 is not set -BR2_PACKAGE_KODI_ARCH_SUPPORTS=y - -# -# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.9 -# - -# -# kodi needs an OpenGL EGL backend with OpenGL or GLES support -# -# BR2_PACKAGE_LAME is not set -# BR2_PACKAGE_MADPLAY is not set -# BR2_PACKAGE_MIMIC is not set -# BR2_PACKAGE_MINIMODEM is not set - -# -# miraclecast needs systemd and a glibc toolchain w/ threads and wchar -# -# BR2_PACKAGE_MJPEGTOOLS is not set -BR2_PACKAGE_MJPEGTOOLS_SIMD_SUPPORT=y -# BR2_PACKAGE_MODPLUGTOOLS is not set -# BR2_PACKAGE_MOTION is not set -# BR2_PACKAGE_MPD is not set -# BR2_PACKAGE_MPD_MPC is not set -# BR2_PACKAGE_MPG123 is not set -# BR2_PACKAGE_MPV is not set -# BR2_PACKAGE_MULTICAT is not set -# BR2_PACKAGE_MUSEPACK is not set -# BR2_PACKAGE_NCMPC is not set -# BR2_PACKAGE_OPUS_TOOLS is not set -BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y -# BR2_PACKAGE_PULSEAUDIO is not set -# BR2_PACKAGE_SOX is not set -# BR2_PACKAGE_SQUEEZELITE is not set -# BR2_PACKAGE_TSTOOLS is not set -# BR2_PACKAGE_TWOLAME is not set -# BR2_PACKAGE_UDPXY is not set -# BR2_PACKAGE_UPMPDCLI is not set -# BR2_PACKAGE_V4L2GRAB is not set -# BR2_PACKAGE_V4L2LOOPBACK is not set -# BR2_PACKAGE_VLC is not set -# BR2_PACKAGE_VORBIS_TOOLS is not set -# BR2_PACKAGE_WAVPACK is not set -# BR2_PACKAGE_YAVTA is not set -# BR2_PACKAGE_YMPD is not set - -# -# Compressors and decompressors -# -# BR2_PACKAGE_BROTLI is not set -# BR2_PACKAGE_BZIP2 is not set -BR2_PACKAGE_GZIP=y -# BR2_PACKAGE_LRZIP is not set -# BR2_PACKAGE_LZIP is not set -# BR2_PACKAGE_LZOP is not set -# BR2_PACKAGE_P7ZIP is not set -# BR2_PACKAGE_PIGZ is not set -# BR2_PACKAGE_PIXZ is not set -# BR2_PACKAGE_UNRAR is not set -# BR2_PACKAGE_UNZIP is not set -# BR2_PACKAGE_XZ is not set -BR2_PACKAGE_ZIP=y -# BR2_PACKAGE_ZSTD is not set - -# -# Debugging, profiling and benchmark -# -# BR2_PACKAGE_BABELTRACE2 is not set -# BR2_PACKAGE_BLKTRACE is not set -# BR2_PACKAGE_BONNIE is not set -# BR2_PACKAGE_CACHE_CALIBRATOR is not set - -# -# clinfo needs an OpenCL provider -# -# BR2_PACKAGE_COREMARK is not set -# BR2_PACKAGE_COREMARK_PRO is not set - -# -# dacapo needs OpenJDK -# -BR2_PACKAGE_DELVE_ARCH_SUPPORTS=y -# BR2_PACKAGE_DELVE is not set -# BR2_PACKAGE_DHRYSTONE is not set -# BR2_PACKAGE_DIEHARDER is not set -# BR2_PACKAGE_DMALLOC is not set -# BR2_PACKAGE_DROPWATCH is not set -# BR2_PACKAGE_DSTAT is not set -# BR2_PACKAGE_DT is not set -# BR2_PACKAGE_DUMA is not set -# BR2_PACKAGE_FIO is not set -# BR2_PACKAGE_FWTS is not set -BR2_PACKAGE_GDB_ARCH_SUPPORTS=y -# BR2_PACKAGE_GDB is not set -BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y -# BR2_PACKAGE_GOOGLE_BREAKPAD is not set -# BR2_PACKAGE_IOZONE is not set -# BR2_PACKAGE_KEXEC is not set -# BR2_PACKAGE_KTAP is not set -BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS=y -# BR2_PACKAGE_KVM_UNIT_TESTS is not set -# BR2_PACKAGE_LATENCYTOP is not set -BR2_PACKAGE_LIBBPF_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBBPF is not set -# BR2_PACKAGE_LMBENCH is not set -# BR2_PACKAGE_LSOF is not set -BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y -# BR2_PACKAGE_LTP_TESTSUITE is not set -BR2_PACKAGE_LTRACE_ARCH_SUPPORTS=y -# BR2_PACKAGE_LTRACE is not set -# BR2_PACKAGE_LTTNG_BABELTRACE is not set -# BR2_PACKAGE_LTTNG_MODULES is not set -# BR2_PACKAGE_LTTNG_TOOLS is not set -# BR2_PACKAGE_MCELOG is not set -# BR2_PACKAGE_MEMSTAT is not set -# BR2_PACKAGE_NETPERF is not set -# BR2_PACKAGE_NETSNIFF_NG is not set -# BR2_PACKAGE_NMON is not set -BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS=y -# BR2_PACKAGE_OPROFILE is not set -# BR2_PACKAGE_PAX_UTILS is not set -# BR2_PACKAGE_PCM_TOOLS is not set -BR2_PACKAGE_PLY_ARCH_SUPPORTS=y -# BR2_PACKAGE_PLY is not set -# BR2_PACKAGE_POKE is not set -# BR2_PACKAGE_PV is not set -# BR2_PACKAGE_RACEHOUND is not set -# BR2_PACKAGE_RAMSMP is not set -# BR2_PACKAGE_RAMSPEED is not set -# BR2_PACKAGE_RT_TESTS is not set -# BR2_PACKAGE_SENTRY_NATIVE is not set -# BR2_PACKAGE_SPIDEV_TEST is not set -# BR2_PACKAGE_STRACE is not set -# BR2_PACKAGE_STRESS is not set -# BR2_PACKAGE_STRESS_NG is not set - -# -# sysdig needs a glibc or uclibc toolchain w/ C++, threads, gcc >= 4.8, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built -# -# BR2_PACKAGE_SYSPROF is not set -# BR2_PACKAGE_TCF_AGENT is not set -BR2_PACKAGE_TCF_AGENT_ARCH="x86_64" -BR2_PACKAGE_TCF_AGENT_ARCH_SUPPORTS=y -# BR2_PACKAGE_TINYMEMBENCH is not set -# BR2_PACKAGE_TRACE_CMD is not set -BR2_PACKAGE_TRINITY_ARCH_SUPPORTS=y -# BR2_PACKAGE_TRINITY is not set -# BR2_PACKAGE_UCLIBC_NG_TEST is not set -BR2_PACKAGE_UFTRACE_ARCH_SUPPORTS=y -# BR2_PACKAGE_UFTRACE is not set -BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS=y -# BR2_PACKAGE_VALGRIND is not set -# BR2_PACKAGE_VMTOUCH is not set -# BR2_PACKAGE_WHETSTONE is not set - -# -# Development tools -# -# BR2_PACKAGE_BINUTILS is not set -# BR2_PACKAGE_BITWISE is not set -# BR2_PACKAGE_BSDIFF is not set -# BR2_PACKAGE_CHECK is not set -BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y -# BR2_PACKAGE_CMAKE_CTEST is not set -# BR2_PACKAGE_CPPUNIT is not set -# BR2_PACKAGE_CUKINIA is not set -# BR2_PACKAGE_CUNIT is not set -# BR2_PACKAGE_CVS is not set -# BR2_PACKAGE_CXXTEST is not set -# BR2_PACKAGE_DIFFUTILS is not set -# BR2_PACKAGE_DOS2UNIX is not set -# BR2_PACKAGE_FINDUTILS is not set -# BR2_PACKAGE_FLEX is not set -# BR2_PACKAGE_GAWK is not set -# BR2_PACKAGE_GETTEXT is not set -BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" -# BR2_PACKAGE_GIT is not set -# BR2_PACKAGE_GIT_CRYPT is not set -# BR2_PACKAGE_GPERF is not set -# BR2_PACKAGE_GREP is not set -# BR2_PACKAGE_JO is not set -# BR2_PACKAGE_JQ is not set -# BR2_PACKAGE_LIBTOOL is not set -# BR2_PACKAGE_MAKE is not set -# BR2_PACKAGE_MAWK is not set -# BR2_PACKAGE_PATCH is not set -# BR2_PACKAGE_PKGCONF is not set -# BR2_PACKAGE_RIPGREP is not set -# BR2_PACKAGE_SED is not set -# BR2_PACKAGE_SUBVERSION is not set -# BR2_PACKAGE_TREE is not set -# BR2_PACKAGE_YASM is not set - -# -# Filesystem and flash utilities -# -# BR2_PACKAGE_ABOOTIMG is not set -# BR2_PACKAGE_AUFS_UTIL is not set -# BR2_PACKAGE_AUTOFS is not set -# BR2_PACKAGE_BTRFS_PROGS is not set -# BR2_PACKAGE_CIFS_UTILS is not set -# BR2_PACKAGE_CPIO is not set -# BR2_PACKAGE_CRAMFS is not set -# BR2_PACKAGE_CURLFTPFS is not set -# BR2_PACKAGE_DAVFS2 is not set -# BR2_PACKAGE_DOSFSTOOLS is not set -# BR2_PACKAGE_E2FSPROGS is not set -# BR2_PACKAGE_E2TOOLS is not set -# BR2_PACKAGE_ECRYPTFS_UTILS is not set -# BR2_PACKAGE_EROFS_UTILS is not set -# BR2_PACKAGE_EXFAT is not set -# BR2_PACKAGE_EXFAT_UTILS is not set -# BR2_PACKAGE_EXFATPROGS is not set -# BR2_PACKAGE_F2FS_TOOLS is not set -# BR2_PACKAGE_FLASHBENCH is not set -# BR2_PACKAGE_FSCRYPTCTL is not set -# BR2_PACKAGE_FUSE_OVERLAYFS is not set -# BR2_PACKAGE_FWUP is not set -# BR2_PACKAGE_GENEXT2FS is not set -# BR2_PACKAGE_GENPART is not set -# BR2_PACKAGE_GENROMFS is not set -# BR2_PACKAGE_IMX_USB_LOADER is not set -# BR2_PACKAGE_MMC_UTILS is not set -# BR2_PACKAGE_MTD is not set -# BR2_PACKAGE_MTOOLS is not set -# BR2_PACKAGE_NFS_UTILS is not set -# BR2_PACKAGE_NILFS_UTILS is not set -# BR2_PACKAGE_NTFS_3G is not set -# BR2_PACKAGE_SP_OOPS_EXTRACT is not set -# BR2_PACKAGE_SQUASHFS is not set -# BR2_PACKAGE_SSHFS is not set -# BR2_PACKAGE_UDFTOOLS is not set -# BR2_PACKAGE_UNIONFS is not set -# BR2_PACKAGE_XFSPROGS is not set - -# -# zfs needs udev /dev management -# - -# -# Fonts, cursors, icons, sounds and themes -# - -# -# Cursors -# -# BR2_PACKAGE_COMIX_CURSORS is not set -# BR2_PACKAGE_OBSIDIAN_CURSORS is not set - -# -# Fonts -# -# BR2_PACKAGE_BITSTREAM_VERA is not set -# BR2_PACKAGE_CANTARELL is not set -# BR2_PACKAGE_DEJAVU is not set -# BR2_PACKAGE_FONT_AWESOME is not set -# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set -# BR2_PACKAGE_INCONSOLATA is not set -# BR2_PACKAGE_LIBERATION is not set -# BR2_PACKAGE_WQY_ZENHEI is not set - -# -# Icons -# -# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set -# BR2_PACKAGE_HICOLOR_ICON_THEME is not set - -# -# Sounds -# -# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set -# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set - -# -# Themes -# - -# -# Games -# -# BR2_PACKAGE_ASCII_INVADERS is not set -# BR2_PACKAGE_CHOCOLATE_DOOM is not set -# BR2_PACKAGE_FLARE_ENGINE is not set -# BR2_PACKAGE_FROTZ is not set -# BR2_PACKAGE_GNUCHESS is not set -# BR2_PACKAGE_LBREAKOUT2 is not set -# BR2_PACKAGE_LTRIS is not set - -# -# minetest needs X11 and an OpenGL provider -# -# BR2_PACKAGE_OPENTYRIAN is not set -# BR2_PACKAGE_PRBOOM is not set -# BR2_PACKAGE_SL is not set - -# -# solarus needs OpenGL and a toolchain w/ C++, gcc >= 4.9, NPTL, dynamic library, and luajit or lua 5.1 -# -# BR2_PACKAGE_STELLA is not set -# BR2_PACKAGE_XORCURSES is not set - -# -# Graphic libraries and applications (graphic/text) -# - -# -# Graphic applications -# - -# -# cage needs udev, EGL w/ Wayland backend and OpenGL ES support -# - -# -# cog needs wpewebkit and a toolchain w/ threads -# -# BR2_PACKAGE_FSWEBCAM is not set -# BR2_PACKAGE_GHOSTSCRIPT is not set - -# -# glmark2 needs an OpenGL or an openGL ES and EGL backend -# - -# -# glslsandbox-player needs a toolchain w/ threads and an openGL ES and EGL driver -# -# BR2_PACKAGE_GNUPLOT is not set -# BR2_PACKAGE_JHEAD is not set -# BR2_PACKAGE_LIBVA_UTILS is not set -BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y -# BR2_PACKAGE_NETSURF is not set -# BR2_PACKAGE_PNGQUANT is not set -# BR2_PACKAGE_RRDTOOL is not set - -# -# stellarium needs Qt5 and an OpenGL provider -# -# BR2_PACKAGE_TESSERACT_OCR is not set - -# -# Graphic libraries -# -# BR2_PACKAGE_CEGUI is not set -# BR2_PACKAGE_DIRECTFB is not set -# BR2_PACKAGE_FB_TEST_APP is not set -# BR2_PACKAGE_FBDUMP is not set -# BR2_PACKAGE_FBGRAB is not set -# BR2_PACKAGE_FBSET is not set -# BR2_PACKAGE_FBTERM is not set -# BR2_PACKAGE_FBV is not set -# BR2_PACKAGE_FREERDP is not set -# BR2_PACKAGE_GRAPHICSMAGICK is not set -# BR2_PACKAGE_IMAGEMAGICK is not set -# BR2_PACKAGE_LINUX_FUSION is not set -# BR2_PACKAGE_MESA3D is not set -# BR2_PACKAGE_OCRAD is not set - -# -# ogre needs X11 and an OpenGL provider -# -# BR2_PACKAGE_PSPLASH is not set -# BR2_PACKAGE_SDL is not set -# BR2_PACKAGE_SDL2 is not set - -# -# Other GUIs -# -BR2_PACKAGE_QT5_JSCORE_AVAILABLE=y -# BR2_PACKAGE_QT5 is not set - -# -# tekui needs a Lua interpreter and a toolchain w/ threads, dynamic library -# - -# -# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0 -# -# BR2_PACKAGE_XORG7 is not set -# BR2_PACKAGE_APITRACE is not set - -# -# midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 7, host gcc >= 4.9 -# - -# -# vte needs an OpenGL or an OpenGL-EGL/wayland backend -# -# BR2_PACKAGE_XKEYBOARD_CONFIG is not set - -# -# Hardware handling -# - -# -# Firmware -# -# BR2_PACKAGE_ARMBIAN_FIRMWARE is not set -# BR2_PACKAGE_B43_FIRMWARE is not set -# BR2_PACKAGE_LINUX_FIRMWARE is not set -# BR2_PACKAGE_MURATA_CYW_FW is not set -# BR2_PACKAGE_ODROIDC2_FIRMWARE is not set -# BR2_PACKAGE_QCOM_DB410C_FIRMWARE is not set -# BR2_PACKAGE_RCW_SMARC_SAL28 is not set -# BR2_PACKAGE_UX500_FIRMWARE is not set -# BR2_PACKAGE_WILC1000_FIRMWARE is not set -# BR2_PACKAGE_WILINK_BT_FIRMWARE is not set -# BR2_PACKAGE_ZD1211_FIRMWARE is not set -# BR2_PACKAGE_18XX_TI_UTILS is not set -# BR2_PACKAGE_ACPICA is not set -# BR2_PACKAGE_ACPID is not set -# BR2_PACKAGE_ACPITOOL is not set -# BR2_PACKAGE_AER_INJECT is not set -# BR2_PACKAGE_ALTERA_STAPL is not set -# BR2_PACKAGE_APCUPSD is not set -# BR2_PACKAGE_AVRDUDE is not set - -# -# bcache-tools needs udev /dev management -# - -# -# brickd needs udev /dev management, a toolchain w/ threads, wchar -# -# BR2_PACKAGE_BRLTTY is not set -# BR2_PACKAGE_CC_TOOL is not set -# BR2_PACKAGE_CDRKIT is not set -# BR2_PACKAGE_CRYPTSETUP is not set -# BR2_PACKAGE_CWIID is not set -# BR2_PACKAGE_DAHDI_LINUX is not set -# BR2_PACKAGE_DAHDI_TOOLS is not set -# BR2_PACKAGE_DBUS is not set -# BR2_PACKAGE_DFU_UTIL is not set -# BR2_PACKAGE_DMIDECODE is not set -# BR2_PACKAGE_DMRAID is not set - -# -# dt-utils needs udev /dev management -# -# BR2_PACKAGE_DTV_SCAN_TABLES is not set -# BR2_PACKAGE_DUMP1090 is not set -# BR2_PACKAGE_DVB_APPS is not set -# BR2_PACKAGE_DVBSNOOP is not set -# BR2_PACKAGE_EDID_DECODE is not set - -# -# edid-decode needs a toolchain w/ C++, gcc >= 4.7 -# - -# -# eudev needs eudev /dev management -# -# BR2_PACKAGE_EVEMU is not set -# BR2_PACKAGE_EVTEST is not set -# BR2_PACKAGE_FAN_CTRL is not set -# BR2_PACKAGE_FCONFIG is not set -BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y -# BR2_PACKAGE_FLASHROM is not set -# BR2_PACKAGE_FMTOOLS is not set -# BR2_PACKAGE_FXLOAD is not set -# BR2_PACKAGE_GPM is not set -# BR2_PACKAGE_GPSD is not set -# BR2_PACKAGE_GPTFDISK is not set -# BR2_PACKAGE_GVFS is not set -# BR2_PACKAGE_HDPARM is not set -# BR2_PACKAGE_HWDATA is not set -# BR2_PACKAGE_HWLOC is not set -# BR2_PACKAGE_I2C_TOOLS is not set -# BR2_PACKAGE_I7Z is not set -# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set -# BR2_PACKAGE_INTEL_MICROCODE is not set -# BR2_PACKAGE_IPMITOOL is not set -# BR2_PACKAGE_IPMIUTIL is not set -# BR2_PACKAGE_IRDA_UTILS is not set -# BR2_PACKAGE_IUCODE_TOOL is not set -# BR2_PACKAGE_KBD is not set -# BR2_PACKAGE_LCDPROC is not set -# BR2_PACKAGE_LIBIEC61850 is not set -# BR2_PACKAGE_LIBUBOOTENV is not set -# BR2_PACKAGE_LIBUIO is not set -# BR2_PACKAGE_LINUX_BACKPORTS is not set -# BR2_PACKAGE_LINUX_SERIAL_TEST is not set -# BR2_PACKAGE_LINUXCONSOLETOOLS is not set -# BR2_PACKAGE_LIRC_TOOLS is not set -# BR2_PACKAGE_LM_SENSORS is not set -# BR2_PACKAGE_LSHW is not set -# BR2_PACKAGE_LSSCSI is not set -# BR2_PACKAGE_LSUIO is not set -# BR2_PACKAGE_LUKSMETA is not set -# BR2_PACKAGE_LVM2 is not set -# BR2_PACKAGE_MBPFAN is not set -# BR2_PACKAGE_MDADM is not set -# BR2_PACKAGE_MDEVD is not set -# BR2_PACKAGE_MEMTEST86 is not set -# BR2_PACKAGE_MEMTESTER is not set -# BR2_PACKAGE_MEMTOOL is not set -# BR2_PACKAGE_MINICOM is not set -# BR2_PACKAGE_MSR_TOOLS is not set -# BR2_PACKAGE_NANOCOM is not set -# BR2_PACKAGE_NEARD is not set -# BR2_PACKAGE_NVIDIA_DRIVER is not set -# BR2_PACKAGE_NVIDIA_MODPROBE is not set -# BR2_PACKAGE_NVME is not set -# BR2_PACKAGE_OFONO is not set -# BR2_PACKAGE_OPEN2300 is not set -# BR2_PACKAGE_OPENFPGALOADER is not set -# BR2_PACKAGE_OPENIPMI is not set -# BR2_PACKAGE_OPENOCD is not set -# BR2_PACKAGE_OPENPOWERLINK is not set -# BR2_PACKAGE_PARTED is not set -# BR2_PACKAGE_PCIUTILS is not set -# BR2_PACKAGE_PDBG is not set -# BR2_PACKAGE_PICOCOM is not set -# BR2_PACKAGE_POWERTOP is not set -# BR2_PACKAGE_PPS_TOOLS is not set -# BR2_PACKAGE_RASPI_GPIO is not set -# BR2_PACKAGE_READ_EDID is not set -# BR2_PACKAGE_RNG_TOOLS is not set -# BR2_PACKAGE_RS485CONF is not set -# BR2_PACKAGE_RTC_TOOLS is not set -# BR2_PACKAGE_RTL8188EU is not set -# BR2_PACKAGE_RTL8189FS is not set -# BR2_PACKAGE_RTL8723BS is not set -# BR2_PACKAGE_RTL8723BU is not set -# BR2_PACKAGE_RTL8812AU_AIRCRACK_NG is not set -# BR2_PACKAGE_RTL8821AU is not set -# BR2_PACKAGE_SANE_BACKENDS is not set -# BR2_PACKAGE_SDPARM is not set -BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y -# BR2_PACKAGE_SEDUTIL is not set -# BR2_PACKAGE_SETSERIAL is not set -# BR2_PACKAGE_SG3_UTILS is not set -# BR2_PACKAGE_SIGROK_CLI is not set -# BR2_PACKAGE_SISPMCTL is not set -# BR2_PACKAGE_SMARTMONTOOLS is not set -# BR2_PACKAGE_SMSTOOLS3 is not set -# BR2_PACKAGE_SPI_TOOLS is not set -# BR2_PACKAGE_SREDIRD is not set -# BR2_PACKAGE_STATSERIAL is not set -# BR2_PACKAGE_STM32FLASH is not set -# BR2_PACKAGE_SYSSTAT is not set - -# -# targetcli-fb depends on Python -# - -# -# ti-sgx-um needs the ti-sgx-km driver -# - -# -# ti-sgx-um needs udev and a glibc toolchain w/ threads -# -# BR2_PACKAGE_TI_UIM is not set -# BR2_PACKAGE_TI_UTILS is not set -# BR2_PACKAGE_TIO is not set -# BR2_PACKAGE_TRIGGERHAPPY is not set -# BR2_PACKAGE_UBOOT_TOOLS is not set -# BR2_PACKAGE_UBUS is not set -# BR2_PACKAGE_UCCP420WLAN is not set - -# -# udisks needs udev /dev management -# -# BR2_PACKAGE_UHUBCTL is not set -# BR2_PACKAGE_UMTPRD is not set - -# -# upower needs udev /dev management -# -# BR2_PACKAGE_USB_MODESWITCH is not set -# BR2_PACKAGE_USB_MODESWITCH_DATA is not set -# BR2_PACKAGE_USBGUARD is not set - -# -# usbmount requires udev to be enabled -# - -# -# usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9 -# -# BR2_PACKAGE_W_SCAN is not set -# BR2_PACKAGE_WIPE is not set -# BR2_PACKAGE_XORRISO is not set -# BR2_PACKAGE_XR819_XRADIO is not set - -# -# Interpreter languages and scripting -# -# BR2_PACKAGE_4TH is not set -# BR2_PACKAGE_ENSCRIPT is not set -BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y -BR2_PACKAGE_ERLANG_ARCH_SUPPORTS=y -# BR2_PACKAGE_ERLANG is not set -# BR2_PACKAGE_EXECLINE is not set -# BR2_PACKAGE_FICL is not set -BR2_PACKAGE_GAUCHE_ARCH_SUPPORTS=y -# BR2_PACKAGE_GAUCHE is not set -# BR2_PACKAGE_GUILE is not set -# BR2_PACKAGE_HASERL is not set -# BR2_PACKAGE_JANET is not set -# BR2_PACKAGE_JIMTCL is not set -# BR2_PACKAGE_LUA is not set -BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua" -BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS=y -# BR2_PACKAGE_LUAJIT is not set -# BR2_PACKAGE_MICROPYTHON is not set -# BR2_PACKAGE_MOARVM is not set -BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS=y -BR2_PACKAGE_MONO_ARCH_SUPPORTS=y -# BR2_PACKAGE_MONO is not set -BR2_PACKAGE_NODEJS_ARCH_SUPPORTS=y -# BR2_PACKAGE_NODEJS is not set -BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS=y -BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS=y - -# -# openjdk needs X.Org -# -# BR2_PACKAGE_PERL is not set -# BR2_PACKAGE_PHP is not set -# BR2_PACKAGE_PYTHON is not set -# BR2_PACKAGE_PYTHON3 is not set -# BR2_PACKAGE_QUICKJS is not set -# BR2_PACKAGE_RUBY is not set -# BR2_PACKAGE_TCL is not set - -# -# Libraries -# - -# -# Audio/Sound -# -# BR2_PACKAGE_ALSA_LIB is not set -# BR2_PACKAGE_ALURE is not set -# BR2_PACKAGE_AUBIO is not set -# BR2_PACKAGE_BCG729 is not set -# BR2_PACKAGE_CAPS is not set -BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS=y -# BR2_PACKAGE_FDK_AAC is not set -# BR2_PACKAGE_LIBAO is not set -# BR2_PACKAGE_LIBASPLIB is not set -# BR2_PACKAGE_LIBBROADVOICE is not set -# BR2_PACKAGE_LIBCDAUDIO is not set -# BR2_PACKAGE_LIBCDDB is not set -# BR2_PACKAGE_LIBCDIO is not set -# BR2_PACKAGE_LIBCDIO_PARANOIA is not set -# BR2_PACKAGE_LIBCODEC2 is not set -# BR2_PACKAGE_LIBCUE is not set -# BR2_PACKAGE_LIBCUEFILE is not set -# BR2_PACKAGE_LIBEBUR128 is not set -# BR2_PACKAGE_LIBG7221 is not set -# BR2_PACKAGE_LIBGSM is not set -# BR2_PACKAGE_LIBID3TAG is not set -# BR2_PACKAGE_LIBILBC is not set -# BR2_PACKAGE_LIBLO is not set -# BR2_PACKAGE_LIBMAD is not set -# BR2_PACKAGE_LIBMODPLUG is not set -# BR2_PACKAGE_LIBMPD is not set -# BR2_PACKAGE_LIBMPDCLIENT is not set -# BR2_PACKAGE_LIBREPLAYGAIN is not set -# BR2_PACKAGE_LIBSAMPLERATE is not set -# BR2_PACKAGE_LIBSIDPLAY2 is not set -# BR2_PACKAGE_LIBSILK is not set -# BR2_PACKAGE_LIBSNDFILE is not set -# BR2_PACKAGE_LIBSOUNDTOUCH is not set -# BR2_PACKAGE_LIBSOXR is not set -# BR2_PACKAGE_LIBVORBIS is not set -# BR2_PACKAGE_MP4V2 is not set -BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y -# BR2_PACKAGE_OPENAL is not set -# BR2_PACKAGE_OPENCORE_AMR is not set -# BR2_PACKAGE_OPUS is not set -# BR2_PACKAGE_OPUSFILE is not set -# BR2_PACKAGE_PORTAUDIO is not set -# BR2_PACKAGE_SBC is not set -# BR2_PACKAGE_SPANDSP is not set -# BR2_PACKAGE_SPEEX is not set -# BR2_PACKAGE_SPEEXDSP is not set -# BR2_PACKAGE_TAGLIB is not set -# BR2_PACKAGE_TINYALSA is not set -# BR2_PACKAGE_TREMOR is not set -# BR2_PACKAGE_VO_AACENC is not set -BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS=y -# BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING is not set - -# -# Compression and decompression -# -# BR2_PACKAGE_LIBARCHIVE is not set -# BR2_PACKAGE_LIBMSPACK is not set -# BR2_PACKAGE_LIBSQUISH is not set -# BR2_PACKAGE_LIBZIP is not set -# BR2_PACKAGE_LZ4 is not set -# BR2_PACKAGE_LZO is not set -# BR2_PACKAGE_MINIZIP is not set -# BR2_PACKAGE_SNAPPY is not set -# BR2_PACKAGE_SZIP is not set -BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS=y -# BR2_PACKAGE_ZLIB is not set -BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" -# BR2_PACKAGE_ZZIPLIB is not set - -# -# Crypto -# -# BR2_PACKAGE_BEARSSL is not set -# BR2_PACKAGE_BEECRYPT is not set -BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y -# BR2_PACKAGE_BOTAN is not set -# BR2_PACKAGE_CA_CERTIFICATES is not set -# BR2_PACKAGE_CRYPTODEV is not set -# BR2_PACKAGE_GCR is not set -# BR2_PACKAGE_GNUTLS is not set -# BR2_PACKAGE_LIBARGON2 is not set -# BR2_PACKAGE_LIBASSUAN is not set -# BR2_PACKAGE_LIBGCRYPT is not set -BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBGPG_ERROR is not set -BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="x86_64-unknown-linux-gnu" -# BR2_PACKAGE_LIBGPGME is not set -# BR2_PACKAGE_LIBKCAPI is not set -# BR2_PACKAGE_LIBKSBA is not set -# BR2_PACKAGE_LIBMHASH is not set -# BR2_PACKAGE_LIBNSS is not set -# BR2_PACKAGE_LIBOLM is not set -# BR2_PACKAGE_LIBP11 is not set -# BR2_PACKAGE_LIBSCRYPT is not set -# BR2_PACKAGE_LIBSECRET is not set -# BR2_PACKAGE_LIBSHA1 is not set -# BR2_PACKAGE_LIBSODIUM is not set -# BR2_PACKAGE_LIBSSH is not set -# BR2_PACKAGE_LIBSSH2 is not set -# BR2_PACKAGE_LIBTOMCRYPT is not set -# BR2_PACKAGE_LIBUECC is not set -# BR2_PACKAGE_LIBXCRYPT is not set -# BR2_PACKAGE_MBEDTLS is not set -# BR2_PACKAGE_NETTLE is not set -# BR2_PACKAGE_OPENSSL is not set -BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" -# BR2_PACKAGE_PKCS11_HELPER is not set -# BR2_PACKAGE_RHASH is not set -# BR2_PACKAGE_TINYDTLS is not set -# BR2_PACKAGE_TPM2_PKCS11 is not set -# BR2_PACKAGE_TPM2_TSS is not set -# BR2_PACKAGE_TROUSERS is not set -# BR2_PACKAGE_USTREAM_SSL is not set -# BR2_PACKAGE_WOLFSSL is not set - -# -# Database -# -# BR2_PACKAGE_BERKELEYDB is not set -# BR2_PACKAGE_GDBM is not set -# BR2_PACKAGE_HIREDIS is not set -# BR2_PACKAGE_KOMPEXSQLITE is not set -# BR2_PACKAGE_LEVELDB is not set -# BR2_PACKAGE_LIBGIT2 is not set -# BR2_PACKAGE_LIBMDBX is not set -# BR2_PACKAGE_LIBODB is not set -BR2_PACKAGE_MONGODB_ARCH_SUPPORTS=y -# BR2_PACKAGE_MONGODB is not set -# BR2_PACKAGE_MYSQL is not set -# BR2_PACKAGE_POSTGRESQL is not set -# BR2_PACKAGE_REDIS is not set -BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS=y -# BR2_PACKAGE_ROCKSDB is not set -# BR2_PACKAGE_SQLCIPHER is not set -# BR2_PACKAGE_SQLITE is not set -# BR2_PACKAGE_UNIXODBC is not set - -# -# Filesystem -# -# BR2_PACKAGE_GAMIN is not set -# BR2_PACKAGE_LIBCONFIG is not set -# BR2_PACKAGE_LIBCONFUSE is not set -# BR2_PACKAGE_LIBFUSE is not set -# BR2_PACKAGE_LIBFUSE3 is not set -# BR2_PACKAGE_LIBLOCKFILE is not set -# BR2_PACKAGE_LIBNFS is not set -# BR2_PACKAGE_LIBSYSFS is not set -# BR2_PACKAGE_LOCKDEV is not set -# BR2_PACKAGE_PHYSFS is not set - -# -# Graphics -# - -# -# assimp needs libzlib -# - -# -# at-spi2-atk depends on X.org -# - -# -# at-spi2-core depends on X.org -# -# BR2_PACKAGE_ATK is not set -# BR2_PACKAGE_ATKMM is not set -# BR2_PACKAGE_BULLET is not set -# BR2_PACKAGE_CAIRO is not set -# BR2_PACKAGE_CAIROMM is not set - -# -# chipmunk needs an OpenGL backend -# -# BR2_PACKAGE_EXEMPI is not set -# BR2_PACKAGE_EXIV2 is not set -# BR2_PACKAGE_FONTCONFIG is not set -# BR2_PACKAGE_FREETYPE is not set -# BR2_PACKAGE_GD is not set -# BR2_PACKAGE_GDK_PIXBUF is not set -# BR2_PACKAGE_GIFLIB is not set - -# -# granite needs libgtk3 and a toolchain w/ wchar, threads -# -# BR2_PACKAGE_GRAPHITE2 is not set - -# -# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9 -# -# BR2_PACKAGE_HARFBUZZ is not set -# BR2_PACKAGE_IJS is not set -# BR2_PACKAGE_IMLIB2 is not set -# BR2_PACKAGE_INTEL_GMMLIB is not set -# BR2_PACKAGE_INTEL_MEDIADRIVER is not set -# BR2_PACKAGE_INTEL_MEDIASDK is not set - -# -# irrlicht needs X11 and an OpenGL provider -# -# BR2_PACKAGE_JASPER is not set -# BR2_PACKAGE_JBIG2DEC is not set -BR2_PACKAGE_JPEG_SIMD_SUPPORT=y -# BR2_PACKAGE_JPEG is not set -# BR2_PACKAGE_KMSXX is not set -# BR2_PACKAGE_LCMS2 is not set -# BR2_PACKAGE_LENSFUN is not set -# BR2_PACKAGE_LEPTONICA is not set -# BR2_PACKAGE_LIBART is not set -# BR2_PACKAGE_LIBDMTX is not set -# BR2_PACKAGE_LIBDRM is not set - -# -# libepoxy needs an OpenGL and/or OpenGL EGL backend -# -# BR2_PACKAGE_LIBEXIF is not set - -# -# libfm needs X.org and a toolchain w/ wchar, threads, C++, gcc >= 4.8 -# -# BR2_PACKAGE_LIBFM_EXTRA is not set - -# -# libfreeglut depends on X.org and needs an OpenGL backend -# -# BR2_PACKAGE_LIBFREEIMAGE is not set -# BR2_PACKAGE_LIBGEOTIFF is not set - -# -# libglew depends on X.org and needs an OpenGL backend -# - -# -# libglfw depends on X.org and needs an OpenGL backend -# - -# -# libglu needs an OpenGL backend -# -# BR2_PACKAGE_LIBGTA is not set - -# -# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend -# -# BR2_PACKAGE_LIBMEDIAART is not set -# BR2_PACKAGE_LIBMNG is not set -# BR2_PACKAGE_LIBPNG is not set -# BR2_PACKAGE_LIBQRENCODE is not set -# BR2_PACKAGE_LIBRAW is not set -# BR2_PACKAGE_LIBRSVG is not set -# BR2_PACKAGE_LIBSVG is not set -# BR2_PACKAGE_LIBSVG_CAIRO is not set -# BR2_PACKAGE_LIBSVGTINY is not set -# BR2_PACKAGE_LIBVA is not set -# BR2_PACKAGE_LIBVA_INTEL_DRIVER is not set -# BR2_PACKAGE_LIBVIPS is not set - -# -# libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend -# -# BR2_PACKAGE_MENU_CACHE is not set -# BR2_PACKAGE_OPENCV3 is not set -# BR2_PACKAGE_OPENCV4 is not set -# BR2_PACKAGE_OPENJPEG is not set -# BR2_PACKAGE_PANGO is not set -# BR2_PACKAGE_PANGOMM is not set -# BR2_PACKAGE_PIPEWIRE is not set -# BR2_PACKAGE_PIXMAN is not set -# BR2_PACKAGE_POPPLER is not set -# BR2_PACKAGE_TIFF is not set -# BR2_PACKAGE_WAYLAND is not set -BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y - -# -# webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9 -# -# BR2_PACKAGE_WEBP is not set - -# -# wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support -# -# BR2_PACKAGE_WOFF2 is not set - -# -# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend -# -BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y - -# -# wpewebkit needs an OpenGL ES w/ EGL-capable Wayland backend -# -# BR2_PACKAGE_ZBAR is not set -# BR2_PACKAGE_ZXING_CPP is not set - -# -# Hardware handling -# -# BR2_PACKAGE_ACSCCID is not set -# BR2_PACKAGE_C_PERIPHERY is not set -# BR2_PACKAGE_CCID is not set -# BR2_PACKAGE_DTC is not set -BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y -# BR2_PACKAGE_GNU_EFI is not set -# BR2_PACKAGE_HACKRF is not set - -# -# hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9 -# -# BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set -# BR2_PACKAGE_LCDAPI is not set -# BR2_PACKAGE_LET_ME_CREATE is not set -# BR2_PACKAGE_LIBAIO is not set - -# -# libatasmart requires udev to be enabled -# - -# -# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library -# -# BR2_PACKAGE_LIBCEC is not set -# BR2_PACKAGE_LIBFREEFARE is not set -# BR2_PACKAGE_LIBFTDI is not set -# BR2_PACKAGE_LIBFTDI1 is not set -# BR2_PACKAGE_LIBGPHOTO2 is not set -# BR2_PACKAGE_LIBGPIOD is not set - -# -# libgudev needs udev /dev handling and a toolchain w/ wchar, threads -# -# BR2_PACKAGE_LIBHID is not set -# BR2_PACKAGE_LIBIIO is not set - -# -# libinput needs udev /dev management -# -# BR2_PACKAGE_LIBIQRF is not set -# BR2_PACKAGE_LIBLLCP is not set -# BR2_PACKAGE_LIBMBIM is not set -# BR2_PACKAGE_LIBNFC is not set -# BR2_PACKAGE_LIBPCIACCESS is not set -# BR2_PACKAGE_LIBPHIDGET is not set -# BR2_PACKAGE_LIBPRI is not set -# BR2_PACKAGE_LIBQMI is not set -# BR2_PACKAGE_LIBQRTR_GLIB is not set -# BR2_PACKAGE_LIBRAW1394 is not set -# BR2_PACKAGE_LIBRTLSDR is not set -# BR2_PACKAGE_LIBSERIAL is not set -# BR2_PACKAGE_LIBSERIALPORT is not set -# BR2_PACKAGE_LIBSIGROK is not set -# BR2_PACKAGE_LIBSIGROKDECODE is not set -# BR2_PACKAGE_LIBSOC is not set -# BR2_PACKAGE_LIBSS7 is not set -# BR2_PACKAGE_LIBUSB is not set -# BR2_PACKAGE_LIBUSBGX is not set -# BR2_PACKAGE_LIBV4L is not set -# BR2_PACKAGE_LIBXKBCOMMON is not set -BR2_PACKAGE_MRAA_ARCH_SUPPORTS=y -# BR2_PACKAGE_MRAA is not set -# BR2_PACKAGE_MTDEV is not set -# BR2_PACKAGE_NEARDAL is not set -# BR2_PACKAGE_OWFS is not set -# BR2_PACKAGE_PCSC_LITE is not set -# BR2_PACKAGE_TSLIB is not set -# BR2_PACKAGE_UHD is not set -# BR2_PACKAGE_URG is not set - -# -# Javascript -# -# BR2_PACKAGE_ANGULARJS is not set -# BR2_PACKAGE_BOOTSTRAP is not set -# BR2_PACKAGE_CHARTJS is not set -# BR2_PACKAGE_DATATABLES is not set -# BR2_PACKAGE_DUKTAPE is not set -# BR2_PACKAGE_EXPLORERCANVAS is not set -# BR2_PACKAGE_FLOT is not set -# BR2_PACKAGE_JQUERY is not set -# BR2_PACKAGE_JSMIN is not set -# BR2_PACKAGE_JSON_JAVASCRIPT is not set -# BR2_PACKAGE_JSZIP is not set -# BR2_PACKAGE_OPENLAYERS is not set -# BR2_PACKAGE_POPPERJS is not set -# BR2_PACKAGE_VUEJS is not set - -# -# JSON/XML -# -# BR2_PACKAGE_BENEJSON is not set -# BR2_PACKAGE_CJSON is not set -# BR2_PACKAGE_EXPAT is not set -# BR2_PACKAGE_JANSSON is not set -# BR2_PACKAGE_JOSE is not set -# BR2_PACKAGE_JSMN is not set -# BR2_PACKAGE_JSON_C is not set -# BR2_PACKAGE_JSON_FOR_MODERN_CPP is not set -# BR2_PACKAGE_JSON_GLIB is not set -# BR2_PACKAGE_JSONCPP is not set -# BR2_PACKAGE_LIBBSON is not set -# BR2_PACKAGE_LIBFASTJSON is not set -# BR2_PACKAGE_LIBJSON is not set -# BR2_PACKAGE_LIBROXML is not set -# BR2_PACKAGE_LIBUCL is not set -# BR2_PACKAGE_LIBXML2 is not set -# BR2_PACKAGE_LIBXMLPP is not set -# BR2_PACKAGE_LIBXMLRPC is not set -# BR2_PACKAGE_LIBXSLT is not set -# BR2_PACKAGE_LIBYAML is not set -# BR2_PACKAGE_MXML is not set -# BR2_PACKAGE_PUGIXML is not set -# BR2_PACKAGE_RAPIDJSON is not set -# BR2_PACKAGE_RAPIDXML is not set -# BR2_PACKAGE_RAPTOR is not set -# BR2_PACKAGE_TINYXML is not set -# BR2_PACKAGE_TINYXML2 is not set -# BR2_PACKAGE_VALIJSON is not set -# BR2_PACKAGE_XERCES is not set -# BR2_PACKAGE_XML_SECURITY_C is not set -# BR2_PACKAGE_YAJL is not set -# BR2_PACKAGE_YAML_CPP is not set - -# -# Logging -# -# BR2_PACKAGE_GLOG is not set -# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set -# BR2_PACKAGE_LIBLOGGING is not set -# BR2_PACKAGE_LOG4CPLUS is not set -# BR2_PACKAGE_LOG4CPP is not set -# BR2_PACKAGE_LOG4CXX is not set - -# -# log4qt needs qt5 -# -# BR2_PACKAGE_OPENTRACING_CPP is not set -# BR2_PACKAGE_SPDLOG is not set -# BR2_PACKAGE_ZLOG is not set - -# -# Multimedia -# -# BR2_PACKAGE_BITSTREAM is not set -# BR2_PACKAGE_DAV1D is not set -# BR2_PACKAGE_KVAZAAR is not set -# BR2_PACKAGE_LIBAACS is not set -# BR2_PACKAGE_LIBASS is not set -# BR2_PACKAGE_LIBBDPLUS is not set -# BR2_PACKAGE_LIBBLURAY is not set -BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBCAMERA is not set -# BR2_PACKAGE_LIBDCADEC is not set -# BR2_PACKAGE_LIBDVBCSA is not set -# BR2_PACKAGE_LIBDVBPSI is not set -# BR2_PACKAGE_LIBDVBSI is not set -# BR2_PACKAGE_LIBDVDCSS is not set -# BR2_PACKAGE_LIBDVDNAV is not set -# BR2_PACKAGE_LIBDVDREAD is not set -# BR2_PACKAGE_LIBEBML is not set -# BR2_PACKAGE_LIBHDHOMERUN is not set -# BR2_PACKAGE_LIBMATROSKA is not set -# BR2_PACKAGE_LIBMMS is not set -# BR2_PACKAGE_LIBMPEG2 is not set -# BR2_PACKAGE_LIBOGG is not set -BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBOPENH264 is not set -# BR2_PACKAGE_LIBOPUSENC is not set -# BR2_PACKAGE_LIBTHEORA is not set -# BR2_PACKAGE_LIBUDFREAD is not set -# BR2_PACKAGE_LIBVPX is not set -# BR2_PACKAGE_LIBYUV is not set -# BR2_PACKAGE_LIVE555 is not set -# BR2_PACKAGE_MEDIASTREAMER is not set -# BR2_PACKAGE_X264 is not set -# BR2_PACKAGE_X265 is not set - -# -# Networking -# -# BR2_PACKAGE_AGENTPP is not set -# BR2_PACKAGE_AZMQ is not set -# BR2_PACKAGE_AZURE_IOT_SDK_C is not set -# BR2_PACKAGE_BATMAN_ADV is not set -# BR2_PACKAGE_BELLE_SIP is not set -# BR2_PACKAGE_C_ARES is not set -BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS=y -# BR2_PACKAGE_CANFESTIVAL is not set -# BR2_PACKAGE_CGIC is not set -# BR2_PACKAGE_CPPZMQ is not set -# BR2_PACKAGE_CURLPP is not set -# BR2_PACKAGE_CZMQ is not set -# BR2_PACKAGE_DAQ is not set -# BR2_PACKAGE_DAQ3 is not set -# BR2_PACKAGE_DAVICI is not set -# BR2_PACKAGE_ENET is not set -# BR2_PACKAGE_FILEMQ is not set -# BR2_PACKAGE_FLICKCURL is not set -# BR2_PACKAGE_FREERADIUS_CLIENT is not set -# BR2_PACKAGE_GENSIO is not set -# BR2_PACKAGE_GEOIP is not set -# BR2_PACKAGE_GLIB_NETWORKING is not set -# BR2_PACKAGE_GRPC is not set -# BR2_PACKAGE_GSSDP is not set -# BR2_PACKAGE_GUPNP is not set -# BR2_PACKAGE_GUPNP_AV is not set -# BR2_PACKAGE_GUPNP_DLNA is not set -# BR2_PACKAGE_IBRCOMMON is not set -# BR2_PACKAGE_IBRDTN is not set -# BR2_PACKAGE_LIBCGI is not set -# BR2_PACKAGE_LIBCGICC is not set -# BR2_PACKAGE_LIBCOAP is not set -# BR2_PACKAGE_LIBCPPRESTSDK is not set -# BR2_PACKAGE_LIBCURL is not set -# BR2_PACKAGE_LIBDNET is not set -# BR2_PACKAGE_LIBEXOSIP2 is not set -# BR2_PACKAGE_LIBFCGI is not set -# BR2_PACKAGE_LIBGSASL is not set -# BR2_PACKAGE_LIBHTP is not set -# BR2_PACKAGE_LIBHTTPPARSER is not set -# BR2_PACKAGE_LIBHTTPSERVER is not set -# BR2_PACKAGE_LIBIDN is not set -# BR2_PACKAGE_LIBIDN2 is not set -# BR2_PACKAGE_LIBISCSI is not set -# BR2_PACKAGE_LIBKRB5 is not set -# BR2_PACKAGE_LIBLDNS is not set -# BR2_PACKAGE_LIBMAXMINDDB is not set -# BR2_PACKAGE_LIBMBUS is not set -# BR2_PACKAGE_LIBMEMCACHED is not set -# BR2_PACKAGE_LIBMICROHTTPD is not set -# BR2_PACKAGE_LIBMINIUPNPC is not set -# BR2_PACKAGE_LIBMNL is not set -# BR2_PACKAGE_LIBMODBUS is not set -# BR2_PACKAGE_LIBMODSECURITY is not set -# BR2_PACKAGE_LIBNATPMP is not set -# BR2_PACKAGE_LIBNDP is not set -# BR2_PACKAGE_LIBNET is not set -# BR2_PACKAGE_LIBNETCONF2 is not set -# BR2_PACKAGE_LIBNETFILTER_ACCT is not set -# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set -# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set -# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set -# BR2_PACKAGE_LIBNETFILTER_LOG is not set -# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set -# BR2_PACKAGE_LIBNFNETLINK is not set -# BR2_PACKAGE_LIBNFTNL is not set -# BR2_PACKAGE_LIBNICE is not set -# BR2_PACKAGE_LIBNIDS is not set -# BR2_PACKAGE_LIBNL is not set -# BR2_PACKAGE_LIBNPUPNP is not set -# BR2_PACKAGE_LIBOAUTH is not set -# BR2_PACKAGE_LIBOPING is not set -# BR2_PACKAGE_LIBOSIP2 is not set -# BR2_PACKAGE_LIBPAGEKITE is not set -# BR2_PACKAGE_LIBPCAP is not set -# BR2_PACKAGE_LIBPJSIP is not set -# BR2_PACKAGE_LIBPSL is not set -# BR2_PACKAGE_LIBRELP is not set -# BR2_PACKAGE_LIBRSYNC is not set -# BR2_PACKAGE_LIBSHAIRPLAY is not set -# BR2_PACKAGE_LIBSHOUT is not set -# BR2_PACKAGE_LIBSOCKETCAN is not set -# BR2_PACKAGE_LIBSOUP is not set -# BR2_PACKAGE_LIBSRTP is not set -# BR2_PACKAGE_LIBSTROPHE is not set -# BR2_PACKAGE_LIBTELNET is not set -# BR2_PACKAGE_LIBTIRPC is not set -# BR2_PACKAGE_LIBTORRENT is not set -# BR2_PACKAGE_LIBTORRENT_RASTERBAR is not set -# BR2_PACKAGE_LIBUEV is not set -# BR2_PACKAGE_LIBUHTTPD is not set -# BR2_PACKAGE_LIBUPNP is not set -# BR2_PACKAGE_LIBUPNPP is not set -# BR2_PACKAGE_LIBURIPARSER is not set -# BR2_PACKAGE_LIBUWSC is not set -# BR2_PACKAGE_LIBVNCSERVER is not set -# BR2_PACKAGE_LIBWEBSOCK is not set -# BR2_PACKAGE_LIBWEBSOCKETS is not set -# BR2_PACKAGE_LIBYANG is not set -# BR2_PACKAGE_LKSCTP_TOOLS is not set -# BR2_PACKAGE_MBUFFER is not set -# BR2_PACKAGE_MONGOOSE is not set -# BR2_PACKAGE_NANOMSG is not set -# BR2_PACKAGE_NEON is not set -# BR2_PACKAGE_NETOPEER2 is not set -# BR2_PACKAGE_NGHTTP2 is not set -# BR2_PACKAGE_NORM is not set -# BR2_PACKAGE_NSS_MYHOSTNAME is not set -# BR2_PACKAGE_NSS_PAM_LDAPD is not set -# BR2_PACKAGE_OMNIORB is not set -# BR2_PACKAGE_OPEN62541 is not set -# BR2_PACKAGE_OPENLDAP is not set -# BR2_PACKAGE_OPENMPI is not set -# BR2_PACKAGE_OPENPGM is not set -# BR2_PACKAGE_OPENZWAVE is not set -# BR2_PACKAGE_ORTP is not set -# BR2_PACKAGE_PAHO_MQTT_C is not set -# BR2_PACKAGE_PAHO_MQTT_CPP is not set -# BR2_PACKAGE_PISTACHE is not set -# BR2_PACKAGE_QDECODER is not set -# BR2_PACKAGE_QPID_PROTON is not set -# BR2_PACKAGE_RABBITMQ_C is not set -# BR2_PACKAGE_RESIPROCATE is not set -# BR2_PACKAGE_RESTCLIENT_CPP is not set -# BR2_PACKAGE_RTMPDUMP is not set -# BR2_PACKAGE_SIPROXD is not set -# BR2_PACKAGE_SLIRP is not set -# BR2_PACKAGE_SNMPPP is not set -# BR2_PACKAGE_SOFIA_SIP is not set -# BR2_PACKAGE_SYSREPO is not set -# BR2_PACKAGE_THRIFT is not set -# BR2_PACKAGE_USBREDIR is not set -# BR2_PACKAGE_WAMPCC is not set -# BR2_PACKAGE_WEBSOCKETPP is not set -# BR2_PACKAGE_ZEROMQ is not set -# BR2_PACKAGE_ZMQPP is not set -# BR2_PACKAGE_ZYRE is not set - -# -# Other -# -# BR2_PACKAGE_APR is not set -# BR2_PACKAGE_APR_UTIL is not set -# BR2_PACKAGE_ARMADILLO is not set -# BR2_PACKAGE_ATF is not set -# BR2_PACKAGE_AVRO_C is not set -# BR2_PACKAGE_BCTOOLBOX is not set -# BR2_PACKAGE_BDWGC is not set -# BR2_PACKAGE_BELR is not set -# BR2_PACKAGE_BOOST is not set -# BR2_PACKAGE_C_CAPNPROTO is not set -# BR2_PACKAGE_CAPNPROTO is not set -# BR2_PACKAGE_CCTZ is not set -# BR2_PACKAGE_CEREAL is not set -# BR2_PACKAGE_CLANG is not set -# BR2_PACKAGE_CMOCKA is not set -# BR2_PACKAGE_CPPCMS is not set -# BR2_PACKAGE_CRACKLIB is not set -# BR2_PACKAGE_DAWGDIC is not set -# BR2_PACKAGE_DING_LIBS is not set -# BR2_PACKAGE_EIGEN is not set -# BR2_PACKAGE_ELFUTILS is not set -# BR2_PACKAGE_ELL is not set -# BR2_PACKAGE_FFTW is not set -# BR2_PACKAGE_FLANN is not set -# BR2_PACKAGE_FLATBUFFERS is not set -# BR2_PACKAGE_FLATCC is not set -# BR2_PACKAGE_GCONF is not set -# BR2_PACKAGE_GFLAGS is not set -# BR2_PACKAGE_GLI is not set -# BR2_PACKAGE_GLIBMM is not set -# BR2_PACKAGE_GLM is not set -# BR2_PACKAGE_GMP is not set -BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS=y - -# -# gobject-introspection needs python3 -# -# BR2_PACKAGE_GSL is not set -# BR2_PACKAGE_GTEST is not set -# BR2_PACKAGE_GUMBO_PARSER is not set -BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y -# BR2_PACKAGE_JEMALLOC is not set -BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y - -# -# lapack/blas needs a toolchain w/ fortran -# -BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBABSEIL_CPP is not set -# BR2_PACKAGE_LIBARGTABLE2 is not set -BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBATOMIC_OPS is not set -# BR2_PACKAGE_LIBAVL is not set -# BR2_PACKAGE_LIBB64 is not set -# BR2_PACKAGE_LIBBACKTRACE is not set -BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBBSD is not set -# BR2_PACKAGE_LIBBYTESIZE is not set -# BR2_PACKAGE_LIBCAP is not set -# BR2_PACKAGE_LIBCAP_NG is not set -# BR2_PACKAGE_LIBCGROUP is not set -# BR2_PACKAGE_LIBCLC is not set -# BR2_PACKAGE_LIBCORRECT is not set -# BR2_PACKAGE_LIBCROSSGUID is not set -# BR2_PACKAGE_LIBCSV is not set -# BR2_PACKAGE_LIBDAEMON is not set -BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBEASTL is not set -# BR2_PACKAGE_LIBEE is not set -# BR2_PACKAGE_LIBEV is not set -# BR2_PACKAGE_LIBEVDEV is not set -# BR2_PACKAGE_LIBEVENT is not set -# BR2_PACKAGE_LIBFFI is not set -# BR2_PACKAGE_LIBGEE is not set -# BR2_PACKAGE_LIBGEOS is not set -# BR2_PACKAGE_LIBGLIB2 is not set -# BR2_PACKAGE_LIBGLOB is not set -# BR2_PACKAGE_LIBICAL is not set -# BR2_PACKAGE_LIBITE is not set -# BR2_PACKAGE_LIBLINEAR is not set -# BR2_PACKAGE_LIBLOKI is not set -# BR2_PACKAGE_LIBNPTH is not set -BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y -# BR2_PACKAGE_LIBNSPR is not set -# BR2_PACKAGE_LIBOSMIUM is not set -# BR2_PACKAGE_LIBPFM4 is not set -# BR2_PACKAGE_LIBPLIST is not set -# BR2_PACKAGE_LIBPTHREAD_STUBS is not set -# BR2_PACKAGE_LIBPTHSEM is not set -# BR2_PACKAGE_LIBPWQUALITY is not set -# BR2_PACKAGE_LIBQB is not set -BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBSECCOMP is not set -# BR2_PACKAGE_LIBSIGC is not set -BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBSIGSEGV is not set -# BR2_PACKAGE_LIBSPATIALINDEX is not set -# BR2_PACKAGE_LIBTALLOC is not set -# BR2_PACKAGE_LIBTASN1 is not set -# BR2_PACKAGE_LIBTOMMATH is not set -# BR2_PACKAGE_LIBTPL is not set -# BR2_PACKAGE_LIBUBOX is not set -# BR2_PACKAGE_LIBUCI is not set -BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBUNWIND is not set -BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBURCU is not set -# BR2_PACKAGE_LIBUV is not set -# BR2_PACKAGE_LIGHTNING is not set -# BR2_PACKAGE_LINUX_PAM is not set -# BR2_PACKAGE_LIQUID_DSP is not set -BR2_PACKAGE_LLVM_ARCH_SUPPORTS=y -BR2_PACKAGE_LLVM_TARGET_ARCH="X86" -# BR2_PACKAGE_LLVM is not set -# BR2_PACKAGE_LTTNG_LIBUST is not set -# BR2_PACKAGE_MATIO is not set -# BR2_PACKAGE_MPC is not set -# BR2_PACKAGE_MPDECIMAL is not set -# BR2_PACKAGE_MPFR is not set -# BR2_PACKAGE_MPIR is not set -# BR2_PACKAGE_MSGPACK is not set -BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET="PRESCOTT" -BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS=y -# BR2_PACKAGE_OPENBLAS is not set -# BR2_PACKAGE_ORC is not set -# BR2_PACKAGE_P11_KIT is not set -BR2_PACKAGE_POCO_ARCH_SUPPORTS=y -# BR2_PACKAGE_POCO is not set -BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y -# BR2_PACKAGE_PROTOBUF is not set -# BR2_PACKAGE_PROTOBUF_C is not set -# BR2_PACKAGE_PROTOZERO is not set -# BR2_PACKAGE_QHULL is not set -# BR2_PACKAGE_QLIBC is not set -# BR2_PACKAGE_RIEMANN_C_CLIENT is not set -# BR2_PACKAGE_SHAPELIB is not set -# BR2_PACKAGE_SKALIBS is not set -# BR2_PACKAGE_SPHINXBASE is not set -# BR2_PACKAGE_TINYCBOR is not set -# BR2_PACKAGE_UVW is not set -# BR2_PACKAGE_XAPIAN is not set - -# -# Security -# -# BR2_PACKAGE_LIBAPPARMOR is not set -# BR2_PACKAGE_LIBSELINUX is not set -# BR2_PACKAGE_LIBSEMANAGE is not set -# BR2_PACKAGE_LIBSEPOL is not set -# BR2_PACKAGE_SAFECLIB is not set - -# -# Text and terminal handling -# -# BR2_PACKAGE_AUGEAS is not set -# BR2_PACKAGE_ENCHANT is not set -# BR2_PACKAGE_FMT is not set -# BR2_PACKAGE_FSTRCMP is not set -# BR2_PACKAGE_ICU is not set -# BR2_PACKAGE_INIH is not set -# BR2_PACKAGE_LIBCLI is not set -# BR2_PACKAGE_LIBEDIT is not set -# BR2_PACKAGE_LIBENCA is not set -# BR2_PACKAGE_LIBESTR is not set -# BR2_PACKAGE_LIBFRIBIDI is not set -# BR2_PACKAGE_LIBUNISTRING is not set -# BR2_PACKAGE_LINENOISE is not set -# BR2_PACKAGE_NCURSES is not set -# BR2_PACKAGE_NEWT is not set -# BR2_PACKAGE_ONIGURUMA is not set -# BR2_PACKAGE_PCRE is not set -# BR2_PACKAGE_PCRE2 is not set -# BR2_PACKAGE_POPT is not set -# BR2_PACKAGE_RE2 is not set -# BR2_PACKAGE_READLINE is not set -# BR2_PACKAGE_SLANG is not set -# BR2_PACKAGE_TCLAP is not set -# BR2_PACKAGE_UTF8PROC is not set - -# -# Mail -# -# BR2_PACKAGE_DOVECOT is not set -# BR2_PACKAGE_EXIM is not set -# BR2_PACKAGE_FETCHMAIL is not set -# BR2_PACKAGE_HEIRLOOM_MAILX is not set -# BR2_PACKAGE_LIBESMTP is not set -# BR2_PACKAGE_MSMTP is not set -# BR2_PACKAGE_MUTT is not set - -# -# Miscellaneous -# -# BR2_PACKAGE_AESPIPE is not set -# BR2_PACKAGE_BC is not set -BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y -# BR2_PACKAGE_BITCOIN is not set -# BR2_PACKAGE_CLAMAV is not set -# BR2_PACKAGE_COLLECTD is not set -# BR2_PACKAGE_COLLECTL is not set - -# -# domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library -# -# BR2_PACKAGE_EMPTY is not set -# BR2_PACKAGE_GNURADIO is not set -# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set - -# -# gqrx needs qt5 -# -# BR2_PACKAGE_GSETTINGS_DESKTOP_SCHEMAS is not set -# BR2_PACKAGE_HAVEGED is not set -# BR2_PACKAGE_LINUX_SYSCALL_SUPPORT is not set -# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set -# BR2_PACKAGE_NETDATA is not set -# BR2_PACKAGE_PROJ is not set -BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y -# BR2_PACKAGE_QEMU is not set -# BR2_PACKAGE_QPDF is not set -# BR2_PACKAGE_RTL_433 is not set -# BR2_PACKAGE_SHARED_MIME_INFO is not set -# BR2_PACKAGE_SUNWAIT is not set -# BR2_PACKAGE_TASKD is not set -# BR2_PACKAGE_XMRIG is not set -# BR2_PACKAGE_XUTIL_UTIL_MACROS is not set - -# -# Networking applications -# -# BR2_PACKAGE_AIRCRACK_NG is not set -# BR2_PACKAGE_AOETOOLS is not set -# BR2_PACKAGE_APACHE is not set -# BR2_PACKAGE_ARGUS is not set -# BR2_PACKAGE_ARP_SCAN is not set -# BR2_PACKAGE_ARPTABLES is not set -# BR2_PACKAGE_ASTERISK is not set -# BR2_PACKAGE_ATFTP is not set -# BR2_PACKAGE_AVAHI is not set -# BR2_PACKAGE_AXEL is not set -# BR2_PACKAGE_BABELD is not set -# BR2_PACKAGE_BANDWIDTHD is not set -# BR2_PACKAGE_BATCTL is not set -# BR2_PACKAGE_BCUSDK is not set -# BR2_PACKAGE_BIND is not set -# BR2_PACKAGE_BIRD is not set -# BR2_PACKAGE_BLUEZ5_UTILS is not set -# BR2_PACKAGE_BMON is not set -# BR2_PACKAGE_BOINC is not set -# BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set -# BR2_PACKAGE_BRIDGE_UTILS is not set -# BR2_PACKAGE_BWM_NG is not set -# BR2_PACKAGE_C_ICAP is not set -# BR2_PACKAGE_CAN_UTILS is not set -# BR2_PACKAGE_CANNELLONI is not set -# BR2_PACKAGE_CASYNC is not set -# BR2_PACKAGE_CHRONY is not set -# BR2_PACKAGE_CIVETWEB is not set -# BR2_PACKAGE_CONNMAN is not set - -# -# connman-gtk needs libgtk3 and a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library -# -# BR2_PACKAGE_CONNTRACK_TOOLS is not set -# BR2_PACKAGE_CORKSCREW is not set -# BR2_PACKAGE_CRDA is not set -# BR2_PACKAGE_CTORRENT is not set -# BR2_PACKAGE_CUPS is not set -# BR2_PACKAGE_DANTE is not set -# BR2_PACKAGE_DARKHTTPD is not set -# BR2_PACKAGE_DEHYDRATED is not set -# BR2_PACKAGE_DHCP is not set -# BR2_PACKAGE_DHCPCD is not set -# BR2_PACKAGE_DHCPDUMP is not set -# BR2_PACKAGE_DNSMASQ is not set -# BR2_PACKAGE_DRBD_UTILS is not set -# BR2_PACKAGE_DROPBEAR is not set -# BR2_PACKAGE_EASYFRAMES is not set -# BR2_PACKAGE_EBTABLES is not set - -# -# ejabberd needs erlang, toolchain w/ C++ -# -# BR2_PACKAGE_ETHTOOL is not set -# BR2_PACKAGE_FAIFA is not set -# BR2_PACKAGE_FASTD is not set -# BR2_PACKAGE_FCGIWRAP is not set -# BR2_PACKAGE_FLANNEL is not set -# BR2_PACKAGE_FPING is not set -# BR2_PACKAGE_FREESWITCH is not set -# BR2_PACKAGE_FRR is not set -# BR2_PACKAGE_GERBERA is not set -# BR2_PACKAGE_GESFTPSERVER is not set -# BR2_PACKAGE_GLOOX is not set -# BR2_PACKAGE_GLORYTUN is not set - -# -# gupnp-tools needs libgtk3 -# -# BR2_PACKAGE_HANS is not set -BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y -# BR2_PACKAGE_HAPROXY is not set -# BR2_PACKAGE_HIAWATHA is not set -# BR2_PACKAGE_HOSTAPD is not set -# BR2_PACKAGE_HTPDATE is not set -# BR2_PACKAGE_HTTPING is not set -# BR2_PACKAGE_I2PD is not set -# BR2_PACKAGE_IBRDTN_TOOLS is not set -# BR2_PACKAGE_IBRDTND is not set -# BR2_PACKAGE_IFENSLAVE is not set -# BR2_PACKAGE_IFMETRIC is not set -# BR2_PACKAGE_IFPLUGD is not set -# BR2_PACKAGE_IFTOP is not set -# BR2_PACKAGE_IFUPDOWN is not set -BR2_PACKAGE_IFUPDOWN_SCRIPTS=y -# BR2_PACKAGE_IGD2_FOR_LINUX is not set -# BR2_PACKAGE_IGH_ETHERCAT is not set -# BR2_PACKAGE_IGMPPROXY is not set -# BR2_PACKAGE_INADYN is not set -# BR2_PACKAGE_IODINE is not set -# BR2_PACKAGE_IPCALC is not set -# BR2_PACKAGE_IPERF is not set -# BR2_PACKAGE_IPERF3 is not set -# BR2_PACKAGE_IPROUTE2 is not set -# BR2_PACKAGE_IPSET is not set -# BR2_PACKAGE_IPTABLES is not set -# BR2_PACKAGE_IPTRAF_NG is not set -# BR2_PACKAGE_IPUTILS is not set -# BR2_PACKAGE_IRSSI is not set -# BR2_PACKAGE_IW is not set -# BR2_PACKAGE_IWD is not set -# BR2_PACKAGE_JANUS_GATEWAY is not set -# BR2_PACKAGE_KEEPALIVED is not set -# BR2_PACKAGE_KISMET is not set -# BR2_PACKAGE_KNOCK is not set -# BR2_PACKAGE_LEAFNODE2 is not set -# BR2_PACKAGE_LFT is not set -# BR2_PACKAGE_LFTP is not set -# BR2_PACKAGE_LIGHTTPD is not set -# BR2_PACKAGE_LINKNX is not set -# BR2_PACKAGE_LINKS is not set -# BR2_PACKAGE_LINPHONE is not set -# BR2_PACKAGE_LINUX_ZIGBEE is not set -# BR2_PACKAGE_LINUXPTP is not set -# BR2_PACKAGE_LLDPD is not set -# BR2_PACKAGE_LRZSZ is not set -# BR2_PACKAGE_LYNX is not set -# BR2_PACKAGE_MACCHANGER is not set -# BR2_PACKAGE_MEMCACHED is not set -# BR2_PACKAGE_MII_DIAG is not set -# BR2_PACKAGE_MINI_SNMPD is not set -# BR2_PACKAGE_MINIDLNA is not set -# BR2_PACKAGE_MINISSDPD is not set -# BR2_PACKAGE_MJPG_STREAMER is not set -# BR2_PACKAGE_MODEM_MANAGER is not set -BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y -# BR2_PACKAGE_MONGREL2 is not set -# BR2_PACKAGE_MOSH is not set -# BR2_PACKAGE_MOSQUITTO is not set -# BR2_PACKAGE_MROUTED is not set -# BR2_PACKAGE_MRP is not set -# BR2_PACKAGE_MTR is not set -# BR2_PACKAGE_NBD is not set -# BR2_PACKAGE_NCFTP is not set -# BR2_PACKAGE_NDISC6 is not set -# BR2_PACKAGE_NET_TOOLS is not set -# BR2_PACKAGE_NETATALK is not set -# BR2_PACKAGE_NETCALC is not set -# BR2_PACKAGE_NETCAT is not set -# BR2_PACKAGE_NETCAT_OPENBSD is not set -# BR2_PACKAGE_NETPLUG is not set -# BR2_PACKAGE_NETSNMP is not set -# BR2_PACKAGE_NETSTAT_NAT is not set - -# -# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 4.6, dynamic library, wchar, threads, gcc >= 4.9 -# -# BR2_PACKAGE_NFACCT is not set -# BR2_PACKAGE_NFTABLES is not set -# BR2_PACKAGE_NGINX is not set -# BR2_PACKAGE_NGIRCD is not set -# BR2_PACKAGE_NGREP is not set -# BR2_PACKAGE_NLOAD is not set -# BR2_PACKAGE_NMAP is not set -# BR2_PACKAGE_NOIP is not set -# BR2_PACKAGE_NTP is not set -# BR2_PACKAGE_NUTTCP is not set -# BR2_PACKAGE_ODHCP6C is not set -# BR2_PACKAGE_ODHCPLOC is not set -# BR2_PACKAGE_OLSR is not set -# BR2_PACKAGE_OPEN_LLDP is not set -# BR2_PACKAGE_OPEN_PLC_UTILS is not set -# BR2_PACKAGE_OPENNTPD is not set -# BR2_PACKAGE_OPENOBEX is not set -# BR2_PACKAGE_OPENRESOLV is not set -# BR2_PACKAGE_OPENSSH is not set -# BR2_PACKAGE_OPENSWAN is not set -# BR2_PACKAGE_OPENVPN is not set -# BR2_PACKAGE_P910ND is not set -# BR2_PACKAGE_PARPROUTED is not set -# BR2_PACKAGE_PHIDGETWEBSERVICE is not set -# BR2_PACKAGE_PHYTOOL is not set -# BR2_PACKAGE_PIMD is not set -# BR2_PACKAGE_PIXIEWPS is not set -# BR2_PACKAGE_POUND is not set -# BR2_PACKAGE_PPPD is not set -# BR2_PACKAGE_PPTP_LINUX is not set -# BR2_PACKAGE_PRIVOXY is not set -# BR2_PACKAGE_PROFTPD is not set - -# -# prosody needs the lua interpreter, dynamic library -# -# BR2_PACKAGE_PROXYCHAINS_NG is not set -# BR2_PACKAGE_PTPD is not set -# BR2_PACKAGE_PTPD2 is not set -# BR2_PACKAGE_PURE_FTPD is not set -# BR2_PACKAGE_PUTTY is not set -# BR2_PACKAGE_QUAGGA is not set - -# -# rabbitmq-server needs erlang -# -# BR2_PACKAGE_RADVD is not set -# BR2_PACKAGE_REAVER is not set -# BR2_PACKAGE_REDIR is not set -# BR2_PACKAGE_RP_PPPOE is not set -# BR2_PACKAGE_RPCBIND is not set -# BR2_PACKAGE_RSH_REDONE is not set -# BR2_PACKAGE_RSYNC is not set -# BR2_PACKAGE_RTORRENT is not set -# BR2_PACKAGE_RTPTOOLS is not set -# BR2_PACKAGE_RYGEL is not set -# BR2_PACKAGE_S6_DNS is not set -# BR2_PACKAGE_S6_NETWORKING is not set -# BR2_PACKAGE_SAMBA4 is not set -# BR2_PACKAGE_SCONESERVER is not set -# BR2_PACKAGE_SER2NET is not set -# BR2_PACKAGE_SHADOWSOCKS_LIBEV is not set -# BR2_PACKAGE_SHAIRPORT_SYNC is not set -# BR2_PACKAGE_SHELLINABOX is not set -# BR2_PACKAGE_SMCROUTE is not set -# BR2_PACKAGE_SNGREP is not set -# BR2_PACKAGE_SNORT is not set -# BR2_PACKAGE_SNORT3 is not set -# BR2_PACKAGE_SOCAT is not set -# BR2_PACKAGE_SOCKETCAND is not set -# BR2_PACKAGE_SOFTETHER is not set -# BR2_PACKAGE_SPAWN_FCGI is not set -# BR2_PACKAGE_SPICE is not set -# BR2_PACKAGE_SPICE_PROTOCOL is not set -# BR2_PACKAGE_SQUID is not set -# BR2_PACKAGE_SSDP_RESPONDER is not set -# BR2_PACKAGE_SSHGUARD is not set -# BR2_PACKAGE_SSHPASS is not set -# BR2_PACKAGE_SSLH is not set -# BR2_PACKAGE_STRONGSWAN is not set -# BR2_PACKAGE_STUNNEL is not set -# BR2_PACKAGE_SURICATA is not set -# BR2_PACKAGE_TCPDUMP is not set -# BR2_PACKAGE_TCPING is not set -# BR2_PACKAGE_TCPREPLAY is not set -# BR2_PACKAGE_TFTPD is not set -# BR2_PACKAGE_THTTPD is not set -# BR2_PACKAGE_TINC is not set -# BR2_PACKAGE_TINYPROXY is not set -# BR2_PACKAGE_TINYSSH is not set -# BR2_PACKAGE_TOR is not set -# BR2_PACKAGE_TRACEROUTE is not set -# BR2_PACKAGE_TRANSMISSION is not set -# BR2_PACKAGE_TUNCTL is not set -# BR2_PACKAGE_TVHEADEND is not set -# BR2_PACKAGE_UACME is not set -# BR2_PACKAGE_UDPCAST is not set -# BR2_PACKAGE_UFTP is not set -# BR2_PACKAGE_UHTTPD is not set -# BR2_PACKAGE_ULOGD is not set -# BR2_PACKAGE_UNBOUND is not set -# BR2_PACKAGE_UREDIR is not set -# BR2_PACKAGE_USHARE is not set -# BR2_PACKAGE_USSP_PUSH is not set -# BR2_PACKAGE_VDE2 is not set -# BR2_PACKAGE_VDR is not set -# BR2_PACKAGE_VNSTAT is not set -# BR2_PACKAGE_VPNC is not set -# BR2_PACKAGE_VSFTPD is not set -# BR2_PACKAGE_VTUN is not set -# BR2_PACKAGE_WAVEMON is not set -# BR2_PACKAGE_WGET is not set -# BR2_PACKAGE_WHOIS is not set -# BR2_PACKAGE_WIREGUARD_TOOLS is not set -# BR2_PACKAGE_WIRELESS_REGDB is not set -# BR2_PACKAGE_WIRELESS_TOOLS is not set -# BR2_PACKAGE_WIRESHARK is not set -# BR2_PACKAGE_WPA_SUPPLICANT is not set -# BR2_PACKAGE_WPAN_TOOLS is not set -# BR2_PACKAGE_XINETD is not set -# BR2_PACKAGE_XL2TP is not set -# BR2_PACKAGE_XTABLES_ADDONS is not set -# BR2_PACKAGE_ZNC is not set - -# -# Package managers -# - -# -# ------------------------------------------------------- -# - -# -# Please note: -# - -# -# - Buildroot does *not* generate binary packages, -# - -# -# - Buildroot does *not* install any package database. -# - -# -# * -# - -# -# It is up to you to provide those by yourself if you -# - -# -# want to use any of those package managers. -# - -# -# * -# - -# -# See the manual: -# - -# -# http://buildroot.org/manual.html#faq-no-binary-packages -# - -# -# ------------------------------------------------------- -# -# BR2_PACKAGE_OPKG is not set -# BR2_PACKAGE_OPKG_UTILS is not set -# BR2_PACKAGE_RPM is not set - -# -# Real-Time -# -BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS=y -# BR2_PACKAGE_XENOMAI is not set - -# -# Security -# -# BR2_PACKAGE_APPARMOR is not set -# BR2_PACKAGE_CHECKPOLICY is not set -# BR2_PACKAGE_IMA_EVM_UTILS is not set -# BR2_PACKAGE_OPTEE_BENCHMARK is not set -# BR2_PACKAGE_OPTEE_CLIENT is not set -# BR2_PACKAGE_PAXTEST is not set -# BR2_PACKAGE_POLICYCOREUTILS is not set -# BR2_PACKAGE_REFPOLICY is not set -# BR2_PACKAGE_RESTORECOND is not set -# BR2_PACKAGE_SELINUX_PYTHON is not set -# BR2_PACKAGE_SEMODULE_UTILS is not set - -# -# setools needs python3 -# -BR2_PACKAGE_URANDOM_SCRIPTS=y - -# -# Shell and utilities -# - -# -# Shells -# -# BR2_PACKAGE_BASH is not set -# BR2_PACKAGE_DASH is not set -# BR2_PACKAGE_MKSH is not set -# BR2_PACKAGE_ZSH is not set - -# -# Utilities -# -# BR2_PACKAGE_APG is not set -# BR2_PACKAGE_AT is not set -# BR2_PACKAGE_CCRYPT is not set -# BR2_PACKAGE_DIALOG is not set -# BR2_PACKAGE_DTACH is not set -# BR2_PACKAGE_EASY_RSA is not set -# BR2_PACKAGE_FILE is not set -# BR2_PACKAGE_GNUPG is not set -# BR2_PACKAGE_GNUPG2 is not set -# BR2_PACKAGE_INOTIFY_TOOLS is not set -# BR2_PACKAGE_LOCKFILE_PROGS is not set -# BR2_PACKAGE_LOGROTATE is not set -# BR2_PACKAGE_LOGSURFER is not set -# BR2_PACKAGE_NEOFETCH is not set -# BR2_PACKAGE_PDMENU is not set -# BR2_PACKAGE_PINENTRY is not set -# BR2_PACKAGE_QPRINT is not set -# BR2_PACKAGE_RANGER is not set -# BR2_PACKAGE_RTTY is not set -# BR2_PACKAGE_SCREEN is not set -# BR2_PACKAGE_SCREENFETCH is not set -# BR2_PACKAGE_SUDO is not set -# BR2_PACKAGE_TIME is not set -# BR2_PACKAGE_TINI is not set -# BR2_PACKAGE_TMUX is not set -# BR2_PACKAGE_TTYD is not set -# BR2_PACKAGE_WHICH is not set -# BR2_PACKAGE_XMLSTARLET is not set -# BR2_PACKAGE_XXHASH is not set -# BR2_PACKAGE_YTREE is not set - -# -# System tools -# -# BR2_PACKAGE_ACL is not set -# BR2_PACKAGE_ANDROID_TOOLS is not set -# BR2_PACKAGE_ATOP is not set -# BR2_PACKAGE_ATTR is not set -BR2_PACKAGE_AUDIT_ARCH_SUPPORTS=y -# BR2_PACKAGE_AUDIT is not set -# BR2_PACKAGE_BALENA_ENGINE is not set -# BR2_PACKAGE_BUBBLEWRAP is not set -# BR2_PACKAGE_CGROUPFS_MOUNT is not set - -# -# circus needs Python 3 and a toolchain w/ C++, threads -# -# BR2_PACKAGE_CONTAINERD is not set -# BR2_PACKAGE_COREUTILS is not set -# BR2_PACKAGE_CPULOAD is not set -# BR2_PACKAGE_DAEMON is not set -# BR2_PACKAGE_DC3DD is not set -# BR2_PACKAGE_DCRON is not set -# BR2_PACKAGE_DDRESCUE is not set -# BR2_PACKAGE_DEBIANUTILS is not set -# BR2_PACKAGE_DOCKER_CLI is not set -# BR2_PACKAGE_DOCKER_COMPOSE is not set -# BR2_PACKAGE_DOCKER_ENGINE is not set -# BR2_PACKAGE_DOCKER_PROXY is not set -# BR2_PACKAGE_EARLYOOM is not set -# BR2_PACKAGE_EFIBOOTMGR is not set -BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS=y -# BR2_PACKAGE_EFIVAR is not set -# BR2_PACKAGE_EMLOG is not set -# BR2_PACKAGE_FTOP is not set -# BR2_PACKAGE_GETENT is not set -# BR2_PACKAGE_GKRELLM is not set -# BR2_PACKAGE_HTOP is not set -# BR2_PACKAGE_IBM_SW_TPM2 is not set -BR2_PACKAGE_INITSCRIPTS=y - -# -# iotop depends on python or python3 -# -# BR2_PACKAGE_IPRUTILS is not set -# BR2_PACKAGE_IRQBALANCE is not set -# BR2_PACKAGE_JAILHOUSE is not set -# BR2_PACKAGE_KEYUTILS is not set -# BR2_PACKAGE_KMOD is not set -# BR2_PACKAGE_KVMTOOL is not set -# BR2_PACKAGE_LIBOSTREE is not set -BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS=y - -# -# libvirt needs udev /dev management, a toolchain w/ threads, dynamic library, kernel headers >= 3.12 (4.11 for AArch64) -# -# BR2_PACKAGE_LXC is not set -BR2_PACKAGE_MAKEDUMPFILE_ARCH_SUPPORTS=y -# BR2_PACKAGE_MAKEDUMPFILE is not set -# BR2_PACKAGE_MENDER is not set -# BR2_PACKAGE_MFOC is not set -# BR2_PACKAGE_MONIT is not set - -# -# multipath-tools needs udev and a uClibc or glibc toolchain w/ threads, dynamic library -# -# BR2_PACKAGE_NCDU is not set - -# -# netifrc needs openrc as init system -# -# BR2_PACKAGE_NUMACTL is not set -# BR2_PACKAGE_NUT is not set -# BR2_PACKAGE_OPENVMTOOLS is not set - -# -# pamtester depends on linux-pam -# -# BR2_PACKAGE_POLKIT is not set -# BR2_PACKAGE_PROCPS_NG is not set -# BR2_PACKAGE_PROCRANK_LINUX is not set -# BR2_PACKAGE_PSMISC is not set -# BR2_PACKAGE_PWGEN is not set -# BR2_PACKAGE_QUOTA is not set -# BR2_PACKAGE_QUOTATOOL is not set -# BR2_PACKAGE_RAUC is not set -# BR2_PACKAGE_RSYSLOG is not set -# BR2_PACKAGE_RUNC is not set -# BR2_PACKAGE_S6 is not set -# BR2_PACKAGE_S6_LINUX_INIT is not set -# BR2_PACKAGE_S6_LINUX_UTILS is not set -# BR2_PACKAGE_S6_PORTABLE_UTILS is not set -# BR2_PACKAGE_S6_RC is not set -# BR2_PACKAGE_SCRUB is not set -# BR2_PACKAGE_SCRYPT is not set - -# -# sdbusplus needs systemd and a toolchain w/ C++, gcc >= 7 -# -# BR2_PACKAGE_SEATD is not set -# BR2_PACKAGE_SMACK is not set -# BR2_PACKAGE_START_STOP_DAEMON is not set - -# -# supervisor needs a python interpreter -# -# BR2_PACKAGE_SWUPDATE is not set -# BR2_PACKAGE_SYSKLOGD is not set -# BR2_PACKAGE_SYSLOG_NG is not set -BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y -BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS=y -BR2_PACKAGE_SYSVINIT=y -# BR2_PACKAGE_TAR is not set -# BR2_PACKAGE_THERMALD is not set -# BR2_PACKAGE_TPM_TOOLS is not set -# BR2_PACKAGE_TPM2_ABRMD is not set -# BR2_PACKAGE_TPM2_TOOLS is not set -# BR2_PACKAGE_TPM2_TOTP is not set -# BR2_PACKAGE_UNSCD is not set -# BR2_PACKAGE_UTIL_LINUX is not set -# BR2_PACKAGE_WATCHDOG is not set -# BR2_PACKAGE_XDG_DBUS_PROXY is not set -BR2_PACKAGE_XVISOR_ARCH_SUPPORTS=y -# BR2_PACKAGE_XVISOR is not set - -# -# Text editors and viewers -# -# BR2_PACKAGE_ED is not set -# BR2_PACKAGE_JOE is not set -# BR2_PACKAGE_LESS is not set -# BR2_PACKAGE_MC is not set -# BR2_PACKAGE_MG is not set -# BR2_PACKAGE_MOST is not set -# BR2_PACKAGE_NANO is not set -# BR2_PACKAGE_UEMACS is not set -# BR2_PACKAGE_VIM is not set - -# -# Filesystem images -# -# BR2_TARGET_ROOTFS_AXFS is not set -# BR2_TARGET_ROOTFS_BTRFS is not set -# BR2_TARGET_ROOTFS_CLOOP is not set -# BR2_TARGET_ROOTFS_CPIO is not set -# BR2_TARGET_ROOTFS_CRAMFS is not set -# BR2_TARGET_ROOTFS_EROFS is not set -# BR2_TARGET_ROOTFS_EXT2 is not set -# BR2_TARGET_ROOTFS_F2FS is not set -# BR2_TARGET_ROOTFS_INITRAMFS is not set - -# -# iso image needs a Linux kernel and either grub2 i386-pc or isolinux to be built -# -# BR2_TARGET_ROOTFS_JFFS2 is not set -# BR2_TARGET_ROOTFS_ROMFS is not set -# BR2_TARGET_ROOTFS_SQUASHFS is not set -BR2_TARGET_ROOTFS_TAR=y -BR2_TARGET_ROOTFS_TAR_NONE=y -# BR2_TARGET_ROOTFS_TAR_GZIP is not set -# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set -# BR2_TARGET_ROOTFS_TAR_LZ4 is not set -# BR2_TARGET_ROOTFS_TAR_LZMA is not set -# BR2_TARGET_ROOTFS_TAR_LZO is not set -# BR2_TARGET_ROOTFS_TAR_XZ is not set -BR2_TARGET_ROOTFS_TAR_OPTIONS="" -# BR2_TARGET_ROOTFS_UBI is not set -# BR2_TARGET_ROOTFS_UBIFS is not set -# BR2_TARGET_ROOTFS_YAFFS2 is not set - -# -# Bootloaders -# -# BR2_TARGET_BAREBOX is not set -# BR2_TARGET_EDK2 is not set -BR2_TARGET_GRUB2_ARCH_SUPPORTS=y -# BR2_TARGET_GRUB2 is not set -# BR2_TARGET_GUMMIBOOT is not set -# BR2_TARGET_SHIM is not set -# BR2_TARGET_SYSLINUX is not set -# BR2_TARGET_UBOOT is not set - -# -# Host utilities -# -# BR2_PACKAGE_HOST_ABOOTIMG is not set -# BR2_PACKAGE_HOST_AESPIPE is not set -# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set -# BR2_PACKAGE_HOST_ASN1C is not set -# BR2_PACKAGE_HOST_BABELTRACE2 is not set -# BR2_PACKAGE_HOST_BMAP_TOOLS is not set -# BR2_PACKAGE_HOST_BTRFS_PROGS is not set -# BR2_PACKAGE_HOST_CHECKPOLICY is not set -# BR2_PACKAGE_HOST_CHECKSEC is not set -# BR2_PACKAGE_HOST_CMAKE is not set -# BR2_PACKAGE_HOST_CRAMFS is not set -# BR2_PACKAGE_HOST_CRYPTSETUP is not set -# BR2_PACKAGE_HOST_DBUS_PYTHON is not set -# BR2_PACKAGE_HOST_DFU_UTIL is not set -# BR2_PACKAGE_HOST_DOS2UNIX is not set -# BR2_PACKAGE_HOST_DOSFSTOOLS is not set -# BR2_PACKAGE_HOST_DOXYGEN is not set -# BR2_PACKAGE_HOST_DTC is not set -# BR2_PACKAGE_HOST_E2FSPROGS is not set -# BR2_PACKAGE_HOST_E2TOOLS is not set -# BR2_PACKAGE_HOST_ENVIRONMENT_SETUP is not set -# BR2_PACKAGE_HOST_EROFS_UTILS is not set -# BR2_PACKAGE_HOST_EXFATPROGS is not set -# BR2_PACKAGE_HOST_F2FS_TOOLS is not set -# BR2_PACKAGE_HOST_FAKETIME is not set -# BR2_PACKAGE_HOST_FATCAT is not set -# BR2_PACKAGE_HOST_FWUP is not set -# BR2_PACKAGE_HOST_GENEXT2FS is not set -# BR2_PACKAGE_HOST_GENIMAGE is not set -# BR2_PACKAGE_HOST_GENPART is not set -# BR2_PACKAGE_HOST_GNUPG is not set -BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS=y -BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y -# BR2_PACKAGE_HOST_GPTFDISK is not set -# BR2_PACKAGE_HOST_IMAGEMAGICK is not set -# BR2_PACKAGE_HOST_IMX_MKIMAGE is not set -# BR2_PACKAGE_HOST_JQ is not set -# BR2_PACKAGE_HOST_JSMIN is not set -BR2_PACKAGE_HOST_KMOD=y -# BR2_PACKAGE_HOST_KMOD_GZ is not set -# BR2_PACKAGE_HOST_KMOD_ZSTD is not set -# BR2_PACKAGE_HOST_KMOD_XZ is not set -# BR2_PACKAGE_HOST_LIBP11 is not set -# BR2_PACKAGE_HOST_LLD is not set -# BR2_PACKAGE_HOST_LPC3250LOADER is not set -# BR2_PACKAGE_HOST_LTTNG_BABELTRACE is not set -# BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set -# BR2_PACKAGE_HOST_MESON_TOOLS is not set -# BR2_PACKAGE_HOST_MKPASSWD is not set -# BR2_PACKAGE_HOST_MTD is not set -# BR2_PACKAGE_HOST_MTOOLS is not set -# BR2_PACKAGE_HOST_ODB is not set -# BR2_PACKAGE_HOST_OPENOCD is not set -# BR2_PACKAGE_HOST_OPKG_UTILS is not set -# BR2_PACKAGE_HOST_PARTED is not set -BR2_PACKAGE_HOST_PATCHELF=y -# BR2_PACKAGE_HOST_PIGZ is not set -# BR2_PACKAGE_HOST_PKGCONF is not set -# BR2_PACKAGE_HOST_PWGEN is not set -# BR2_PACKAGE_HOST_PYTHON is not set -# BR2_PACKAGE_HOST_PYTHON_CYTHON is not set -# BR2_PACKAGE_HOST_PYTHON_LXML is not set -# BR2_PACKAGE_HOST_PYTHON_SIX is not set -# BR2_PACKAGE_HOST_PYTHON_XLRD is not set -# BR2_PACKAGE_HOST_PYTHON3 is not set -BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS=y -# BR2_PACKAGE_HOST_QEMU is not set -# BR2_PACKAGE_HOST_QORIQ_RCW is not set -# BR2_PACKAGE_HOST_RAUC is not set -BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_RUSTC_TARGET_TIER1_PLATFORMS=y -BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_RUSTC_ARCH="x86_64" -# BR2_PACKAGE_HOST_RUSTC is not set -BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" -# BR2_PACKAGE_HOST_SAM_BA is not set -# BR2_PACKAGE_HOST_SDBUSPLUS is not set -# BR2_PACKAGE_HOST_SQUASHFS is not set -# BR2_PACKAGE_HOST_SWIG is not set -# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set -# BR2_PACKAGE_HOST_UTIL_LINUX is not set -# BR2_PACKAGE_HOST_UTP_COM is not set -# BR2_PACKAGE_HOST_VBOOT_UTILS is not set -# BR2_PACKAGE_HOST_XORRISO is not set -# BR2_PACKAGE_HOST_ZIP is not set -# BR2_PACKAGE_HOST_ZSTD is not set - -# -# Legacy config options -# - -# -# Legacy options removed in 2021.08 -# -# BR2_OPENJDK_VERSION_LTS is not set -# BR2_OPENJDK_VERSION_LATEST is not set -# BR2_PACKAGE_GNURADIO_PAGER is not set -# BR2_PACKAGE_LIBMCRYPT is not set -# BR2_PACKAGE_MCRYPT is not set -# BR2_PACKAGE_PHP_EXT_MCRYPT is not set -# BR2_BINUTILS_VERSION_2_34_X is not set -# BR2_PACKAGE_LIBSOIL is not set -# BR2_PACKAGE_CLAPACK is not set -# BR2_PACKAGE_SPIDERMONKEY is not set -# BR2_PACKAGE_KODI_LIBVA is not set -# BR2_PACKAGE_PYTHON_COHERENCE is not set -# BR2_PACKAGE_PHP_EXT_XMLRPC is not set -# BR2_GCC_VERSION_8_X is not set - -# -# Legacy options removed in 2021.05 -# -# BR2_PACKAGE_UDISKS_LVM2 is not set -# BR2_PACKAGE_LVM2_APP_LIBRARY is not set -# BR2_PACKAGE_LVM2_LVMETAD is not set -# BR2_PACKAGE_MONKEY is not set -# BR2_PACKAGE_DOCKER_CONTAINERD is not set -# BR2_PACKAGE_IOSTAT is not set -# BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE is not set -# BR2_PACKAGE_MESA3D_OSMESA_CLASSIC is not set -# BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST is not set -# BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH is not set - -# -# Legacy options removed in 2021.02 -# -# BR2_PACKAGE_MPD_AUDIOFILE is not set -# BR2_PACKAGE_AUDIOFILE is not set -# BR2_BINUTILS_VERSION_2_33_X is not set -# BR2_PACKAGE_LIBUPNP18 is not set -# BR2_PACKAGE_BOA is not set -# BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA is not set -# BR2_GDB_VERSION_8_2 is not set -# BR2_PACKAGE_HOST_RCW is not set -# BR2_KERNEL_HEADERS_5_9 is not set -# BR2_KERNEL_HEADERS_5_8 is not set -# BR2_powerpc_601 is not set -# BR2_PACKAGE_TI_SGX_LIBGBM is not set -# BR2_PACKAGE_IPSEC_TOOLS is not set - -# -# Legacy options removed in 2020.11 -# -# BR2_PACKAGE_GPSD_FIXED_PORT_SPEED is not set -# BR2_PACKAGE_GPSD_RECONFIGURE is not set -# BR2_PACKAGE_GPSD_CONTROLSEND is not set -# BR2_PACKAGE_OPENCV is not set -# BR2_PACKAGE_LIBCROCO is not set -# BR2_PACKAGE_BELLAGIO is not set -# BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY is not set -# BR2_TARGET_UBOOT_BOOT_SCRIPT is not set -# BR2_TARGET_UBOOT_ENVIMAGE is not set -# BR2_PACKAGE_KISMET_CLIENT is not set -# BR2_PACKAGE_KISMET_DRONE is not set -# BR2_GCC_VERSION_7_X is not set -# BR2_PACKAGE_GST1_VALIDATE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF is not set -# BR2_PACKAGE_GQVIEW is not set -# BR2_PACKAGE_WESTON_IMX is not set -# BR2_KERNEL_HEADERS_5_7 is not set -# BR2_PACKAGE_TINYHTTPD is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX is not set -# BR2_PACKAGE_AMD_CATALYST is not set -# BR2_PACKAGE_NVIDIA_TEGRA23 is not set -# BR2_GDB_VERSION_8_1 is not set - -# -# Legacy options removed in 2020.08 -# -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 is not set -# BR2_KERNEL_HEADERS_5_6 is not set -# BR2_KERNEL_HEADERS_5_5 is not set -# BR2_BINUTILS_VERSION_2_31_X is not set -# BR2_PACKAGE_KODI_PERIPHERAL_STEAMCONTROLLER is not set - -# -# Legacy options removed in 2020.05 -# -# BR2_PACKAGE_WIRINGPI is not set -# BR2_PACKAGE_PYTHON_PYCRYPTO is not set -# BR2_PACKAGE_MTDEV2TUIO is not set -# BR2_PACKAGE_EZXML is not set -# BR2_PACKAGE_COLLECTD_LVM is not set -# BR2_PACKAGE_PYTHON_PYASN is not set -# BR2_PACKAGE_PYTHON_PYASN_MODULES is not set -# BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174 is not set -# BR2_PACKAGE_QT5CANVAS3D is not set -# BR2_PACKAGE_KODI_LIBTHEORA is not set -# BR2_PACKAGE_CEGUI06 is not set -# BR2_GCC_VERSION_5_X is not set - -# -# Legacy options removed in 2020.02 -# -# BR2_PACKAGE_JAMVM is not set -# BR2_PACKAGE_CLASSPATH is not set -# BR2_PACKAGE_QT5_VERSION_5_6 is not set -# BR2_PACKAGE_CURL is not set -# BR2_PACKAGE_GSTREAMER is not set -# BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS is not set -# BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS is not set -# BR2_PACKAGE_FREERDP_GSTREAMER is not set -# BR2_PACKAGE_OPENCV3_WITH_GSTREAMER is not set -# BR2_PACKAGE_OPENCV_WITH_GSTREAMER is not set -# BR2_PACKAGE_LIBPLAYER is not set -# BR2_GCC_VERSION_OR1K is not set -# BR2_PACKAGE_BLUEZ_UTILS is not set -# BR2_PACKAGE_GADGETFS_TEST is not set -# BR2_PACKAGE_FIS is not set -BR2_PACKAGE_REFPOLICY_POLICY_VERSION="" -# BR2_PACKAGE_CELT051 is not set -# BR2_PACKAGE_WIREGUARD is not set -# BR2_PACKAGE_PERL_NET_PING is not set -# BR2_PACKAGE_PERL_MIME_BASE64 is not set -# BR2_PACKAGE_PERL_DIGEST_MD5 is not set -# BR2_PACKAGE_ERLANG_P1_ICONV is not set -# BR2_KERNEL_HEADERS_5_3 is not set -# BR2_PACKAGE_PYTHON_SCAPY3K is not set -# BR2_BINUTILS_VERSION_2_30_X is not set -# BR2_PACKAGE_RPI_USERLAND_START_VCFILED is not set - -# -# Legacy options removed in 2019.11 -# -# BR2_PACKAGE_OPENVMTOOLS_PROCPS is not set -# BR2_PACKAGE_ALLJOYN is not set -# BR2_PACKAGE_ALLJOYN_BASE is not set -# BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL is not set -# BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION is not set -# BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING is not set -# BR2_PACKAGE_ALLJOYN_TCL_BASE is not set -# BR2_PACKAGE_ALLJOYN_TCL is not set -BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS="" -# BR2_PACKAGE_PYTHON_PYSNMP_APPS is not set -# BR2_KERNEL_HEADERS_5_2 is not set -# BR2_TARGET_RISCV_PK is not set -# BR2_PACKAGE_SQLITE_STAT3 is not set -# BR2_KERNEL_HEADERS_5_1 is not set -# BR2_PACKAGE_DEVMEM2 is not set -# BR2_PACKAGE_USTR is not set -# BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE is not set -# BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE is not set -# BR2_PACKAGE_KODI_AUDIODECODER_OPUS is not set -# BR2_PACKAGE_MESA3D_OSMESA is not set -# BR2_PACKAGE_HOSTAPD_DRIVER_RTW is not set -# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW is not set -# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD is not set - -# -# Legacy options removed in 2019.08 -# -# BR2_TARGET_TS4800_MBRBOOT is not set -# BR2_PACKAGE_LIBAMCODEC is not set -# BR2_PACKAGE_ODROID_SCRIPTS is not set -# BR2_PACKAGE_ODROID_MALI is not set -# BR2_PACKAGE_KODI_PLATFORM_AML is not set -# BR2_GCC_VERSION_6_X is not set -# BR2_GCC_VERSION_4_9_X is not set -# BR2_GDB_VERSION_7_12 is not set -# BR2_PACKAGE_XAPP_MKFONTDIR is not set -# BR2_GDB_VERSION_8_0 is not set -# BR2_KERNEL_HEADERS_4_20 is not set -# BR2_KERNEL_HEADERS_5_0 is not set - -# -# Legacy options removed in 2019.05 -# -# BR2_CSKY_DSP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD is not set -# BR2_PACKAGE_LUNIT is not set -# BR2_PACKAGE_FFMPEG_FFSERVER is not set -# BR2_PACKAGE_LIBUMP is not set -# BR2_PACKAGE_SUNXI_MALI is not set -# BR2_BINUTILS_VERSION_2_29_X is not set -# BR2_BINUTILS_VERSION_2_28_X is not set -# BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK is not set - -# -# Legacy options removed in 2019.02 -# -# BR2_PACKAGE_QT is not set -# BR2_PACKAGE_QTUIO is not set -# BR2_PACKAGE_PINENTRY_QT4 is not set -# BR2_PACKAGE_POPPLER_QT is not set -# BR2_PACKAGE_OPENCV3_WITH_QT is not set -# BR2_PACKAGE_OPENCV_WITH_QT is not set -# BR2_PACKAGE_AMD_CATALYST_CCCLE is not set -# BR2_PACKAGE_SDL_QTOPIA is not set -# BR2_PACKAGE_PYTHON_PYQT is not set -# BR2_PACKAGE_LUACRYPTO is not set -# BR2_PACKAGE_TN5250 is not set -# BR2_PACKAGE_BOOST_SIGNALS is not set -# BR2_PACKAGE_FFTW_PRECISION_SINGLE is not set -# BR2_PACKAGE_FFTW_PRECISION_DOUBLE is not set -# BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE is not set -# BR2_PACKAGE_FFTW_PRECISION_QUAD is not set -# BR2_PACKAGE_LUA_5_2 is not set -# BR2_TARGET_GENERIC_PASSWD_MD5 is not set - -# -# Legacy options removed in 2018.11 -# -# BR2_TARGET_XLOADER is not set -# BR2_PACKAGE_TIDSP_BINARIES is not set -# BR2_PACKAGE_DSP_TOOLS is not set -# BR2_PACKAGE_GST_DSP is not set -# BR2_PACKAGE_BOOTUTILS is not set -# BR2_PACKAGE_EXPEDITE is not set -# BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT is not set -# BR2_KERNEL_HEADERS_4_10 is not set -# BR2_KERNEL_HEADERS_4_11 is not set -# BR2_KERNEL_HEADERS_4_12 is not set -# BR2_KERNEL_HEADERS_4_13 is not set -# BR2_KERNEL_HEADERS_4_15 is not set -# BR2_KERNEL_HEADERS_4_17 is not set -# BR2_PACKAGE_LIBNFTNL_XML is not set -# BR2_KERNEL_HEADERS_3_2 is not set -# BR2_KERNEL_HEADERS_4_1 is not set -# BR2_KERNEL_HEADERS_4_16 is not set -# BR2_KERNEL_HEADERS_4_18 is not set - -# -# Legacy options removed in 2018.08 -# -# BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT is not set -# BR2_PACKAGE_XPROTO_APPLEWMPROTO is not set -# BR2_PACKAGE_XPROTO_BIGREQSPROTO is not set -# BR2_PACKAGE_XPROTO_COMPOSITEPROTO is not set -# BR2_PACKAGE_XPROTO_DAMAGEPROTO is not set -# BR2_PACKAGE_XPROTO_DMXPROTO is not set -# BR2_PACKAGE_XPROTO_DRI2PROTO is not set -# BR2_PACKAGE_XPROTO_DRI3PROTO is not set -# BR2_PACKAGE_XPROTO_FIXESPROTO is not set -# BR2_PACKAGE_XPROTO_FONTCACHEPROTO is not set -# BR2_PACKAGE_XPROTO_FONTSPROTO is not set -# BR2_PACKAGE_XPROTO_GLPROTO is not set -# BR2_PACKAGE_XPROTO_INPUTPROTO is not set -# BR2_PACKAGE_XPROTO_KBPROTO is not set -# BR2_PACKAGE_XPROTO_PRESENTPROTO is not set -# BR2_PACKAGE_XPROTO_RANDRPROTO is not set -# BR2_PACKAGE_XPROTO_RECORDPROTO is not set -# BR2_PACKAGE_XPROTO_RENDERPROTO is not set -# BR2_PACKAGE_XPROTO_RESOURCEPROTO is not set -# BR2_PACKAGE_XPROTO_SCRNSAVERPROTO is not set -# BR2_PACKAGE_XPROTO_VIDEOPROTO is not set -# BR2_PACKAGE_XPROTO_WINDOWSWMPROTO is not set -# BR2_PACKAGE_XPROTO_XCMISCPROTO is not set -# BR2_PACKAGE_XPROTO_XEXTPROTO is not set -# BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO is not set -# BR2_PACKAGE_XPROTO_XF86DGAPROTO is not set -# BR2_PACKAGE_XPROTO_XF86DRIPROTO is not set -# BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO is not set -# BR2_PACKAGE_XPROTO_XINERAMAPROTO is not set -# BR2_PACKAGE_XPROTO_XPROTO is not set -# BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 is not set -# BR2_GDB_VERSION_7_11 is not set -# BR2_GDB_VERSION_7_10 is not set - -# -# Legacy options removed in 2018.05 -# -# BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set -# BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set -# BR2_PACKAGE_TI_SGX_AM335X is not set -# BR2_PACKAGE_TI_SGX_AM437X is not set -# BR2_PACKAGE_TI_SGX_AM4430 is not set -# BR2_PACKAGE_TI_SGX_AM5430 is not set -# BR2_PACKAGE_JANUS_AUDIO_BRIDGE is not set -# BR2_PACKAGE_JANUS_ECHO_TEST is not set -# BR2_PACKAGE_JANUS_RECORDPLAY is not set -# BR2_PACKAGE_JANUS_SIP_GATEWAY is not set -# BR2_PACKAGE_JANUS_STREAMING is not set -# BR2_PACKAGE_JANUS_TEXT_ROOM is not set -# BR2_PACKAGE_JANUS_VIDEO_CALL is not set -# BR2_PACKAGE_JANUS_VIDEO_ROOM is not set -# BR2_PACKAGE_JANUS_MQTT is not set -# BR2_PACKAGE_JANUS_RABBITMQ is not set -# BR2_PACKAGE_JANUS_REST is not set -# BR2_PACKAGE_JANUS_UNIX_SOCKETS is not set -# BR2_PACKAGE_JANUS_WEBSOCKETS is not set -# BR2_PACKAGE_IPSEC_SECCTX_DISABLE is not set -# BR2_PACKAGE_IPSEC_SECCTX_ENABLE is not set -# BR2_PACKAGE_IPSEC_SECCTX_KERNEL is not set -# BR2_PACKAGE_LIBTFDI_CPP is not set -# BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_BLITZER is not set -# BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO is not set -# BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV is not set -# BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT is not set -# BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_FLICK is not set -# BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY is not set -# BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG is not set -# BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC is not set -# BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST is not set -# BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER is not set -# BR2_PACKAGE_JQUERY_UI_THEME_REDMOND is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET is not set -# BR2_PACKAGE_JQUERY_UI_THEME_START is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SUNNY is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC is not set -# BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_VADER is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_NFC is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_SAP is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS is not set -# BR2_PACKAGE_TRANSMISSION_REMOTE is not set -# BR2_PACKAGE_LIBKCAPI_APPS is not set -# BR2_PACKAGE_MPLAYER is not set -# BR2_PACKAGE_MPLAYER_MPLAYER is not set -# BR2_PACKAGE_MPLAYER_MENCODER is not set -# BR2_PACKAGE_LIBPLAYER_MPLAYER is not set -# BR2_PACKAGE_IQVLINUX is not set -# BR2_BINFMT_FLAT_SEP_DATA is not set -# BR2_bfin is not set -# BR2_PACKAGE_KODI_ADSP_BASIC is not set -# BR2_PACKAGE_KODI_ADSP_FREESURROUND is not set - -# -# Legacy options removed in 2018.02 -# -# BR2_KERNEL_HEADERS_3_4 is not set -# BR2_KERNEL_HEADERS_3_10 is not set -# BR2_KERNEL_HEADERS_3_12 is not set -# BR2_BINUTILS_VERSION_2_27_X is not set -# BR2_PACKAGE_EEPROG is not set -# BR2_PACKAGE_GNUPG2_GPGV2 is not set -# BR2_PACKAGE_IMX_GPU_VIV_APITRACE is not set -# BR2_PACKAGE_IMX_GPU_VIV_G2D is not set - -# -# Legacy options removed in 2017.11 -# -# BR2_PACKAGE_RFKILL is not set -# BR2_PACKAGE_UTIL_LINUX_RESET is not set -# BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW is not set -# BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND is not set -# BR2_PACKAGE_SEPOLGEN is not set -# BR2_PACKAGE_OPENOBEX_BLUEZ is not set -# BR2_PACKAGE_OPENOBEX_LIBUSB is not set -# BR2_PACKAGE_OPENOBEX_APPS is not set -# BR2_PACKAGE_OPENOBEX_SYSLOG is not set -# BR2_PACKAGE_OPENOBEX_DUMP is not set -# BR2_PACKAGE_AICCU is not set -# BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS is not set - -# -# Legacy options removed in 2017.08 -# -# BR2_TARGET_GRUB is not set -# BR2_PACKAGE_SIMICSFS is not set -# BR2_BINUTILS_VERSION_2_26_X is not set -BR2_XTENSA_OVERLAY_DIR="" -BR2_XTENSA_CUSTOM_NAME="" -# BR2_PACKAGE_HOST_MKE2IMG is not set -BR2_TARGET_ROOTFS_EXT2_BLOCKS=0 -BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0 -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD is not set -# BR2_STRIP_none is not set -# BR2_PACKAGE_BEECRYPT_CPP is not set -# BR2_PACKAGE_SPICE_CLIENT is not set -# BR2_PACKAGE_SPICE_GUI is not set -# BR2_PACKAGE_SPICE_TUNNEL is not set -# BR2_PACKAGE_INPUT_TOOLS is not set -# BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH is not set -# BR2_PACKAGE_INPUT_TOOLS_JSCAL is not set -# BR2_PACKAGE_INPUT_TOOLS_JSTEST is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 is not set -# BR2_GCC_VERSION_4_8_X is not set - -# -# Legacy options removed in 2017.05 -# -# BR2_PACKAGE_SUNXI_MALI_R2P4 is not set -# BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT is not set -# BR2_PACKAGE_NODEJS_MODULES_EXPRESS is not set -# BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL is not set -# BR2_PACKAGE_OPENOCD_FT2XXX is not set -# BR2_PACKAGE_KODI_RTMPDUMP is not set -# BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN is not set -# BR2_PACKAGE_PORTMAP is not set -# BR2_BINUTILS_VERSION_2_25_X is not set -# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set -BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0 -# BR2_PACKAGE_SYSTEMD_KDBUS is not set -# BR2_PACKAGE_POLARSSL is not set -# BR2_NBD_CLIENT is not set -# BR2_NBD_SERVER is not set -# BR2_PACKAGE_GMOCK is not set -# BR2_KERNEL_HEADERS_4_8 is not set -# BR2_KERNEL_HEADERS_3_18 is not set -# BR2_GLIBC_VERSION_2_22 is not set - -# -# Legacy options removed in 2017.02 -# -# BR2_PACKAGE_PERL_DB_FILE is not set -# BR2_KERNEL_HEADERS_4_7 is not set -# BR2_KERNEL_HEADERS_4_6 is not set -# BR2_KERNEL_HEADERS_4_5 is not set -# BR2_KERNEL_HEADERS_3_14 is not set -# BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS is not set -# BR2_UCLIBC_INSTALL_TEST_SUITE is not set -# BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX is not set -# BR2_PACKAGE_MAKEDEVS is not set -# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A is not set -# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE is not set -# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set -# BR2_PACKAGE_SNOWBALL_INIT is not set -# BR2_GDB_VERSION_7_9 is not set - -# -# Legacy options removed in 2016.11 -# -# BR2_PACKAGE_PHP_SAPI_CLI_CGI is not set -# BR2_PACKAGE_PHP_SAPI_CLI_FPM is not set -# BR2_PACKAGE_WVSTREAMS is not set -# BR2_PACKAGE_WVDIAL is not set -# BR2_PACKAGE_WEBKITGTK24 is not set -# BR2_PACKAGE_TORSMO is not set -# BR2_PACKAGE_SSTRIP is not set -# BR2_KERNEL_HEADERS_4_3 is not set -# BR2_KERNEL_HEADERS_4_2 is not set -# BR2_PACKAGE_KODI_ADDON_XVDR is not set -# BR2_PACKAGE_IPKG is not set -# BR2_GCC_VERSION_4_7_X is not set -# BR2_BINUTILS_VERSION_2_24_X is not set -# BR2_PACKAGE_WESTON_RPI is not set -# BR2_LINUX_KERNEL_TOOL_CPUPOWER is not set -# BR2_LINUX_KERNEL_TOOL_PERF is not set -# BR2_LINUX_KERNEL_TOOL_SELFTESTS is not set -# BR2_GCC_VERSION_4_8_ARC is not set -# BR2_KERNEL_HEADERS_4_0 is not set -# BR2_KERNEL_HEADERS_3_19 is not set -# BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS is not set -# BR2_PACKAGE_ELEMENTARY is not set -# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set - -# -# Legacy options removed in 2016.08 -# -# BR2_PACKAGE_EFL_JP2K is not set -# BR2_PACKAGE_SYSTEMD_COMPAT is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER is not set -# BR2_PACKAGE_LIBFSLVPUWRAP is not set -# BR2_PACKAGE_LIBFSLPARSER is not set -# BR2_PACKAGE_LIBFSLCODEC is not set -# BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT is not set -# BR2_PTHREADS_OLD is not set -# BR2_BINUTILS_VERSION_2_23_X is not set -# BR2_TOOLCHAIN_BUILDROOT_EGLIBC is not set -# BR2_GDB_VERSION_7_8 is not set - -# -# Legacy options removed in 2016.05 -# -# BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL is not set -# BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 is not set -# BR2_x86_i386 is not set -# BR2_PACKAGE_QT5QUICK1 is not set -BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" -# BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID is not set -# BR2_KERNEL_HEADERS_3_17 is not set -# BR2_GDB_VERSION_7_7 is not set -# BR2_PACKAGE_FOOMATIC_FILTERS is not set -# BR2_PACKAGE_SAMBA is not set -# BR2_PACKAGE_KODI_WAVPACK is not set -# BR2_PACKAGE_KODI_RSXS is not set -# BR2_PACKAGE_KODI_GOOM is not set -# BR2_PACKAGE_SYSTEMD_ALL_EXTRAS is not set -# BR2_GCC_VERSION_4_5_X is not set -# BR2_PACKAGE_SQLITE_READLINE is not set - -# -# Legacy options removed in 2016.02 -# -# BR2_PACKAGE_DOVECOT_BZIP2 is not set -# BR2_PACKAGE_DOVECOT_ZLIB is not set -# BR2_PACKAGE_E2FSPROGS_FINDFS is not set -# BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL is not set -# BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is not set -# BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is not set -# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set -# BR2_PACKAGE_CUPS_PDFTOPS is not set -# BR2_KERNEL_HEADERS_3_16 is not set -# BR2_PACKAGE_PYTHON_PYXML is not set -# BR2_ENABLE_SSP is not set -# BR2_PACKAGE_DIRECTFB_CLE266 is not set -# BR2_PACKAGE_DIRECTFB_UNICHROME is not set -# BR2_PACKAGE_LIBELEMENTARY is not set -# BR2_PACKAGE_LIBEINA is not set -# BR2_PACKAGE_LIBEET is not set -# BR2_PACKAGE_LIBEVAS is not set -# BR2_PACKAGE_LIBECORE is not set -# BR2_PACKAGE_LIBEDBUS is not set -# BR2_PACKAGE_LIBEFREET is not set -# BR2_PACKAGE_LIBEIO is not set -# BR2_PACKAGE_LIBEMBRYO is not set -# BR2_PACKAGE_LIBEDJE is not set -# BR2_PACKAGE_LIBETHUMB is not set -# BR2_PACKAGE_INFOZIP is not set -# BR2_BR2_PACKAGE_NODEJS_0_10_X is not set -# BR2_BR2_PACKAGE_NODEJS_0_12_X is not set -# BR2_BR2_PACKAGE_NODEJS_4_X is not set - -# -# Legacy options removed in 2015.11 -# -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set -# BR2_PACKAGE_MEDIA_CTL is not set -# BR2_PACKAGE_SCHIFRA is not set -# BR2_PACKAGE_ZXING is not set -# BR2_PACKAGE_BLACKBOX is not set -# BR2_KERNEL_HEADERS_3_0 is not set -# BR2_KERNEL_HEADERS_3_11 is not set -# BR2_KERNEL_HEADERS_3_13 is not set -# BR2_KERNEL_HEADERS_3_15 is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set -# BR2_PACKAGE_KOBS_NG is not set -# BR2_PACKAGE_SAWMAN is not set -# BR2_PACKAGE_DIVINE is not set - -# -# Legacy options removed in 2015.08 -# -# BR2_PACKAGE_KODI_PVR_ADDONS is not set -# BR2_BINUTILS_VERSION_2_23_2 is not set -# BR2_BINUTILS_VERSION_2_24 is not set -# BR2_BINUTILS_VERSION_2_25 is not set -# BR2_PACKAGE_PERF is not set -# BR2_BINUTILS_VERSION_2_22 is not set -# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set -# BR2_TARGET_UBOOT_NETWORK is not set diff --git a/configs/sipeed_licheepi_nano_defconfig b/configs/sipeed_licheepi_nano_defconfig new file mode 100644 index 0000000000..8be26165d9 --- /dev/null +++ b/configs/sipeed_licheepi_nano_defconfig @@ -0,0 +1,45 @@ +# 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" + +# 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/licheepi_zero_defconfig b/configs/sipeed_licheepi_zero_defconfig similarity index 90% rename from configs/licheepi_zero_defconfig rename to configs/sipeed_licheepi_zero_defconfig index 0d3115a996..1fa76923c8 100644 --- a/configs/licheepi_zero_defconfig +++ b/configs/sipeed_licheepi_zero_defconfig @@ -12,7 +12,7 @@ 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" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/licheepi_zero/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y @@ -45,7 +45,7 @@ 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" +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 diff --git a/configs/sipeed_maix_bit_defconfig b/configs/sipeed_maix_bit_defconfig index d73ba0266a..e45996879a 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 0cfff26337..7e293e5a49 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 @@ -31,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 ccb563310e..0352382fcd 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 db075360cc..20658813ba 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 @@ -31,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 c3bcf98f81..27272dac4c 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 2bea0b97be..1bc12dd058 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 @@ -31,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 a30596af92..3e04ea3a04 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 db7896fadf..253ee7d7cf 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 @@ -31,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 0000000000..3964924bed --- /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/stm32f429_disco_xip_defconfig b/configs/stm32f429_disco_xip_defconfig index d4e000487a..99ae8cc753 100644 --- a/configs/stm32f429_disco_xip_defconfig +++ b/configs/stm32f429_disco_xip_defconfig @@ -13,7 +13,6 @@ 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 diff --git a/configs/stm32f469_disco_sd_defconfig b/configs/stm32f469_disco_sd_defconfig index 8b10bc6741..66840a7742 100644 --- a/configs/stm32f469_disco_sd_defconfig +++ b/configs/stm32f469_disco_sd_defconfig @@ -13,7 +13,6 @@ 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 diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig index e362a99851..6e6ead0fde 100644 --- a/configs/stm32f469_disco_xip_defconfig +++ b/configs/stm32f469_disco_xip_defconfig @@ -13,7 +13,6 @@ 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 diff --git a/configs/stm32f769_disco_sd_defconfig b/configs/stm32f769_disco_sd_defconfig index 2ae27fb2d8..725c985ec0 100644 --- a/configs/stm32f769_disco_sd_defconfig +++ b/configs/stm32f769_disco_sd_defconfig @@ -13,7 +13,6 @@ 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_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_SIZE="32M" diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig index ecaace54b8..aed6cfad34 100644 --- a/configs/stm32mp157a_dk1_defconfig +++ b/configs/stm32mp157a_dk1_defconfig @@ -27,11 +27,14 @@ 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 @@ -39,9 +42,11 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y 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 cf2433d67e..c48705b2fb 100644 --- a/configs/stm32mp157c_dk2_defconfig +++ b/configs/stm32mp157c_dk2_defconfig @@ -27,11 +27,14 @@ 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 @@ -39,9 +42,11 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y 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 15b9a63b39..2d3600410a 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 diff --git a/configs/ti_am62x_sk_defconfig b/configs/ti_am62x_sk_defconfig new file mode 100644 index 0000000000..a129e216d2 --- /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 0000000000..26195194c7 --- /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 40a2d2d520..e447190e0c 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 fab41a2991..8561b6641a 100644 --- a/configs/versal_vck190_defconfig +++ b/configs/versal_vck190_defconfig @@ -1,13 +1,13 @@ BR2_aarch64=y BR2_cortex_a72=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/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 @@ -16,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 @@ -24,16 +24,16 @@ 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="2022.2_br_1" +BR2_PACKAGE_VERSAL_FIRMWARE_VERSION="xilinx_v2023.2" BR2_PACKAGE_VERSAL_FIRMWARE_BOARD="vck190" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/visionfive2_defconfig b/configs/visionfive2_defconfig index dc086953a0..3a1a4f527c 100644 --- a/configs/visionfive2_defconfig +++ b/configs/visionfive2_defconfig @@ -3,7 +3,7 @@ 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/visionfive/genimage.cfg" +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" diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig index 0966719d48..522173b8ed 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,7 +23,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.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="wandboard" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y @@ -32,10 +32,10 @@ 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 04dfc94f7d..7389919396 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 346738f665..d598a46c39 100644 --- a/configs/zynq_microzed_defconfig +++ b/configs/zynq_microzed_defconfig @@ -7,7 +7,7 @@ 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.1)/xlnx_rebase_v6.1_LTS_2023.1.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,7 +19,7 @@ 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.1)/xlnx_rebase_v2023.01_2023.1.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 diff --git a/configs/zynq_qmtech_defconfig b/configs/zynq_zc702_defconfig similarity index 65% rename from configs/zynq_qmtech_defconfig rename to configs/zynq_zc702_defconfig index f536b80f57..e85285a832 100644 --- a/configs/zynq_qmtech_defconfig +++ b/configs/zynq_zc702_defconfig @@ -2,29 +2,29 @@ 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_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,xilinx-v2019.2.01)/linux-xilinx-v2019.2.01.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" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-qmtech" +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,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_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" diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig index 55e4d8ea23..3489f864e1 100644 --- a/configs/zynq_zc706_defconfig +++ b/configs/zynq_zc706_defconfig @@ -7,7 +7,7 @@ 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.1)/xlnx_rebase_v6.1_LTS_2023.1.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,7 +19,7 @@ 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.1)/xlnx_rebase_v2023.01_2023.1.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 diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig index dc167e3bc1..a3a94687f5 100644 --- a/configs/zynq_zed_defconfig +++ b/configs/zynq_zed_defconfig @@ -7,7 +7,7 @@ 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.1)/xlnx_rebase_v6.1_LTS_2023.1.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,7 +19,7 @@ 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.1)/xlnx_rebase_v2023.01_2023.1.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 diff --git a/configs/zynqmp_kria_kd240_defconfig b/configs/zynqmp_kria_kd240_defconfig new file mode 100644 index 0000000000..78302a48c0 --- /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 0000000000..2089c3f355 --- /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 8ceaa6983d..a3a157267c 100644 --- a/configs/zynqmp_kria_kv260_defconfig +++ b/configs/zynqmp_kria_kv260_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 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/zynqmp-smk-k26-revA-sck-kv-g-revB" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -15,27 +15,28 @@ 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/Xilinx/ubuntu-firmware/raw/2022.2_br_1/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/kria/patches board/zynqmp/patches" +BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches" diff --git a/configs/zynqmp_zcu102_defconfig b/configs/zynqmp_zcu102_defconfig index f4789b9d88..c920093d8d 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,21 +15,22 @@ 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/Xilinx/ubuntu-firmware/raw/2022.2_br_1/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 diff --git a/configs/zynqmp_zcu104_defconfig b/configs/zynqmp_zcu104_defconfig new file mode 100644 index 0000000000..452f2343c8 --- /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 516f1143ce..011c7f0fae 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,21 +15,22 @@ 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/Xilinx/ubuntu-firmware/raw/2022.2_br_1/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 diff --git a/diff_result.txt b/diff_result.txt deleted file mode 100644 index 976d0ba446..0000000000 --- a/diff_result.txt +++ /dev/null @@ -1,35031 +0,0 @@ -diff --git a/.gitlab-ci.yml.in b/.gitlab-ci.yml.in -deleted file mode 100644 -index 7e6a7598ae..0000000000 ---- a/.gitlab-ci.yml.in -+++ /dev/null -@@ -1,118 +0,0 @@ --# Configuration for Gitlab-CI. --# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines --# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in. --# It needs to be regenerated every time a defconfig is added, using --# "make .gitlab-ci.yml". -- --image: buildroot/base:20191027.2027 -- --.check_base: -- except: -- - /^.*-.*_defconfig$/ -- - /^.*-tests\..*$/ -- --check-DEVELOPERS: -- extends: .check_base -- # get-developers should print just "No action specified"; if it prints -- # anything else, it's a parse error. -- # The initial ! is removed by YAML so we need to quote it. -- script: -- - "! utils/get-developers | grep -v 'No action specified'" -- --check-flake8: -- extends: .check_base -- before_script: -- # Help flake8 to find the Python files without .py extension. -- - find * -type f -name '*.py' > files.txt -- - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt -- - sort -u files.txt | tee files.processed -- script: -- - python -m flake8 --statistics --count --max-line-length=132 $(cat files.processed) -- after_script: -- - wc -l files.processed -- --check-gitlab-ci.yml: -- extends: .check_base -- script: -- - mv .gitlab-ci.yml .gitlab-ci.yml.orig -- - make .gitlab-ci.yml -- - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml -- --check-package: -- extends: .check_base -- script: -- - make check-package -- --.defconfig_base: -- script: -- - echo "Configure Buildroot for ${DEFCONFIG_NAME}" -- - make ${DEFCONFIG_NAME} -- - echo 'Build buildroot' -- - | -- make > >(tee build.log |grep '>>>') 2>&1 || { -- echo 'Failed build last output' -- tail -200 build.log -- exit 1 -- } -- artifacts: -- when: always -- expire_in: 2 weeks -- paths: -- - .config -- - build.log -- - output/images/ -- - output/build/build-time.log -- - output/build/packages-file-list.txt -- - output/build/*/.config -- --.defconfig: -- extends: .defconfig_base -- # Running the defconfigs for every push is too much, so limit to -- # explicit triggers through the API. -- only: -- - triggers -- - tags -- - /-defconfigs$/ -- before_script: -- - DEFCONFIG_NAME=${CI_JOB_NAME} -- --one-defconfig: -- extends: .defconfig_base -- only: -- - /^.*-.*_defconfig$/ -- before_script: -- - DEFCONFIG_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g') -- --.runtime_test_base: -- # 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: -- - echo "Starting runtime test ${TEST_CASE_NAME}" -- - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME} -- artifacts: -- when: always -- expire_in: 2 weeks -- paths: -- - test-output/*.log -- - test-output/*/.config -- - test-output/*/images/* -- --.runtime_test: -- extends: .runtime_test_base -- # Running the runtime tests for every push is too much, so limit to -- # explicit triggers through the API. -- only: -- - triggers -- - tags -- - /-runtime-tests$/ -- before_script: -- - TEST_CASE_NAME=${CI_JOB_NAME} -- --one-runtime_test: -- extends: .runtime_test_base -- only: -- - /^.*-tests\..*$/ -- before_script: -- - TEST_CASE_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g') -diff --git a/README.md b/README.md -index 9622468d86..88fe6ee116 100644 ---- a/README.md -+++ b/README.md -@@ -1,7 +1,7 @@ - -
-

-- -+ - Logo - -

-@@ -15,19 +15,17 @@ - ## For all Intel and compatible 64 bit processors - - #### For the 32 bit version of ShredOS that will run on both 32bit and 64bit processors, see [ShredOS i686](https://github.com/PartialVolume/shredos.i686) --[![](https://img.shields.io/github/downloads/PartialVolume/shredos.x86_64/total?label=Total%20downloads%20x86_64%20all%20releases&style=plastic)](https://github.com/PartialVolume/shredos.x86_64/releases) --[![](https://img.shields.io/github/downloads/PartialVolume/shredos.i686/total?label=Total%20downloads%20i686%20all%20releases&style=plastic)](https://github.com/PartialVolume/shredos.i686/releases) -+ -+[![](https://img.shields.io/github/downloads/PartialVolume/shredos.2020.02/total?label=Total%20downloads%20x86_64%20all%20releases&style=plastic)](https://github.com/PartialVolume/shredos.2020.02/releases) [![](https://img.shields.io/github/downloads/PartialVolume/shredos.i686/total?label=Total%20downloads%20i686%20all%20releases&style=plastic)](https://github.com/PartialVolume/shredos.i686/releases) - - ## Download .img and .iso files for burning to USB flash drives and CD-R/DVD-R - --| Latest ShredOS Version | Nwipe Version | Number of Downloads | .img for USB Flash | .iso for CD-R/DVD-R | -+| ShredOS Version | Nwipe Version | Number of Downloads | .img for USB Flash | .iso for CD-R/DVD-R | - | ---------| ---------|---------|------------|-------------| --| [v2021.08.2_20_x86-64_0.32.014](https://github.com/PartialVolume/shredos.x86_64/releases/tag/v2021.08.2_20_x86-64_0.32.014) | v0.32.014 | [![](https://img.shields.io/github/downloads/PartialVolume/shredos.x86_64/latest/total.svg "Latest x86_64 64 bit version")](https://github.com/PartialVolume/shredos.x86_64/releases/latest) | [.img 64bit](https://github.com/PartialVolume/shredos.x86_64/releases/download/v2021.08.2_20_x86-64_0.32.014/shredos-2021.08.2_20_x86-64_0.32.014_20211129.img) | [.iso 64bit](https://github.com/PartialVolume/shredos.x86_64/releases/download/v2021.08.2_20_x86-64_0.32.014/shredos-2021.08.2_20_x86-64_0.32.014_20211130.iso) | --| [v2020.02.008_i686-0.30.001](https://github.com/PartialVolume/shredos.i686/releases/tag/v2020.02.008_i686-0.30.001) | v0.30.001 | [![](https://img.shields.io/github/downloads/PartialVolume/shredos.i686/latest/total.svg "Latest i686 32 bit version")](https://github.com/PartialVolume/shredos.i686/releases/latest) | [.img 32bit](https://github.com/PartialVolume/shredos.i686/releases/download/v2020.02.008_i686-0.30.001/shredos-2020.05.008_i686_0.30.001_20210127.img) | Not available yet | -+| Latest x86_64 64 bit version | v0.32.003 | [![](https://img.shields.io/github/downloads/PartialVolume/shredos.x86_64/latest/total.svg "Latest x86_64 64 bit version")](https://github.com/PartialVolume/shredos.2020.02/releases/latest) | [.img 64bit](https://github.com/PartialVolume/shredos.x86_64/releases/download/v2020.05.017_x86-64_0.32.003/shredos-2020.05.017_x86-64_0.32.003_20211111.img) | [.iso 64bit](https://github.com/PartialVolume/shredos.x86_64/releases/download/v2020.05.017_x86-64_0.32.003/shredos-2020.05.017_x86-64_0.32.003_20211112.iso) | -+| Latest i686 32 bit version | v0.30.001 | [![](https://img.shields.io/github/downloads/PartialVolume/shredos.i686/latest/total.svg "Latest i686 32 bit version")](https://github.com/PartialVolume/shredos.i686/releases/latest) | [.img 32bit](https://github.com/PartialVolume/shredos.i686/releases/download/v2020.02.008_i686-0.30.001/shredos-2020.05.008_i686_0.30.001_20210127.img) | Not available yet | - - Note: The .img files for burning to USB flash drives support both bios/UEFI booting. The .iso image currently supports legacy bios booting only and not UEFI, however, a bios/UEFI version of the .iso is in development and will be released shortly. -- --### [Older releases](https://github.com/PartialVolume/shredos.x86_64/blob/main/README.md#older-releases) of Shredos based on past versions of buildroot & the Linux kernel. - - #### Demo video showing ShredOS having booted straight into Nwipe where you can then select one or more drives to be erased. - -@@ -47,14 +45,12 @@ Note: The .img files for burning to USB flash drives support both bios/UEFI boot - 1. [Reading and saving nwipes log files - via USB (manually) or ftp (manually & automatically)](https://github.com/PartialVolume/shredos.x86_64/blob/master/README.md#reading-and-saving-nwipes-log-files---via-usb-manually-or-ftp-manually--automatically) - 1. [Transferring nwipe log files to a USB storage device](https://github.com/PartialVolume/shredos.x86_64#transferring-nwipe-log-files-to-a-usb-storage-device) - 1. [Transferring nwipe log files to a ftp server](https://github.com/PartialVolume/shredos.x86_64#transferring-nwipe-log-files-to-a-ftp-server) --1. [How to wipe drives on headless systems or systems with faulty display hardware. (For use on secure LANs only)](https://github.com/PartialVolume/shredos.2021.08.2_19-1/blob/main/README.md#how-to-wipe-drives-on-headless-systems-or-systems-with-faulty-display-hardware-for-use-on-secure-lans-only) - 1. [The latest ShredOS now includes the following](https://github.com/PartialVolume/shredos.2020.02/blob/master/README.md#the-latest-shredos-now-includes-the-following) - 1. [smartmontools](https://github.com/PartialVolume/shredos.2020.02/blob/master/README.md#smartmontools) - 1. [hexedit](https://github.com/PartialVolume/shredos.2020.02/blob/master/README.md#hexedit) - 1. [hdparm](https://github.com/PartialVolume/shredos.2020.02/blob/master/README.md#hdparm) - 1. [Compiling shredos and burning to USB stick, the harder way!](https://github.com/PartialVolume/shredos.2020.02/blob/master/README.md#compiling-shredos-and-burning-to-usb-stick-the-harder-way-) - 1. [Shredos is based on buildroot](https://github.com/PartialVolume/shredos.2020.02/blob/master/README.md#shredos-is-based-on-buildroot) --1. [Older Releases](https://github.com/PartialVolume/shredos.2021.08.2_19-1/blob/main/README.md#earlier-releases) - - ## What is ShredOS? - ShredOS is a USB bootable (BIOS or UEFI) small linux distribution with the sole purpose of securely erasing the entire contents of your -@@ -62,10 +58,6 @@ disks using the program [nwipe](https://github.com/martijnvanbrummelen/nwipe). I - - ShredOS supports either 32bit or 64bit processors. You will need to download the appropriate 64bit or 32bit .img or .iso file, depending upon your target processor and whether you want to burn ShredOS to a USB memory stick, in which case you would download the .img file. Alternatively, if you wanted to burn ShredOS to CD/DVD, then you would download the .iso file. - --ShredOS can be used as a software image and booted from PXE capable systems from a PXE server. -- --You can also use shredos on headless systems or systems with faulty display hardware as it includes a user enabled telnet server. Further details can be found here. [How to wipe drives on headless systems or systems with faulty or missing display hardware or keyboards](https://github.com/PartialVolume/shredos.x86_64#how-to-wipe-drives-on-headless-systems-or-systems-with-faulty-display-hardware-for-use-on-secure-lans-only) -- - ShredOS includes the latest Nwipe official release, but in addition includes other disc related utilities such as Smartmontools, hdparm, a hexeditor [hexedit](https://linux.die.net/man/1/hexedit), and, the program loadkeys which can be used for [setting the keyboard layout](https://github.com/PartialVolume/shredos.2020.02/blob/master/README.md#how-to-set-the-keyboard-map-using-the-loadkeys-command-see-here-for-persistent-change-between-reboots). Nwipe automatically starts it's GUI in the first virtual terminal (ALT-F1), hdparm, smartmontools and hexeditor can be run in the second virtual terminal, (ALT-F2). Nwipe will erase drives using a user selectable choice of seven methods. hdparm - amongst many of its options - can be used for wiping a drive by [issueing ATA erase commands to the drive's internal firmware](https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase). This is a planned feature addition to nwipe. - - ShredOS boots very quickly and depending upon the host system can boot in as little as 2 seconds (typically 4 to 6 seconds) on modern hardware, while on an old Pentium4 may take 40+ seconds. Nwipe automatically starts in GUI mode and will list the disks present on the host system. In fact, Nwipe can launch so fast that the USB devices have not yet initialised so the first time nwipe appears it may not show any USB drives. If you then use Control-C to exit and restart nwipe, you should now see any attached USB devices. You can then select the methods by which you want to securely erase the disk/s. Nwipe is able to simultanuosly wipe multiple disks using a threaded software architecture. I have simultaneously wiped 28 loop devices in tests and know of instances where it's been used to wipe upwards of 10 drives on a system. -@@ -96,7 +88,9 @@ Nwipe also includes the following pseudo random number generators: - - You can of course compile shredos from source but that can take a long time and you can run into all sorts of problems if your not familiar with compiling an operating system. So if you just want to get started with using shredos and nwipe then just download the shredos image file and write it to a USB flash drive. Please note this will over write the existing contents of your USB flash drive. - --Download the latest shredos for either 32bit, 64bit, .img or .iso from [here](https://github.com/PartialVolume/shredos.x86_64#download-img-and-iso-files-for-burning-to-usb-flash-drives-and-cd-rdvd-r) -+Download shredos for 64 bit processors from [here](https://github.com/PartialVolume/shredos.x86_64/releases/download/v2020.05.018_x86-64_0.32.014/shredos-2020.05.018_x86-64_0.32.014_20211118.img) -+ -+Download shredos for 32 bit processors (also runs on 64 bit processors) from [here](https://github.com/PartialVolume/shredos.i686/releases/download/v2020.02.005_i686-0.30.001/shredos-20210106.img) - - #### Linux (and MAC) users - -@@ -186,7 +180,7 @@ menuentry "shredos" { - } - ``` - --For reference and as of nwipe version 0.32.014, listed below are all the options that you can use with nwipe and can place on the kernel command line in grub.cfg as described in the examples above. -+For reference and as of nwipe version 0.32, listed below are all the options that you can use with nwipe and can place on the kernel command line in grub.cfg as described in the examples above. - ``` - Usage: nwipe [options] [device1] [device2] ... - Options: -@@ -230,16 +224,12 @@ Options: - zero / quick - Overwrite with zeros - one - Overwrite with ones (0xFF) - verify_zero - Verifies disk is zero filled -- - verify_one - Verifies disk is 0xFF filled - - -l, --logfile=FILE Filename to log to. Default is STDOUT - - -p, --prng=METHOD PRNG option (mersenne|twister|isaac) - -- -q, --quiet Anonymize logs/GUI by removing serial numbers -- XXXXXX = S/N exists, ????? = S/N not obtainable -- - -r, --rounds=NUM Number of times to wipe the device using the selected - method (default: 1) - -@@ -370,60 +360,6 @@ chroot_list_enable=NO - secure_chroot_dir=/home/yournewftpuser/ftpdata - ``` - Disclaimer: The above settings should get you going but may or may not be ideal for your local situation. Refer to the vsftp website and forums if things aren't working as they should. The lftp application that Shredos uses, should also work with any Microsoft Windows based ftp server, as well as Linux and MAC based systems. -- --## How to wipe drives on headless systems or systems with faulty display hardware. (For use on secure LANs only) --ShredOS includes a user enabled telnet server. The downloadable .img images are supplied with telnet disabled as default. -- --To enable the telnet server, edit /boot/grub/grub.cfg or/and /EFI/BOOT/grub.cfg and on the USB flash drive, add `telnetd=enable` to the kernel command line. -- --Example: --``` --set default="0" --set timeout="0" -- --menuentry "shredos" { -- linux /boot/shredos console=tty3 loglevel=3 telnetd=enable --} --``` -- --Assuming the headless systems are configured to boot via USB and if UEFI that secure boot is disabled, just plug a USB stick containing ShredOS v2021.08.2_20_0.32.014 or higher into the system. Power cycle the system and then after giving ShredOS sufficient time to boot (4 to 60 seconds depending on the hardware) you can then, from another PC/laptop on the same network, use nmap as shown below to list all IP addresses that have open telnet ports on your local LAN: -- --``` --nmap -p23 192.168.1.0/24 --open --$ nmap -p23 192.168.1.0/24 --open --Starting Nmap 7.80 ( https://nmap.org ) at 2021-11-29 20:54 GMT --Nmap scan report for 192.168.1.30 --Host is up (0.071s latency). -- --PORT STATE SERVICE --23/tcp open telnet -- --Nmap scan report for 192.168.1.100 --Host is up (0.050s latency). -- --PORT STATE SERVICE --23/tcp open telnet -- --Nmap done: 256 IP addresses (19 hosts up) scanned in 14.53 seconds -- --``` -- --Telnet into the appropriate IP address `telnet 192.168.1.100`. Shredos will respond with: -- --``` --telnet 192.168.1.100 --Trying 192.168.1.100... --Connected to 192.168.1.100. --Escape character is '^]'. -- --shredos login: root -- { no password } -- --sh-5.1# nwipe --``` --Type `nwipe` as shown above and the nwipe GUI will be displayed and you can proceed with wiping the discs. On some terminals, i.e retro, nwipe doesn't display properly. If you find this then use a different terminal to launch nwipe. Terminals that do work ok are KDE's Konsole, terminator, guake, tmux, xfce terminal and xterm. Terminals that don't seem to work properly via a telnet session with nwipe are cool retro term and qterminal. Putty works but doesn't have the correct box characters but is usable. Putty may work perfectly if you can set the correct character encoding. These are my observations using KDE Neon, they may differ on your systems. If you find a workaround for those terminals that don't display nwipe perfectly over telnet, then please let me know. -- --**WARNING:** Due to the insecure nature of telnet as opposed to ssh, it goes without saying that this method of accessing shredos & nwipe should only be carried out on a trusted local area network and never over the internet unless via a VPN or SSH tunnel. ssh access may be provided at a future date if it's requested. - - ## ShredOS includes the following related programs - -@@ -481,4 +417,3 @@ You can also find us on #buildroot on Freenode IRC. - - If you would like to contribute patches, please read - https://buildroot.org/manual.html#submitting-patches -- -diff --git a/board/shredos/README.txt b/board/shredos/README.txt -index 572d5ac2cd..1ddc2a8a80 100644 ---- a/board/shredos/README.txt -+++ b/board/shredos/README.txt -@@ -1,9 +1,9 @@ --ShredOS is a USB bootable (BIOS or UEFI) small linux distribution with the sole purpose of securely erasing the entire contents of your disks using the program nwipe -- --https://github.com/PartialVolume/shredos.2020.02 --https://github.com/PartialVolume/shredos.i686 --https://github.com/PartialVolume/shredos.x86_64 -- --!!! THIS MEDIUM CAN IRREVERSIBLY AND SECURELY DESTROY YOUR HARD DRIVE DATA !!! -- --!!!! USE IF YOU KNOW WHAT YOU ARE DOING AND AT YOUR OWN RISK !!!! -+ShredOS is a USB bootable (BIOS or UEFI) small linux distribution with the sole purpose of securely erasing the entire contents of your disks using the program nwipe -+ -+https://github.com/PartialVolume/shredos.2020.02 -+https://github.com/PartialVolume/shredos.i686 -+https://github.com/PartialVolume/shredos.x86_64 -+ -+!!! THIS MEDIUM CAN IRREVERSIBLY AND SECURELY DESTROY YOUR HARD DRIVE DATA !!! -+ -+!!!! USE IF YOU KNOW WHAT YOU ARE DOING AND AT YOUR OWN RISK !!!! -diff --git a/board/shredos/autorun.inf b/board/shredos/autorun.inf -index 027a594bd6..bc56810651 100644 ---- a/board/shredos/autorun.inf -+++ b/board/shredos/autorun.inf -@@ -1,3 +1,3 @@ --[autorun] --icon=shredos.ico -+[autorun] -+icon=shredos.ico - label=ShredOS - DANGER -\ No newline at end of file -diff --git a/board/shredos/bootx64.efi.original b/board/shredos/bootx64.efi.original -deleted file mode 100755 -index c2d8188c91..0000000000 -Binary files a/board/shredos/bootx64.efi.original and /dev/null differ -diff --git a/board/shredos/bootx64.efi.recent.build.without.efigop.efiuga b/board/shredos/bootx64.efi.recent.build.without.efigop.efiuga -deleted file mode 100755 -index 50ba159f48..0000000000 -Binary files a/board/shredos/bootx64.efi.recent.build.without.efigop.efiuga and /dev/null differ -diff --git a/board/shredos/kernel-5.13-defconfig.config b/board/shredos/kernel-5.13-defconfig.config -index 2f000bebe9..d7ab7e7a14 100644 ---- a/board/shredos/kernel-5.13-defconfig.config -+++ b/board/shredos/kernel-5.13-defconfig.config -@@ -33,13 +33,11 @@ CONFIG_EFI=y - CONFIG_EFI_STUB=y - CONFIG_EFI_MIXED=y - CONFIG_PM_WAKELOCKS=y --CONFIG_ACPI_VIDEO=y - CONFIG_CPU_IDLE_GOV_LADDER=y - CONFIG_X86_SYSFB=y - CONFIG_IA32_EMULATION=y - CONFIG_X86_X32=y - CONFIG_GOOGLE_FIRMWARE=y --# CONFIG_COMPAT_32BIT_TIME is not set - # CONFIG_GCC_PLUGINS is not set - CONFIG_MODULES=y - CONFIG_MODULE_UNLOAD=y -@@ -630,6 +628,14 @@ CONFIG_AGP_SIS=y - CONFIG_AGP_VIA=y - CONFIG_VGA_SWITCHEROO=y - CONFIG_DRM=y -+# CONFIG_DRM_I2C_CH7006 is not set -+# CONFIG_DRM_I2C_SIL164 is not set -+CONFIG_DRM_RADEON=y -+CONFIG_DRM_AMDGPU=y -+CONFIG_DRM_NOUVEAU=y -+CONFIG_DRM_I915=y -+CONFIG_DRM_GMA500=y -+CONFIG_DRM_UDL=y - CONFIG_DRM_ANALOGIX_ANX78XX=y - CONFIG_FIRMWARE_EDID=y - CONFIG_FB_TILEBLITTING=y -@@ -638,6 +644,8 @@ CONFIG_FB_VESA=y - CONFIG_FB_EFI=y - CONFIG_FB_SIMPLE=y - CONFIG_LCD_CLASS_DEVICE=y -+CONFIG_LCD_L4F00242T03=y -+CONFIG_LCD_LMS283GF05=y - CONFIG_LCD_LTV350QV=y - CONFIG_LCD_ILI922X=y - CONFIG_LCD_TDO24M=y -@@ -647,7 +655,7 @@ CONFIG_LCD_AMS369FG06=y - CONFIG_LCD_LMS501KF03=y - CONFIG_LCD_HX8357=y - CONFIG_LCD_OTM3225A=y --CONFIG_BACKLIGHT_CLASS_DEVICE=y -+CONFIG_BACKLIGHT_KTD253=y - CONFIG_BACKLIGHT_LM3533=y - CONFIG_BACKLIGHT_DA903X=y - CONFIG_BACKLIGHT_DA9052=y -@@ -665,11 +673,13 @@ CONFIG_BACKLIGHT_LM3639=y - CONFIG_BACKLIGHT_PANDORA=y - CONFIG_BACKLIGHT_SKY81452=y - CONFIG_BACKLIGHT_AS3711=y -+CONFIG_BACKLIGHT_GPIO=y - CONFIG_BACKLIGHT_LV5207LP=y - CONFIG_BACKLIGHT_BD6107=y - CONFIG_BACKLIGHT_ARCXCNN=y - CONFIG_FRAMEBUFFER_CONSOLE=y - CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y -+CONFIG_LOGO=y - CONFIG_HIDRAW=y - CONFIG_UHID=y - CONFIG_HID_A4TECH=y -@@ -1110,7 +1120,6 @@ CONFIG_VFAT_FS=y - CONFIG_EXFAT_FS=y - CONFIG_NTFS_FS=y - CONFIG_NTFS_RW=y --CONFIG_TMPFS=y - CONFIG_ECRYPT_FS=y - CONFIG_ECRYPT_FS_MESSAGING=y - CONFIG_SQUASHFS=y -diff --git a/board/shredos/version.txt b/board/shredos/version.txt -index 84f7fea848..fbc8564969 100644 ---- a/board/shredos/version.txt -+++ b/board/shredos/version.txt -@@ -1 +1 @@ --2021.08.2_20_x86-64_0.32.014 -+2021.08.2_21_x86-64_0.32.023 -diff --git a/docs.original/conf/asciidoc-text.conf b/docs.original/conf/asciidoc-text.conf -deleted file mode 100644 -index 470bdecfc2..0000000000 ---- a/docs.original/conf/asciidoc-text.conf -+++ /dev/null -@@ -1,23 +0,0 @@ --# Refer to following asciidoc documentation: --# http://www.methods.co.nz/asciidoc/userguide.html --# In particular sections "Macros" and "Attribute References" --# --# For hyperlinks, show 'link text [URL]' (if link text provided) or 'URL' --[http-inlinemacro] --{0=}{0? [}{name}:{target}{0?]} --[https-inlinemacro] --{0=}{0? [}{name}:{target}{0?]} --[ftp-inlinemacro] --{0=}{0? [}{name}:{target}{0?]} --[file-inlinemacro] --{0=}{0? [}{name}:{target}{0?]} --[irc-inlinemacro] --{0=}{0? [}{name}:{target}{0?]} --[mailto-inlinemacro] --{0=}{0? [}{name}:{target}{0?]} -- --# Hide image representation from text manual --[image-inlinemacro] --{empty} --[image-blockmacro] --{empty} -diff --git a/docs.original/images b/docs.original/images -deleted file mode 120000 -index 7356350c8a..0000000000 ---- a/docs.original/images -+++ /dev/null -@@ -1 +0,0 @@ --website/images -\ No newline at end of file -diff --git a/docs.original/manual/adding-board-support.txt b/docs.original/manual/adding-board-support.txt -deleted file mode 100644 -index 33ed709535..0000000000 ---- a/docs.original/manual/adding-board-support.txt -+++ /dev/null -@@ -1,48 +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. -diff --git a/docs.original/manual/adding-packages-asciidoc.txt b/docs.original/manual/adding-packages-asciidoc.txt -deleted file mode 100644 -index f9688b36c7..0000000000 ---- a/docs.original/manual/adding-packages-asciidoc.txt -+++ /dev/null -@@ -1,122 +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 $(pkgdir)/*)) --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). -- --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 $(pkgdir)/*)) --08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/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.original/manual/adding-packages-autotools.txt b/docs.original/manual/adding-packages-autotools.txt -deleted file mode 100644 -index a041d91eb6..0000000000 ---- a/docs.original/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.original/manual/adding-packages-cargo.txt b/docs.original/manual/adding-packages-cargo.txt -deleted file mode 100644 -index 8fcc80bcc6..0000000000 ---- a/docs.original/manual/adding-packages-cargo.txt -+++ /dev/null -@@ -1,109 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Integration of Cargo-based packages -- --Cargo is the package manager for the Rust programming language. It allows the --user to build programs or libraries written in Rust, but it also downloads and --manages their dependencies, to ensure repeatable builds. Cargo packages are --called "crates". -- --[[cargo-package-tutorial]] -- --==== Cargo-based package's +Config.in+ file -- --The +Config.in+ file of Cargo-based package 'foo' should contain: -- ----------------------------- --01: config BR2_PACKAGE_FOO --02: bool "foo" --03: depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS --04: select BR2_PACKAGE_HOST_RUSTC --05: help --06: This is a comment that explains what foo is. --07: --08: http://foosoftware.org/foo/ ----------------------------- -- --==== Cargo-based package's +.mk+ file -- --Buildroot does not (yet) provide a dedicated package infrastructure for --Cargo-based packages. So, we will explain how to write a +.mk+ file for such a --package. Let's start with an example: -- -------------------------------- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.0 --08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz --09: FOO_SITE = http://www.foosoftware.org/download --10: FOO_LICENSE = GPL-3.0+ --11: FOO_LICENSE_FILES = COPYING --12: --13: FOO_DEPENDENCIES = host-rustc --14: --15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo --16: --17: FOO_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(FOO_CARGO_MODE) --18: --19: FOO_CARGO_OPTS = \ --20: $(if $(BR2_ENABLE_DEBUG),,--release) \ --21: --target=$(RUSTC_TARGET_NAME) \ --22: --manifest-path=$(@D)/Cargo.toml --23: --24: define FOO_BUILD_CMDS --25: $(TARGET_MAKE_ENV) $(FOO_CARGO_ENV) \ --26: cargo build $(FOO_CARGO_OPTS) --27: endef --28: --29: define FOO_INSTALL_TARGET_CMDS --30: $(INSTALL) -D -m 0755 $(@D)/$(FOO_BIN_DIR)/foo \ --31: $(TARGET_DIR)/usr/bin/foo --32: endef --33: --34: $(eval $(generic-package)) ---------------------------------- -- --The Makefile starts with the definition of the standard variables for package --declaration (lines 7 to 11). -- --As seen in line 34, it is based on the --xref:generic-package-tutorial[+generic-package+ infrastructure]. So, it defines --the variables required by this particular infrastructure, where Cargo is --invoked: -- --* +FOO_BUILD_CMDS+: Cargo is invoked to perform the build. The options required -- to configure the cross-compilation of the package are passed via -- +FOO_CONF_OPTS+. -- --* +FOO_INSTALL_TARGET_CMDS+: The binary executable generated is installed on -- the target. -- --In order to have Cargo available for the build, +FOO_DEPENDENCIES+ needs to --contain +host-cargo+. -- --To sum it up, to add a new Cargo-based package, the Makefile example can be --copied verbatim then edited to replace all occurences of +FOO+ with the --uppercase name of the new package and update the values of the standard --variables. -- --==== About Dependencies Management -- --A crate can depend on other libraries from crates.io or git repositories, listed --in its Cargo.toml file. Before starting a build, Cargo usually downloads --automatically them. This step can also be performed independently, via the --+cargo fetch+ command. -- --Cargo maintains a local cache of the registry index and of git checkouts of the --crates, whose location is given by +$CARGO_HOME+. As seen in the package --Makefile example at line 15, this environment variable is set to --+$(HOST_DIR)/share/cargo+. -- --This dependency download mechanism is not convenient when performing an offline --build, as Cargo will fail to fetch the dependencies. In that case, it is advised --to generate a tarball of the dependencies using the +cargo vendor+ and add it to --+FOO_EXTRA_DOWNLOADS+. -diff --git a/docs.original/manual/adding-packages-cmake.txt b/docs.original/manual/adding-packages-cmake.txt -deleted file mode 100644 -index 541d7422cf..0000000000 ---- a/docs.original/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.original/manual/adding-packages-conclusion.txt b/docs.original/manual/adding-packages-conclusion.txt -deleted file mode 100644 -index 93f90a419d..0000000000 ---- a/docs.original/manual/adding-packages-conclusion.txt -+++ /dev/null -@@ -1,13 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Conclusion -- --As you can see, adding a software package to Buildroot is simply a --matter of writing a Makefile using an existing example and modifying it --according to the compilation process required by the package. -- --If you package software that might be useful for other people, don't --forget to send a patch to the Buildroot mailing list (see --xref:submitting-patches[])! -- -diff --git a/docs.original/manual/adding-packages-directory.txt b/docs.original/manual/adding-packages-directory.txt -deleted file mode 100644 -index 4ceb3fd772..0000000000 ---- a/docs.original/manual/adding-packages-directory.txt -+++ /dev/null -@@ -1,556 +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" -- select BR2_PACKAGE_B -- depends on BR2_PACKAGE_A -- --config BR2_PACKAGE_E -- bool "Package E" -- select BR2_PACKAGE_D -- depends on BR2_PACKAGE_A ---------------------------- -- --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 either the +distutils+ or the -- +setuptools+ mechanism. 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+, +none+ --* the hash of the file: --** for +none+, one or more non-space chars, usually just the string +xxx+ --** 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 +none+ hash type is reserved to those archives downloaded from a --repository, like a 'git clone', a 'subversion checkout'... -- --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 -- --# No hash for 1234: --none xxx libfoo-1234.tar.gz -- --# 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. -diff --git a/docs.original/manual/adding-packages-generic.txt b/docs.original/manual/adding-packages-generic.txt -deleted file mode 100644 -index 2201d4385e..0000000000 ---- a/docs.original/manual/adding-packages-generic.txt -+++ /dev/null -@@ -1,659 +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+. + -- 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://+. -- ** +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_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.original/manual/adding-packages-gettext.txt b/docs.original/manual/adding-packages-gettext.txt -deleted file mode 100644 -index e9c6968e79..0000000000 ---- a/docs.original/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.original/manual/adding-packages-golang.txt b/docs.original/manual/adding-packages-golang.txt -deleted file mode 100644 -index 3b34579200..0000000000 ---- a/docs.original/manual/adding-packages-golang.txt -+++ /dev/null -@@ -1,122 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for Go packages -- --This infrastructure applies to Go packages that use the standard --build system and use bundled dependencies. -- --[[golang-package-tutorial]] -- --==== +golang-package+ tutorial -- --First, let's see how to write a +.mk+ file for a go package, --with an example : -- -------------------------- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.0 --08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)) --09: FOO_LICENSE = BSD-3-Clause --10: FOO_LICENSE_FILES = LICENSE --11: --12: $(eval $(golang-package)) -------------------------- -- --On line 7, we declare the version of the package. -- --On line 8, we declare the upstream location of the package, here --fetched from Github, since a large number of Go packages are hosted on --Github. -- --On line 9 and 10, we give licensing details about the package. -- --Finally, on line 12, we invoke the +golang-package+ macro that --generates all the Makefile rules that actually allow the package to be --built. -- --[[golang-package-reference]] -- --==== +golang-package+ reference -- --In their +Config.in+ file, packages using the +golang-package+ --infrastructure should depend on +BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS+ --because Buildroot will automatically add a dependency on +host-go+ --to such packages. --If you need CGO support in your package, you must add a dependency on --+BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS+. -- --The main macro of the Go package infrastructure is --+golang-package+. It is similar to the +generic-package+ macro. The --ability to build host packages is also available, with the --+host-golang-package+ macro. --Host packages built by +host-golang-package+ macro should depend on --BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS. -- --Just like the generic infrastructure, the Go infrastructure works --by defining a number of variables before calling the +golang-package+. -- --All the package metadata information variables that exist in the --xref:generic-package-reference[generic package infrastructure] also --exist in the Go infrastructure: +FOO_VERSION+, +FOO_SOURCE+, --+FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+, --+FOO_LICENSE+, +FOO_LICENSE_FILES+, +FOO_INSTALL_STAGING+, etc. -- --Note that it is not necessary to add +host-go+ in the --+FOO_DEPENDENCIES+ variable of a package, since this basic dependency --is automatically added as needed by the Go package infrastructure. -- --A few additional variables, specific to the Go 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. -- --* The package must specify its Go module name in the +FOO_GOMOD+ -- variable. If not specified, it defaults to -- +URL-domain/1st-part-of-URL/2nd-part-of-URL+, e.g +FOO_GOMOD+ will -- take the value +github.com/bar/foo+ for a package that specifies -- +FOO_SITE = $(call github,bar,foo,$(FOO_VERSION))+. The Go package -- infrastructure will automatically generate a minimal +go.mod+ file -- in the package source tree if it doesn't exist. -- --* +FOO_LDFLAGS+ and +FOO_TAGS+ can be used to pass respectively the -- +LDFLAGS+ or the +TAGS+ to the +go+ build command. -- --* +FOO_BUILD_TARGETS+ can be used to pass the list of targets that -- should be built. If +FOO_BUILD_TARGETS+ is not specified, it -- defaults to +.+. We then have two cases: -- --** +FOO_BUILD_TARGETS+ is +.+. In this case, we assume only one binary -- will be produced, and that by default we name it after the package -- name. If that is not appropriate, the name of the produced binary -- can be overridden using +FOO_BIN_NAME+. -- --** +FOO_BUILD_TARGETS+ is not +.+. In this case, we iterate over the -- values to build each target, and for each produced a binary that is -- the non-directory component of the target. For example if -- +FOO_BUILD_TARGETS = cmd/docker cmd/dockerd+ the binaries produced -- are +docker+ and +dockerd+. -- --* +FOO_INSTALL_BINS+ can be used to pass the list of binaries that -- should be installed in +/usr/bin+ on the target. If -- +FOO_INSTALL_BINS+ is not specified, it defaults to the lower-case -- name of package. -- --With the Go infrastructure, all the steps required to build and --install the packages are already defined, and they generally work well --for most Go-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 Go -- infrastructure is used, if the package +.mk+ file defines its own -- +FOO_BUILD_CMDS+ variable, it will be used instead of the default Go -- one. However, using this method should be restricted to very -- specific cases. Do not use it in the general case. -diff --git a/docs.original/manual/adding-packages-hooks.txt b/docs.original/manual/adding-packages-hooks.txt -deleted file mode 100644 -index 0ce79f8907..0000000000 ---- a/docs.original/manual/adding-packages-hooks.txt -+++ /dev/null -@@ -1,87 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[hooks]] --=== Hooks available in the various build steps -- --The generic infrastructure (and as a result also the derived autotools --and cmake infrastructures) allow packages to specify hooks. --These define further actions to perform after existing steps. --Most hooks aren't really useful for generic packages, since the +.mk+ --file already has full control over the actions performed in each step --of the package construction. -- --The following hook points are available: -- --* +LIBFOO_PRE_DOWNLOAD_HOOKS+ --* +LIBFOO_POST_DOWNLOAD_HOOKS+ -- --* +LIBFOO_PRE_EXTRACT_HOOKS+ --* +LIBFOO_POST_EXTRACT_HOOKS+ -- --* +LIBFOO_PRE_RSYNC_HOOKS+ --* +LIBFOO_POST_RSYNC_HOOKS+ -- --* +LIBFOO_PRE_PATCH_HOOKS+ --* +LIBFOO_POST_PATCH_HOOKS+ -- --* +LIBFOO_PRE_CONFIGURE_HOOKS+ --* +LIBFOO_POST_CONFIGURE_HOOKS+ -- --* +LIBFOO_PRE_BUILD_HOOKS+ --* +LIBFOO_POST_BUILD_HOOKS+ -- --* +LIBFOO_PRE_INSTALL_HOOKS+ (for host packages only) --* +LIBFOO_POST_INSTALL_HOOKS+ (for host packages only) -- --* +LIBFOO_PRE_INSTALL_STAGING_HOOKS+ (for target packages only) --* +LIBFOO_POST_INSTALL_STAGING_HOOKS+ (for target packages only) -- --* +LIBFOO_PRE_INSTALL_TARGET_HOOKS+ (for target packages only) --* +LIBFOO_POST_INSTALL_TARGET_HOOKS+ (for target packages only) -- --* +LIBFOO_PRE_INSTALL_IMAGES_HOOKS+ --* +LIBFOO_POST_INSTALL_IMAGES_HOOKS+ -- --* +LIBFOO_PRE_LEGAL_INFO_HOOKS+ --* +LIBFOO_POST_LEGAL_INFO_HOOKS+ -- --These variables are 'lists' of variable names containing actions to be --performed at this hook point. This allows several hooks to be --registered at a given hook point. Here is an example: -- ------------------------ --define LIBFOO_POST_PATCH_FIXUP -- action1 -- action2 --endef -- --LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP ------------------------ -- --[[hooks-rsync]] --==== Using the +POST_RSYNC+ hook --The +POST_RSYNC+ hook is run only for packages that use a local source, --either through the +local+ site method or the +OVERRIDE_SRCDIR+ --mechanism. In this case, package sources are copied using +rsync+ from --the local location into the buildroot build directory. The +rsync+ --command does not copy all files from the source directory, though. --Files belonging to a version control system, like the directories --+.git+, +.hg+, etc. are not copied. For most packages this is --sufficient, but a given package can perform additional actions using --the +POST_RSYNC+ hook. -- --In principle, the hook can contain any command you want. One specific --use case, though, is the intentional copying of the version control --directory using +rsync+. The +rsync+ command you use in the hook can, among --others, use the following variables: -- --* +$(SRCDIR)+: the path to the overridden source directory --* +$(@D)+: the path to the build directory -- --==== Target-finalize hook -- --Packages may also register hooks in +LIBFOO_TARGET_FINALIZE_HOOKS+. --These hooks are run after all packages are built, but before the --filesystem images are generated. They are seldom used, and your --package probably do not need them. -diff --git a/docs.original/manual/adding-packages-kconfig.txt b/docs.original/manual/adding-packages-kconfig.txt -deleted file mode 100644 -index a35681775f..0000000000 ---- a/docs.original/manual/adding-packages-kconfig.txt -+++ /dev/null -@@ -1,96 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for packages using kconfig for configuration files -- --A popular way for a software package to handle user-specified --configuration is +kconfig+. Among others, it is used by the Linux --kernel, Busybox, and Buildroot itself. The presence of a .config file --and a +menuconfig+ target are two well-known symptoms of kconfig being --used. -- --Buildroot features an infrastructure for packages that use kconfig for --their configuration. This infrastructure provides the necessary logic to --expose the package's +menuconfig+ target as +foo-menuconfig+ in --Buildroot, and to handle the copying back and forth of the configuration --file in a correct way. -- --The +kconfig-package+ infrastructure is based on the +generic-package+ --infrastructure. All variables supported by +generic-package+ are --available in +kconfig-package+ as well. See --xref:generic-package-reference[] for more details. -- --In order to use the +kconfig-package+ infrastructure for a Buildroot --package, the minimally required lines in the +.mk+ file, in addition to --the variables required by the +generic-package+ infrastructure, are: -- -------------------------------- --FOO_KCONFIG_FILE = reference-to-source-configuration-file -- --$(eval $(kconfig-package)) -------------------------------- -- --This snippet creates the following make targets: -- --* +foo-menuconfig+, which calls the package's +menuconfig+ target -- --* +foo-update-config+, which copies the configuration back to the -- source configuration file. It is not possible to use this target -- when fragment files are set. -- --* +foo-update-defconfig+, which copies the configuration back to the -- source configuration file. The configuration file will only list the -- options that differ from the default values. It is not possible to -- use this target when fragment files are set. -- --* +foo-diff-config+, which outputs the differences between the current -- configuration and the one defined in the Buildroot configuration for -- this kconfig package. The output is useful to identify the -- configuration changes that may have to be propagated to -- configuration fragments for example. -- --and ensures that the source configuration file is copied to the build --directory at the right moment. -- --There are two options to specify a configuration file to use, either --+FOO_KCONFIG_FILE+ (as in the example, above) or +FOO_KCONFIG_DEFCONFIG+. --It is mandatory to provide either, but not both: -- --* +FOO_KCONFIG_FILE+ specifies the path to a defconfig or full-config file -- to be used to configure the package. -- --* +FOO_KCONFIG_DEFCONFIG+ specifies the defconfig 'make' rule to call to -- configure the package. -- --In addition to these minimally required lines, several optional variables can --be set to suit the needs of the package under consideration: -- --* +FOO_KCONFIG_EDITORS+: a space-separated list of kconfig editors to -- support, for example 'menuconfig xconfig'. By default, 'menuconfig'. -- --* +FOO_KCONFIG_FRAGMENT_FILES+: a space-separated list of configuration -- fragment files that are merged to the main configuration file. -- Fragment files are typically used when there is a desire to stay in sync -- with an upstream (def)config file, with some minor modifications. -- --* +FOO_KCONFIG_OPTS+: extra options to pass when calling the kconfig -- editors. This may need to include '$(FOO_MAKE_OPTS)', for example. By -- default, empty. -- --* +FOO_KCONFIG_FIXUP_CMDS+: a list of shell commands needed to fixup the -- configuration file after copying it or running a kconfig editor. Such -- commands may be needed to ensure a configuration consistent with other -- configuration of Buildroot, for example. By default, empty. -- --* +FOO_KCONFIG_DOTCONFIG+: path (with filename) of the +.config+ file, -- relative to the package source tree. The default, +.config+, should -- be well suited for all packages that use the standard kconfig -- infrastructure as inherited from the Linux kernel; some packages use -- a derivative of kconfig that use a different location. -- --* +FOO_KCONFIG_DEPENDENCIES+: the list of packages (most probably, host -- packages) that need to be built before this package's kconfig is -- interpreted. Seldom used. By default, empty. -- --* +FOO_KCONFIG_SUPPORTS_DEFCONFIG+: whether the package's kconfig system -- supports using defconfig files; few packages do not. By default, 'YES'. -diff --git a/docs.original/manual/adding-packages-kernel-module.txt b/docs.original/manual/adding-packages-kernel-module.txt -deleted file mode 100644 -index b609ecc90a..0000000000 ---- a/docs.original/manual/adding-packages-kernel-module.txt -+++ /dev/null -@@ -1,143 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for packages building kernel modules -- --Buildroot offers a helper infrastructure to make it easy to write packages that --build and install Linux kernel modules. Some packages only contain a kernel --module, other packages contain programs and libraries in addition to kernel --modules. Buildroot's helper infrastructure supports either case. -- --[[kernel-module-tutorial]] --==== +kernel-module+ tutorial -- --Let's start with an example on how to prepare a simple package that only --builds a kernel module, and no other component: -- ------ --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.2.3 --08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz --09: FOO_SITE = http://www.foosoftware.org/download --10: FOO_LICENSE = GPL-2.0 --11: FOO_LICENSE_FILES = COPYING --12: --13: $(eval $(kernel-module)) --14: $(eval $(generic-package)) ------ -- --Lines 7-11 define the usual meta-data to specify the version, archive name, --remote URI where to find the package source, licensing information. -- --On line 13, we invoke the +kernel-module+ helper infrastructure, that --generates all the appropriate Makefile rules and variables to build --that kernel module. -- --Finally, on line 14, we invoke the --xref:generic-package-tutorial[+generic-package+ infrastructure]. -- --The dependency on +linux+ is automatically added, so it is not needed to --specify it in +FOO_DEPENDENCIES+. -- --What you may have noticed is that, unlike other package infrastructures, --we explicitly invoke a second infrastructure. This allows a package to --build a kernel module, but also, if needed, use any one of other package --infrastructures to build normal userland components (libraries, --executables...). Using the +kernel-module+ infrastructure on its own is --not sufficient; another package infrastructure *must* be used. -- --Let's look at a more complex example: -- ------ --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.2.3 --08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz --09: FOO_SITE = http://www.foosoftware.org/download --10: FOO_LICENSE = GPL-2.0 --11: FOO_LICENSE_FILES = COPYING --12: --13: FOO_MODULE_SUBDIRS = driver/base --14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) --15: --16: ifeq ($(BR2_PACKAGE_LIBBAR),y) --17: FOO_DEPENDENCIES = libbar --18: FOO_CONF_OPTS = --enable-bar --19: FOO_MODULE_SUBDIRS += driver/bar --20: else --21: FOO_CONF_OPTS = --disable-bar --22: endif --23: --24: $(eval $(kernel-module)) --26: $(eval $(autotools-package)) ------ -- --Here, we see that we have an autotools-based package, that also builds --the kernel module located in sub-directory +driver/base+ and, if libbar --is enabled, the kernel module located in sub-directory +driver/bar+, and --defines the variable +KVERSION+ to be passed to the Linux buildsystem --when building the module(s). -- -- --[[kernel-module-reference]] --==== +kernel-module+ reference -- --The main macro for the kernel module infrastructure is +kernel-module+. --Unlike other package infrastructures, it is not stand-alone, and requires --any of the other +*-package+ macros be called after it. -- --The +kernel-module+ macro defines post-build and post-target-install --hooks to build the kernel modules. If the package's +.mk+ needs access --to the built kernel modules, it should do so in a post-build hook, --*registered after* the call to +kernel-module+. Similarly, if the --package's +.mk+ needs access to the kernel module after it has been --installed, it should do so in a post-install hook, *registered after* --the call to +kernel-module+. Here's an example: -- ------ --$(eval $(kernel-module)) -- --define FOO_DO_STUFF_WITH_KERNEL_MODULE -- # Do something with it... --endef --FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE -- --$(eval $(generic-package)) ------ -- --Finally, unlike the other package infrastructures, there is no --+host-kernel-module+ variant to build a host kernel module. -- --The following additional variables can optionally be defined to further --configure the build of the kernel module: -- --* +FOO_MODULE_SUBDIRS+ may be set to one or more sub-directories (relative -- to the package source top-directory) where the kernel module sources are. -- If empty or not set, the sources for the kernel module(s) are considered -- to be located at the top of the package source tree. -- --* +FOO_MODULE_MAKE_OPTS+ may be set to contain extra variable definitions -- to pass to the Linux buildsystem. -- --[[kernel-variables]] --You may also reference (but you may *not* set!) those variables: -- -- * +LINUX_DIR+ contains the path to where the Linux kernel has been -- extracted and built. -- -- * +LINUX_VERSION+ contains the version string as configured by the user. -- -- * +LINUX_VERSION_PROBED+ contains the real version string of the kernel, -- retrieved with running `make -C $(LINUX_DIR) kernelrelease` -- -- * +KERNEL_ARCH+ contains the name of the current architecture, like `arm`, -- `mips`... -diff --git a/docs.original/manual/adding-packages-linux-kernel-spec-infra.txt b/docs.original/manual/adding-packages-linux-kernel-spec-infra.txt -deleted file mode 100644 -index b948e208da..0000000000 ---- a/docs.original/manual/adding-packages-linux-kernel-spec-infra.txt -+++ /dev/null -@@ -1,152 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[linux-kernel-specific-infra]] --=== Infrastructure specific to the Linux kernel package -- --The Linux kernel package can use some specific infrastructures based on package --hooks for building Linux kernel tools or/and building Linux kernel extensions. -- --[[linux-kernel-tools]] --==== linux-kernel-tools -- --Buildroot offers a helper infrastructure to build some userspace tools --for the target available within the Linux kernel sources. Since their --source code is part of the kernel source code, a special package, --+linux-tools+, exists and re-uses the sources of the Linux kernel that --runs on the target. -- --Let's look at an example of a Linux tool. For a new Linux tool named --+foo+, create a new menu entry in the existing --+package/linux-tools/Config.in+. This file will contain the option --descriptions related to each kernel tool that will be used and --displayed in the configuration tool. It would basically look like: -- -------------------------------- --01: config BR2_PACKAGE_LINUX_TOOLS_FOO --02: bool "foo" --03: select BR2_PACKAGE_LINUX_TOOLS --04: help --05: This is a comment that explains what foo kernel tool is. --06: --07: http://foosoftware.org/foo/ -------------------------------- -- --The name of the option starts with the prefix +BR2_PACKAGE_LINUX_TOOLS_+, --followed by the uppercase name of the tool (like is done for packages). -- --.Note --Unlike other packages, the +linux-tools+ package options appear in the --+linux+ kernel menu, under the `Linux Kernel Tools` sub-menu, not under --the `Target packages` main menu. -- --Then for each linux tool, add a new +.mk.in+ file named --+package/linux-tools/linux-tool-foo.mk.in+. It would basically look like: -- -------------------------------- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: LINUX_TOOLS += foo --08: --09: FOO_DEPENDENCIES = libbbb --10: --11: define FOO_BUILD_CMDS --12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo --13: endef --14: --15: define FOO_INSTALL_STAGING_CMDS --16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ --17: DESTDIR=$(STAGING_DIR) \ --18: foo_install --19: endef --20: --21: define FOO_INSTALL_TARGET_CMDS --22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ --23: DESTDIR=$(TARGET_DIR) \ --24: foo_install --25: endef ---------------------------------- -- --On line 7, we register the Linux tool +foo+ to the list of available --Linux tools. -- --On line 9, we specify the list of dependencies this tool relies on. These --dependencies are added to the Linux package dependencies list only when the --+foo+ tool is selected. -- --The rest of the Makefile, lines 11-25 defines what should be done at the --different steps of the Linux tool build process like for a --xref:generic-package-tutorial[+generic package+]. They will actually be --used only when the +foo+ tool is selected. The only supported commands are --+_BUILD_CMDS+, +_INSTALL_STAGING_CMDS+ and +_INSTALL_TARGET_CMDS+. -- --.Note --One *must not* call +$(eval $(generic-package))+ or any other --package infrastructure! Linux tools are not packages by themselves, --they are part of the +linux-tools+ package. -- --[[linux-kernel-ext]] --==== linux-kernel-extensions -- --Some packages provide new features that require the Linux kernel tree --to be modified. This can be in the form of patches to be applied on --the kernel tree, or in the form of new files to be added to the --tree. The Buildroot's Linux kernel extensions infrastructure provides --a simple solution to automatically do this, just after the kernel --sources are extracted and before the kernel patches are --applied. Examples of extensions packaged using this mechanism are the --real-time extensions Xenomai and RTAI, as well as the set of --out-of-tree LCD screens drivers +fbtft+. -- --Let's look at an example on how to add a new Linux extension +foo+. -- --First, create the package +foo+ that provides the extension: this --package is a standard package; see the previous chapters on how to --create such a package. This package is in charge of downloading the --sources archive, checking the hash, defining the licence informations --and building user space tools if any. -- --Then create the 'Linux extension' proper: create a new menu entry in --the existing +linux/Config.ext.in+. This file contains the option --descriptions related to each kernel extension that will be used and --displayed in the configuration tool. It would basically look like: -- -------------------------------- --01: config BR2_LINUX_KERNEL_EXT_FOO --02: bool "foo" --03: help --04: This is a comment that explains what foo kernel extension is. --05: --06: http://foosoftware.org/foo/ -------------------------------- -- --Then for each linux extension, add a new +.mk+ file named --+linux/linux-ext-foo.mk+. It should basically contain: -- -------------------------------- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: LINUX_EXTENSIONS += foo --08: --09: define FOO_PREPARE_KERNEL --10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) --11: endef ---------------------------------- -- --On line 7, we add the Linux extension +foo+ to the list of available --Linux extensions. -- --On line 9-11, we define what should be done by the extension to modify --the Linux kernel tree; this is specific to the linux extension and can --use the variables defined by the +foo+ package, like: +$(FOO_DIR)+ or --+$(FOO_VERSION)+... as well as all the Linux variables, like: --+$(LINUX_VERSION)+ or +$(LINUX_VERSION_PROBED)+, +$(KERNEL_ARCH)+... --See the xref:kernel-variables[definition of those kernel variables]. -diff --git a/docs.original/manual/adding-packages-luarocks.txt b/docs.original/manual/adding-packages-luarocks.txt -deleted file mode 100644 -index 70f48fc02c..0000000000 ---- a/docs.original/manual/adding-packages-luarocks.txt -+++ /dev/null -@@ -1,109 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for LuaRocks-based packages -- --[[luarocks-package-tutorial]] -- --==== +luarocks-package+ tutorial -- --First, let's see how to write a +.mk+ file for a LuaRocks-based package, --with an example : -- -------------------------- --01: ################################################################################ --02: # --03: # lua-foo --04: # --05: ################################################################################ --06: --07: LUA_FOO_VERSION = 1.0.2-1 --08: LUA_FOO_NAME_UPSTREAM = foo --09: LUA_FOO_DEPENDENCIES = bar --10: --11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include --12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib --13: LUA_FOO_LICENSE = luaFoo license --14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING --15: --16: $(eval $(luarocks-package)) -------------------------- -- --On line 7, we declare the version of the package (the same as in the rockspec, --which is the concatenation of the upstream version and the rockspec revision, --separated by a hyphen '-'). -- --On line 8, we declare that the package is called "foo" on LuaRocks. In --Buildroot, we give Lua-related packages a name that starts with "lua", so the --Buildroot name is different from the upstream name. +LUA_FOO_NAME_UPSTREAM+ --makes the link between the two names. -- --On line 9, we declare our dependencies against native libraries, so that they --are built before the build process of our package starts. -- --On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is --building the package. -- --On lines 13-14, we specify the licensing terms for the package. -- --Finally, on line 16, we invoke the +luarocks-package+ --macro that generates all the Makefile rules that actually allows the --package to be built. -- --Most of these details can be retrieved from the +rock+ and +rockspec+. --So, this file and the Config.in file can be generated by running the --command +luarocks buildroot foo lua-foo+ in the Buildroot --directory. This command runs a specific Buildroot addon of +luarocks+ --that will automatically generate a Buildroot package. The result must --still be manually inspected and possibly modified. -- --* The +package/Config.in+ file has to be updated manually to include the -- generated Config.in files. -- --[[luarocks-package-reference]] -- --==== +luarocks-package+ reference -- --LuaRocks is a deployment and management system for Lua modules, and supports --various +build.type+: +builtin+, +make+ and +cmake+. In the context of --Buildroot, the +luarocks-package+ infrastructure only supports the +builtin+ --mode. LuaRocks packages that use the +make+ or +cmake+ build mechanisms --should instead be packaged using the +generic-package+ and +cmake-package+ --infrastructures in Buildroot, respectively. -- --The main macro of the LuaRocks package infrastructure is +luarocks-package+: --like +generic-package+ it works by defining a number of variables providing --metadata information about the package, and then calling +luarocks-package+. -- --Just like the generic infrastructure, the LuaRocks infrastructure works --by defining a number of variables before calling the +luarocks-package+ --macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the LuaRocks infrastructure: --+LUA_FOO_VERSION+, +LUA_FOO_SOURCE+, +LUA_FOO_SITE+, --+LUA_FOO_DEPENDENCIES+, +LUA_FOO_LICENSE+, +LUA_FOO_LICENSE_FILES+. -- --Two of them are populated by the LuaRocks infrastructure (for the --+download+ step). If your package is not hosted on the LuaRocks mirror --+$(BR2_LUAROCKS_MIRROR)+, you can override them: -- --* +LUA_FOO_SITE+, which defaults to +$(BR2_LUAROCKS_MIRROR)+ -- --* +LUA_FOO_SOURCE+, which defaults to -- +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock+ -- --A few additional variables, specific to the LuaRocks infrastructure, are --also defined. They can be overridden in specific cases. -- --* +LUA_FOO_NAME_UPSTREAM+, which defaults to +lua-foo+, i.e. the Buildroot -- package name -- --* +LUA_FOO_ROCKSPEC+, which defaults to -- +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec+ -- --* +LUA_FOO_SUBDIR+, which defaults to -- +$(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+ -- --* +LUA_FOO_BUILD_OPTS+ contains additional build options for the -- +luarocks build+ call. -diff --git a/docs.original/manual/adding-packages-meson.txt b/docs.original/manual/adding-packages-meson.txt -deleted file mode 100644 -index 029c8c2488..0000000000 ---- a/docs.original/manual/adding-packages-meson.txt -+++ /dev/null -@@ -1,133 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for Meson-based packages -- --[[meson-package-tutorial]] -- --==== +meson-package+ tutorial -- --http://mesonbuild.com[Meson] is an open source build system meant to be both --extremely fast, and, even more importantly, as user friendly as possible. It --uses https://ninja-build.org[Ninja] as a companion tool to perform the actual --build operations. -- --Let's see how to write a +.mk+ file for a Meson-based package, with an example: -- -------------------------------- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.0 --08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz --09: FOO_SITE = http://www.foosoftware.org/download --10: FOO_LICENSE = GPL-3.0+ --11: FOO_LICENSE_FILES = COPYING --12: FOO_INSTALL_STAGING = YES --13: --14: FOO_DEPENDENCIES = host-pkgconf bar --15: --16: ifeq ($(BR2_PACKAGE_BAZ),y) --17: FOO_CONF_OPTS += -Dbaz=true --18: FOO_DEPENDENCIES += baz --19: else --20: FOO_CONF_OPTS += -Dbaz=false --21: endif --22: --23: $(eval $(meson-package)) ---------------------------------- -- --The Makefile starts with the definition of the standard variables for package --declaration (lines 7 to 11). -- --On line line 23, we invoke the +meson-package+ macro that generates all the --Makefile rules that actually allows the package to be built. -- --In the example, +host-pkgconf+ and +bar+ are declared as dependencies in --+FOO_DEPENDENCIES+ at line 14 because the Meson build file of +foo+ uses --`pkg-config` to determine the compilation flags and libraries of package +bar+. -- --Note that it is not necessary to add +host-meson+ in the +FOO_DEPENDENCIES+ --variable of a package, since this basic dependency is automatically added as --needed by the Meson package infrastructure. -- --If the "baz" package is selected, then support for the "baz" feature in "foo" is --activated by adding +-Dbaz=true+ to +FOO_CONF_OPTS+ at line 17, as specified in --the +meson_options.txt+ file in "foo" source tree. The "baz" package is also --added to +FOO_DEPENDENCIES+. Note that the support for +baz+ is explicitly --disabled at line 20, if the package is not selected. -- --To sum it up, to add a new meson-based package, the Makefile example can be --copied verbatim then edited to replace all occurences of +FOO+ with the --uppercase name of the new package and update the values of the standard --variables. -- --[[meson-package-reference]] -- --==== +meson-package+ reference -- --The main macro of the Meson package infrastructure is +meson-package+. It is --similar to the +generic-package+ macro. The ability to have target and host --packages is also available, with the +host-meson-package+ macro. -- --Just like the generic infrastructure, the Meson infrastructure works by defining --a number of variables before calling the +meson-package+ macro. -- --First, all the package metadata information variables that exist in the generic --infrastructure also exist in the Meson infrastructure: +FOO_VERSION+, --+FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+, --+FOO_INSTALL_STAGING+, +FOO_INSTALL_TARGET+. -- --A few additional variables, specific to the Meson infrastructure, can also be --defined. Many of them are only useful in very specific cases, typical packages --will therefore only use a few of them. -- --* +FOO_SUBDIR+ may contain the name of a subdirectory inside the -- package that contains the main meson.build file. This is useful, -- if for example, the main meson.build file is not at the root of -- the tree extracted by the tarball. If +HOST_FOO_SUBDIR+ is not -- specified, it defaults to +FOO_SUBDIR+. -- --* +FOO_CONF_ENV+, to specify additional environment variables to pass to -- +meson+ for the configuration step. By default, empty. -- --* +FOO_CONF_OPTS+, to specify additional options to pass to +meson+ for the -- configuration step. By default, empty. -- --* +FOO_CFLAGS+, to specify compiler arguments added to the package specific -- +cross-compile.conf+ file +c_args+ property. By default, the value of -- +TARGET_CFLAGS+. -- --* +FOO_CXXFLAGS+, to specify compiler arguments added to the package specific -- +cross-compile.conf+ file +cpp_args+ property. By default, the value of -- +TARGET_CXXFLAGS+. -- --* +FOO_LDFLAGS+, to specify compiler arguments added to the package specific -- +cross-compile.conf+ file +c_link_args+ and +cpp_link_args+ properties. By -- default, the value of +TARGET_LDFLAGS+. -- --* +FOO_MESON_EXTRA_BINARIES+, to specify a space-separated list of programs -- to add to the `[binaries]` section of the meson `cross-compilation.conf` -- configuration file. The format is `program-name='/path/to/program'`, with -- no space around the +=+ sign, and with the path of the program between -- single quotes. By default, empty. Note that Buildroot already sets the -- correct values for +c+, +cpp+, +ar+, +strip+, and +pkgconfig+. -- --* +FOO_MESON_EXTRA_PROPERTIES+, to specify a space-separated list of -- properties to add to the `[properties]` section of the meson -- `cross-compilation.conf` configuration file. The format is -- `property-name=` with no space around the +=+ sign, and with -- single quotes around string values. By default, empty. Note that -- Buildroot already sets values for +needs_exe_wrapper+, +c_args+, -- +c_link_args+, +cpp_args+, +cpp_link_args+, +sys_root+, and -- +pkg_config_libdir+. -- --* +FOO_NINJA_ENV+, to specify additional environment variables to pass to -- +ninja+, meson companion tool in charge of the build operations. By default, -- empty. -- --* +FOO_NINJA_OPTS+, to specify a space-separated list of targets to build. By -- default, empty, to build the default target(s). -diff --git a/docs.original/manual/adding-packages-perl.txt b/docs.original/manual/adding-packages-perl.txt -deleted file mode 100644 -index 6ce693fd6e..0000000000 ---- a/docs.original/manual/adding-packages-perl.txt -+++ /dev/null -@@ -1,129 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for Perl/CPAN packages -- --[[perl-package-tutorial]] -- --==== +perl-package+ tutorial -- --First, let's see how to write a +.mk+ file for a Perl/CPAN package, --with an example : -- -------------------------- --01: ################################################################################ --02: # --03: # perl-foo-bar --04: # --05: ################################################################################ --06: --07: PERL_FOO_BAR_VERSION = 0.02 --08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz --09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER --10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures --11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ --12: PERL_FOO_BAR_LICENSE_FILES = LICENSE --13: PERL_FOO_BAR_DISTNAME = Foo-Bar --14: --15: $(eval $(perl-package)) -------------------------- -- --On line 7, we declare the version of the package. -- --On line 8 and 9, we declare the name of the tarball and the location --of the tarball on a CPAN server. Buildroot will automatically download --the tarball from this location. -- --On line 10, we declare our dependencies, so that they are built --before the build process of our package starts. -- --On line 11 and 12, we give licensing details about the package (its --license on line 11, and the file containing the license text on line --12). -- --On line 13, the name of the distribution as needed by the script --+utils/scancpan+ (in order to regenerate/upgrade these package files). -- --Finally, on line 15, we invoke the +perl-package+ macro that --generates all the Makefile rules that actually allow the package to be --built. -- --Most of these data can be retrieved from https://metacpan.org/. --So, this file and the Config.in can be generated by running --the script +utils/scancpan Foo-Bar+ in the Buildroot directory --(or in a br2-external tree). --This script creates a Config.in file and foo-bar.mk file for the --requested package, and also recursively for all dependencies specified by --CPAN. You should still manually edit the result. In particular, the --following things should be checked. -- --* If the perl module links with a shared library that is provided by -- another (non-perl) package, this dependency is not added automatically. -- It has to be added manually to +PERL_FOO_BAR_DEPENDENCIES+. --* The +package/Config.in+ file has to be updated manually to include the -- generated Config.in files. As a hint, the +scancpan+ script prints out -- the required +source "..."+ statements, sorted alphabetically. -- --[[perl-package-reference]] -- --==== +perl-package+ reference -- --As a policy, packages that provide Perl/CPAN modules should all be --named +perl-+ in Buildroot. -- --This infrastructure handles various Perl build systems : --+ExtUtils-MakeMaker+ (EUMM), +Module-Build+ (MB) and +Module-Build-Tiny+. --+Build.PL+ is preferred by default when a package provides a +Makefile.PL+ --and a +Build.PL+. -- --The main macro of the Perl/CPAN package infrastructure is --+perl-package+. It is similar to the +generic-package+ macro. The ability to --have target and host packages is also available, with the --+host-perl-package+ macro. -- --Just like the generic infrastructure, the Perl/CPAN infrastructure --works by defining a number of variables before calling the --+perl-package+ macro. -- --First, all the package metadata information variables that exist in the --generic infrastructure also exist in the Perl/CPAN infrastructure: --+PERL_FOO_VERSION+, +PERL_FOO_SOURCE+, --+PERL_FOO_PATCH+, +PERL_FOO_SITE+, --+PERL_FOO_SUBDIR+, +PERL_FOO_DEPENDENCIES+, --+PERL_FOO_INSTALL_TARGET+. -- --Note that setting +PERL_FOO_INSTALL_STAGING+ to +YES+ has no effect --unless a +PERL_FOO_INSTALL_STAGING_CMDS+ variable is defined. The perl --infrastructure doesn't define these commands since Perl modules generally --don't need to be installed to the +staging+ directory. -- --A few additional variables, specific to the Perl/CPAN 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. -- --* +PERL_FOO_PREFER_INSTALLER+/+HOST_PERL_FOO_PREFER_INSTALLER+, -- specifies the preferred installation method. Possible values are -- +EUMM+ (for +Makefile.PL+ based installation using -- +ExtUtils-MakeMaker+) and +MB+ (for +Build.PL+ based installation -- using +Module-Build+). This variable is only used when the package -- provides both installation methods. -- --* +PERL_FOO_CONF_ENV+/+HOST_PERL_FOO_CONF_ENV+, to specify additional -- environment variables to pass to the +perl Makefile.PL+ or +perl Build.PL+. -- By default, empty. -- --* +PERL_FOO_CONF_OPTS+/+HOST_PERL_FOO_CONF_OPTS+, to specify additional -- configure options to pass to the +perl Makefile.PL+ or +perl Build.PL+. -- By default, empty. -- --* +PERL_FOO_BUILD_OPTS+/+HOST_PERL_FOO_BUILD_OPTS+, to specify additional -- options to pass to +make pure_all+ or +perl Build build+ in the build step. -- By default, empty. -- --* +PERL_FOO_INSTALL_TARGET_OPTS+, to specify additional options to -- pass to +make pure_install+ or +perl Build install+ in the install step. -- By default, empty. -- --* +HOST_PERL_FOO_INSTALL_OPTS+, to specify additional options to -- pass to +make pure_install+ or +perl Build install+ in the install step. -- By default, empty. -diff --git a/docs.original/manual/adding-packages-python.txt b/docs.original/manual/adding-packages-python.txt -deleted file mode 100644 -index 0c100859be..0000000000 ---- a/docs.original/manual/adding-packages-python.txt -+++ /dev/null -@@ -1,260 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for Python packages -- --This infrastructure applies to Python packages that use the standard --Python setuptools mechanism as their build system, generally --recognizable by the usage of a +setup.py+ script. -- --[[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 two --supported ones are +distutils+ 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+). -- --Packages that are only compatible with one version of Python (as in: --Python 2 or Python 3) should depend on that version explicitely in --their +Config.in+ file (+BR2_PACKAGE_PYTHON+ for Python 2, --+BR2_PACKAGE_PYTHON3+ for Python 3). Packages that are compatible --with both versions should not explicitely depend on them in their --+Config.in+ file, since that condition is already expressed for the --whole "External python modules" menu. -- --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 two supported values are +distutils+ and -- +setuptools+. If you don't know which one is used in your package, -- look at the +setup.py+ file in your package source code, and see -- whether it imports things from the +distutils+ module or the -- +setuptools+ module. -- --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+ file. This is useful, -- if for example, the main +setup.py+ 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 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) and +HOST_PKG_PYTHON_SETUPTOOLS_ENV+ -- (for setuptools host packages). -- --* +PYTHON_FOO_BUILD_OPTS+, to specify additional options to pass to the -- Python +setup.py+ script during the build step. 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 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) and +HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS+ (for host -- setuptools packages). -- --* +HOST_PYTHON_FOO_NEEDS_HOST_PYTHON+, to define the host python -- interpreter. The usage of this variable is limited to host -- packages. The two supported value are +python2+ and +python3+. It -- will ensure the right host python package is available and will -- invoke it for the build. If some build steps are overloaded, the -- right python interpreter must be explicitly called in the commands. -- --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.original/manual/adding-packages-qmake.txt b/docs.original/manual/adding-packages-qmake.txt -deleted file mode 100644 -index 699d082aa1..0000000000 ---- a/docs.original/manual/adding-packages-qmake.txt -+++ /dev/null -@@ -1,85 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for QMake-based packages -- --[[qmake-package-tutorial]] -- --==== +qmake-package+ tutorial -- --First, let's see how to write a +.mk+ file for a QMake-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_CONF_OPTS = QT_CONFIG+=bar QT_CONFIG-=baz --11: LIBFOO_DEPENDENCIES = bar --12: --13: $(eval $(qmake-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 what options to enable for libfoo. -- --On line 11, we tell Buildroot the dependencies of libfoo. -- --Finally, on line line 13, we invoke the +qmake-package+ --macro that generates all the Makefile rules that actually allows the --package to be built. -- --[[qmake-package-reference]] -- --==== +qmake-package+ reference -- --The main macro of the QMake package infrastructure is +qmake-package+. --It is similar to the +generic-package+ macro. -- --Just like the generic infrastructure, the QMake infrastructure works --by defining a number of variables before calling the +qmake-package+ --macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the QMake infrastructure: --+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, --+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, --+LIBFOO_INSTALL_TARGET+. -- --An additional variable, specific to the QMake infrastructure, can --also be defined. -- --* +LIBFOO_CONF_ENV+, to specify additional environment variables to -- pass to the +qmake+ script for the configuration step. By default, empty. -- --* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the -- +qmake+ script for the configuration step. By default, empty. -- --* +LIBFOO_MAKE_ENV+, to specify additional environment variables to the -- +make+ command during the build and install steps. By default, empty. -- --* +LIBFOO_MAKE_OPTS+, to specify additional targets to pass to the -- +make+ command during the build step. By default, empty. -- --* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional targets to pass -- to the +make+ command during the staging installation step. By default, -- +install+. -- --* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional targets to pass -- to the +make+ command during the target installation step. By default, -- +install+. -- --* +LIBFOO_SYNC_QT_HEADERS+, to run syncqt.pl before qmake. Some packages -- need this to have a properly populated include directory before -- running the build. -diff --git a/docs.original/manual/adding-packages-rebar.txt b/docs.original/manual/adding-packages-rebar.txt -deleted file mode 100644 -index d78b3171d8..0000000000 ---- a/docs.original/manual/adding-packages-rebar.txt -+++ /dev/null -@@ -1,108 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for rebar-based packages -- --[[rebar-package-tutorial]] -- --==== +rebar-package+ tutorial -- --First, let's see how to write a +.mk+ file for a rebar-based package, --with an example : -- -------------------------------- --01: ################################################################################ --02: # --03: # erlang-foobar --04: # --05: ################################################################################ --06: --07: ERLANG_FOOBAR_VERSION = 1.0 --08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz --09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download --10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb --11: --12: $(eval $(rebar-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 declare our dependencies, so that they are built --before the build process of our package starts. -- --Finally, on line 12, we invoke the +rebar-package+ macro that --generates all the Makefile rules that actually allows the package to --be built. -- --[[rebar-package-reference]] -- --==== +rebar-package+ reference -- --The main macro of the +rebar+ package infrastructure is --+rebar-package+. It is similar to the +generic-package+ macro. The --ability to have host packages is also available, with the --+host-rebar-package+ macro. -- --Just like the generic infrastructure, the +rebar+ infrastructure works --by defining a number of variables before calling the +rebar-package+ --macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the +rebar+ infrastructure: --+ERLANG_FOOBAR_VERSION+, +ERLANG_FOOBAR_SOURCE+, --+ERLANG_FOOBAR_PATCH+, +ERLANG_FOOBAR_SITE+, --+ERLANG_FOOBAR_SUBDIR+, +ERLANG_FOOBAR_DEPENDENCIES+, --+ERLANG_FOOBAR_INSTALL_STAGING+, +ERLANG_FOOBAR_INSTALL_TARGET+, --+ERLANG_FOOBAR_LICENSE+ and +ERLANG_FOOBAR_LICENSE_FILES+. -- --A few additional variables, specific to the +rebar+ 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. -- --* +ERLANG_FOOBAR_USE_AUTOCONF+, to specify that the package uses -- _autoconf_ at the configuration step. When a package sets this -- variable to +YES+, the +autotools+ infrastructure is used. --+ --.Note --You can also use some of the variables from the +autotools+ -- infrastructure: +ERLANG_FOOBAR_CONF_ENV+, +ERLANG_FOOBAR_CONF_OPTS+, -- +ERLANG_FOOBAR_AUTORECONF+, +ERLANG_FOOBAR_AUTORECONF_ENV+ and -- +ERLANG_FOOBAR_AUTORECONF_OPTS+. -- --* +ERLANG_FOOBAR_USE_BUNDLED_REBAR+, to specify that the package has -- a bundled version of _rebar_ *and* that it shall be used. Valid -- values are +YES+ or +NO+ (the default). --+ --.Note --If the package bundles a _rebar_ utility, but can use the generic -- one that Buildroot provides, just say +NO+ (i.e., do not specify -- this variable). Only set if it is mandatory to use the _rebar_ -- utility bundled in this package. -- --* +ERLANG_FOOBAR_REBAR_ENV+, to specify additional environment -- variables to pass to the _rebar_ utility. -- --* +ERLANG_FOOBAR_KEEP_DEPENDENCIES+, to keep the dependencies -- described in the rebar.config file. Valid values are +YES+ or +NO+ -- (the default). Unless this variable is set to +YES+, the _rebar_ -- infrastructure removes such dependencies in a post-patch hook to -- ensure rebar does not download nor compile them. -- --With the rebar infrastructure, all the steps required to build --and install the packages are already defined, and they generally work --well for most rebar-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 rebar -- infrastructure is used, if the package +.mk+ file defines its -- own +ERLANG_FOOBAR_BUILD_CMDS+ variable, it will be used instead -- of the default rebar one. However, using this method should be -- restricted to very specific cases. Do not use it in the general -- case. -diff --git a/docs.original/manual/adding-packages-tips.txt b/docs.original/manual/adding-packages-tips.txt -deleted file mode 100644 -index d8c2eceb10..0000000000 ---- a/docs.original/manual/adding-packages-tips.txt -+++ /dev/null -@@ -1,242 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Tips and tricks -- --[[package-name-variable-relation]] --==== Package name, config entry name and makefile variable relationship -- --In Buildroot, there is some relationship between: -- --* the _package name_, which is the package directory name (and the -- name of the +*.mk+ file); -- --* the config entry name that is declared in the +Config.in+ file; -- --* the makefile variable prefix. -- --It is mandatory to maintain consistency between these elements, --using the following rules: -- --* the package directory and the +*.mk+ name are the _package name_ -- itself (e.g.: +package/foo-bar_boo/foo-bar_boo.mk+); -- --* the _make_ target name is the _package name_ itself (e.g.: -- +foo-bar_boo+); -- --* the config entry is the upper case _package name_ with `.` and `-` -- characters substituted with `_`, prefixed with +BR2_PACKAGE_+ (e.g.: -- +BR2_PACKAGE_FOO_BAR_BOO+); -- --* the +*.mk+ file variable prefix is the upper case _package name_ -- with `.` and `-` characters substituted with `_` (e.g.: -- +FOO_BAR_BOO_VERSION+). -- --[[check-package]] --==== How to check the coding style -- --Buildroot provides a script in +utils/check-package+ that checks new or --changed files for coding style. It is not a complete language validator, --but it catches many common mistakes. It is meant to run in the actual --files you created or modified, before creating the patch for submission. -- --This script can be used for packages, filesystem makefiles, Config.in --files, etc. It does not check the files defining the package --infrastructures and some other files containing similar common code. -- --To use it, run the +check-package+ script, by telling which files you --created or changed: -- ------ --$ ./utils/check-package package/new-package/* ------ -- --If you have the +utils+ directory in your path you can also run: -- ------ --$ cd package/new-package/ --$ check-package * ------ -- --The tool can also be used for packages in a br2-external: -- ------ --$ check-package -b /path/to/br2-ext-tree/package/my-package/* ------ -- --[[testing-package]] --==== How to test your package -- --Once you have added your new package, it is important that you test it --under various conditions: does it build for all architectures? Does it --build with the different C libraries? Does it need threads, NPTL? And --so on... -- --Buildroot runs http://autobuild.buildroot.org/[autobuilders] which --continuously test random configurations. However, these only build the --`master` branch of the git tree, and your new fancy package is not yet --there. -- --Buildroot provides a script in +utils/test-pkg+ that uses the same base --configurations as used by the autobuilders so you can test your package --in the same conditions. -- --First, create a config snippet that contains all the necessary options --needed to enable your package, but without any architecture or toolchain --option. For example, let's create a config snippet that just enables --+libcurl+, without any TLS backend: -- ------ --$ cat libcurl.config --BR2_PACKAGE_LIBCURL=y ------ -- --If your package needs more configuration options, you can add them to the --config snippet. For example, here's how you would test +libcurl+ with --+openssl+ as a TLS backend and the +curl+ program: -- ------ --$ cat libcurl.config --BR2_PACKAGE_LIBCURL=y --BR2_PACKAGE_LIBCURL_CURL=y --BR2_PACKAGE_OPENSSL=y ------ -- --Then run the +test-pkg+ script, by telling it what config snippet to use --and what package to test: -- ------ --$ ./utils/test-pkg -c libcurl.config -p libcurl ------ -- --By default, +test-pkg+ will build your package against a subset of the --toolchains used by the autobuilders, which has been selected by the --Buildroot developers as being the most useful and representative --subset. If you want to test all toolchains, pass the +-a+ option. Note --that in any case, internal toolchains are excluded as they take too --long to build. -- --The output lists all toolchains that are tested and the corresponding --result (excerpt, results are fake): -- ------ --$ ./utils/test-pkg -c libcurl.config -p libcurl -- armv5-ctng-linux-gnueabi [ 1/11]: OK -- armv7-ctng-linux-gnueabihf [ 2/11]: OK -- br-aarch64-glibc [ 3/11]: SKIPPED -- br-arcle-hs38 [ 4/11]: SKIPPED -- br-arm-basic [ 5/11]: FAILED -- br-arm-cortex-a9-glibc [ 6/11]: OK -- br-arm-cortex-a9-musl [ 7/11]: FAILED -- br-arm-cortex-m4-full [ 8/11]: OK -- br-arm-full [ 9/11]: OK -- br-arm-full-nothread [10/11]: FAILED -- br-arm-full-static [11/11]: OK --11 builds, 2 skipped, 2 build failed, 1 legal-info failed ------ -- --The results mean: -- --* `OK`: the build was successful. --* `SKIPPED`: one or more configuration options listed in the config -- snippet were not present in the final configuration. This is due to -- options having dependencies not satisfied by the toolchain, such as -- for example a package that +depends on BR2_USE_MMU+ with a noMMU -- toolchain. The missing options are reported in +missing.config+ in -- the output build directory (+~/br-test-pkg/TOOLCHAIN_NAME/+ by -- default). --* `FAILED`: the build failed. Inspect the +logfile+ file in the output -- build directory to see what went wrong: --** the actual build failed, --** the legal-info failed, --** one of the preliminary steps (downloading the config file, applying -- the configuration, running `dirclean` for the package) failed. -- --When there are failures, you can just re-run the script with the same --options (after you fixed your package); the script will attempt to --re-build the package specified with +-p+ for all toolchains, without --the need to re-build all the dependencies of that package. -- --The +test-pkg+ script accepts a few options, for which you can get some --help by running: -- ------ --$ ./utils/test-pkg -h ------ -- --[[github-download-url]] --==== How to add a package from GitHub -- --Packages on GitHub often don't have a download area with release tarballs. --However, it is possible to download tarballs directly from the repository --on GitHub. As GitHub is known to have changed download mechanisms in the --past, the 'github' helper function should be used as shown below. -- -------------------------- --# Use a tag or a full commit ID --FOO_VERSION = 1.0 --FOO_SITE = $(call github,,,v$(FOO_VERSION)) -------------------------- -- --.Notes --- The FOO_VERSION can either be a tag or a commit ID. --- The tarball name generated by github matches the default one from -- Buildroot (e.g.: +foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz+), -- so it is not necessary to specify it in the +.mk+ file. --- When using a commit ID as version, you should use the full 40 hex characters. --- When the tag contains a prefix such as +v+ in +v1.0+, then the -- +VERSION+ variable should contain just +1.0+, and the +v+ should be -- added directly in the +SITE+ variable, as illustrated above. This -- ensures that the +VERSION+ variable value can be used to match -- against http://www.release-monitoring.org/[release-monitoring.org] -- results. -- --If the package you wish to add does have a release section on GitHub, the --maintainer may have uploaded a release tarball, or the release may just point --to the automatically generated tarball from the git tag. If there is a --release tarball uploaded by the maintainer, we prefer to use that since it --may be slightly different (e.g. it contains a configure script so we don't --need to do AUTORECONF). -- --You can see on the release page if it's an uploaded tarball or a git tag: -- --image::github_hash_mongrel2.png[] -- --- If it looks like the image above then it was uploaded by the -- maintainer and you should use that link (in that example: -- 'mongrel2-v1.9.2.tar.bz2') to specify +FOO_SITE+, and not use the -- 'github' helper. -- --- On the other hand, if there's is *only* the "Source code" link, then -- it's an automatically generated tarball and you should use the -- 'github' helper function. -- --[[gitlab-download-url]] --==== How to add a package from Gitlab -- --In a similar way to the +github+ macro described in --xref:github-download-url[], Buildroot also provides the +gitlab+ macro --to download from Gitlab repositories. It can be used to download --auto-generated tarballs produced by Gitlab, either for specific tags --or commits: -- -------------------------- --# Use a tag or a full commit ID --FOO_VERSION = 1.0 --FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) -------------------------- -- --By default, it will use a +.tar.gz+ tarball, but Gitlab also provides --+.tar.bz2+ tarballs, so by adding a +_SOURCE+ variable, this --+.tar.bz2+ tarball can be used: -- -------------------------- --# Use a tag or a full commit ID --FOO_VERSION = 1.0 --FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) --FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2 -------------------------- -- --If there is a specific tarball uploaded by the upstream developers in --+https://gitlab.com//releases/+, do not use this macro, but --rather use directly the link to the tarball. -diff --git a/docs.original/manual/adding-packages-virtual.txt b/docs.original/manual/adding-packages-virtual.txt -deleted file mode 100644 -index 6326bb5455..0000000000 ---- a/docs.original/manual/adding-packages-virtual.txt -+++ /dev/null -@@ -1,144 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for virtual packages -- --[[virtual-package-tutorial]] -- --In Buildroot, a virtual package is a package whose functionalities are --provided by one or more packages, referred to as 'providers'. The virtual --package management is an extensible mechanism allowing the user to choose --the provider used in the rootfs. -- --For example, 'OpenGL ES' is an API for 2D and 3D graphics on embedded systems. --The implementation of this API is different for the 'Allwinner Tech Sunxi' and --the 'Texas Instruments OMAP35xx' platforms. So +libgles+ will be a virtual --package and +sunxi-mali+ and +ti-gfx+ will be the providers. -- --==== +virtual-package+ tutorial -- --In the following example, we will explain how to add a new virtual package --('something-virtual') and a provider for it ('some-provider'). -- --First, let's create the virtual package. -- --==== Virtual package's +Config.in+ file -- --The +Config.in+ file of virtual package 'something-virtual' should contain: -- ----------------------------- --01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL --02: bool --03: --04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL --05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL --06: string ----------------------------- -- --In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and --+BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the --providers. -- --==== Virtual package's +.mk+ file -- --The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro: -- ----------------------------- --01: ################################################################################ --02: # --03: # something-virtual --04: # --05: ################################################################################ --06: --07: $(eval $(virtual-package)) ----------------------------- -- --The ability to have target and host packages is also available, with the --+host-virtual-package+ macro. -- --==== Provider's +Config.in+ file -- --When adding a package as a provider, only the +Config.in+ file requires some --modifications. -- --The +Config.in+ file of the package 'some-provider', which provides the --functionalities of 'something-virtual', should contain: -- ----------------------------- --01: config BR2_PACKAGE_SOME_PROVIDER --02: bool "some-provider" --03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL --04: help --05: This is a comment that explains what some-provider is. --06: --07: http://foosoftware.org/some-provider/ --08: --09: if BR2_PACKAGE_SOME_PROVIDER --10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL --11: default "some-provider" --12: endif ----------------------------- -- --On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we --set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the --provider, but only if it is selected. -- --==== Provider's +.mk+ file -- --The +.mk+ file should also declare an additional variable --+SOME_PROVIDER_PROVIDES+ to contain the names of all the virtual --packages it is an implementation of: -- ----------------------------- --01: SOME_PROVIDER_PROVIDES = something-virtual ----------------------------- -- --Of course, do not forget to add the proper build and runtime dependencies for --this package! -- --==== Notes on depending on a virtual package -- --When adding a package that requires a certain +FEATURE+ provided by a virtual --package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so: -- ----------------------------- --config BR2_PACKAGE_HAS_FEATURE -- bool -- --config BR2_PACKAGE_FOO -- bool "foo" -- depends on BR2_PACKAGE_HAS_FEATURE ----------------------------- -- --==== Notes on depending on a specific provider -- --If your package really requires a specific provider, then you'll have to --make your package +depends on+ this provider; you can _not_ +select+ a --provider. -- --Let's take an example with two providers for a +FEATURE+: -- ----------------------------- --config BR2_PACKAGE_HAS_FEATURE -- bool -- --config BR2_PACKAGE_FOO -- bool "foo" -- select BR2_PACKAGE_HAS_FEATURE -- --config BR2_PACKAGE_BAR -- bool "bar" -- select BR2_PACKAGE_HAS_FEATURE ----------------------------- -- --And you are adding a package that needs +FEATURE+ as provided by +foo+, --but not as provided by +bar+. -- --If you were to use +select BR2_PACKAGE_FOO+, then the user would still --be able to select +BR2_PACKAGE_BAR+ in the menuconfig. This would create --a configuration inconsistency, whereby two providers of the same +FEATURE+ --would be enabled at once, one explicitly set by the user, the other --implicitly by your +select+. -- --Instead, you have to use +depends on BR2_PACKAGE_FOO+, which avoids any --implicit configuration inconsistency. -diff --git a/docs.original/manual/adding-packages-waf.txt b/docs.original/manual/adding-packages-waf.txt -deleted file mode 100644 -index 101cddf1f1..0000000000 ---- a/docs.original/manual/adding-packages-waf.txt -+++ /dev/null -@@ -1,91 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Infrastructure for Waf-based packages -- --[[waf-package-tutorial]] -- --==== +waf-package+ tutorial -- --First, let's see how to write a +.mk+ file for a Waf-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_CONF_OPTS = --enable-bar --disable-baz --11: LIBFOO_DEPENDENCIES = bar --12: --13: $(eval $(waf-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 what options to enable for libfoo. -- --On line 11, we tell Buildroot the dependencies of libfoo. -- --Finally, on line line 13, we invoke the +waf-package+ --macro that generates all the Makefile rules that actually allows the --package to be built. -- --[[waf-package-reference]] -- --==== +waf-package+ reference -- --The main macro of the Waf package infrastructure is +waf-package+. --It is similar to the +generic-package+ macro. -- --Just like the generic infrastructure, the Waf infrastructure works --by defining a number of variables before calling the +waf-package+ --macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the Waf infrastructure: --+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, --+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, --+LIBFOO_INSTALL_TARGET+. -- --An additional variable, specific to the Waf infrastructure, can --also be defined. -- --* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the -- package that contains the main wscript file. This is useful, -- if for example, the main wscript 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_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell -- Buildroot to use the bundled +waf+ executable. If set to +NO+, the -- default, then Buildroot will use the waf executable provided in the -- package source tree; if set to +YES+, then Buildroot will download, -- install waf as a host tool and use it to build the package. -- --* +LIBFOO_WAF_OPTS+, to specify additional options to pass to the -- +waf+ script at every step of the package build process: configure, -- build and installation. By default, empty. -- --* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the -- +waf+ script for the configuration step. By default, empty. -- --* +LIBFOO_BUILD_OPTS+, to specify additional options to pass to the -- +waf+ script during the build step. By default, empty. -- --* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional options to pass -- to the +waf+ script during the staging installation step. By default, -- empty. -- --* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional options to pass -- to the +waf+ script during the target installation step. By default, -- empty. -diff --git a/docs.original/manual/adding-packages.txt b/docs.original/manual/adding-packages.txt -deleted file mode 100644 -index 814355cd76..0000000000 ---- a/docs.original/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.original/manual/advanced.txt b/docs.original/manual/advanced.txt -deleted file mode 100644 -index b7bfc4923d..0000000000 ---- a/docs.original/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.original/manual/appendix.txt b/docs.original/manual/appendix.txt -deleted file mode 100644 -index 86afa4bdaa..0000000000 ---- a/docs.original/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.original/manual/beyond-buildroot.txt b/docs.original/manual/beyond-buildroot.txt -deleted file mode 100644 -index eefea1fecf..0000000000 ---- a/docs.original/manual/beyond-buildroot.txt -+++ /dev/null -@@ -1,66 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --== Beyond Buildroot -- --=== Boot the generated images -- --==== NFS boot -- --To achieve NFS-boot, enable _tar root filesystem_ in the _Filesystem --images_ menu. -- --After a complete build, just run the following commands to setup the --NFS-root directory: -- --------------------- --sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir --------------------- -- --Remember to add this path to +/etc/exports+. -- --Then, you can execute a NFS-boot from your target. -- --==== Live CD -- --To build a live CD image, enable the _iso image_ option in the --_Filesystem images_ menu. Note that this option is only available on --the x86 and x86-64 architectures, and if you are building your kernel --with Buildroot. -- --You can build a live CD image with either IsoLinux, Grub or Grub 2 as --a bootloader, but only Isolinux supports making this image usable both --as a live CD and live USB (through the _Build hybrid image_ option). -- --You can test your live CD image using QEMU: -- --------------------- --qemu-system-i386 -cdrom output/images/rootfs.iso9660 --------------------- -- --Or use it as a hard-drive image if it is a hybrid ISO: -- --------------------- --qemu-system-i386 -hda output/images/rootfs.iso9660 --------------------- -- --It can be easily flashed to a USB drive with +dd+: -- --------------------- --dd if=output/images/rootfs.iso9660 of=/dev/sdb --------------------- -- --=== Chroot -- --If you want to chroot in a generated image, then there are few thing --you should be aware of: -- --* you should setup the new root from the _tar root filesystem_ image; -- --* either the selected target architecture is compatible with your host -- machine, or you should use some +qemu-*+ binary and correctly set it -- within the +binfmt+ properties to be able to run the binaries built -- for the target on your host machine; -- --* Buildroot does not currently provide +host-qemu+ and +binfmt+ -- correctly built and set for that kind of use. -diff --git a/docs.original/manual/ccache-support.txt b/docs.original/manual/ccache-support.txt -deleted file mode 100644 -index f6746ad7d8..0000000000 ---- a/docs.original/manual/ccache-support.txt -+++ /dev/null -@@ -1,55 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[ccache]] --==== Using +ccache+ in Buildroot -- --http://ccache.samba.org[ccache] is a compiler cache. It stores the --object files resulting from each compilation process, and is able to --skip future compilation of the same source file (with same compiler --and same arguments) by using the pre-existing object files. When doing --almost identical builds from scratch a number of times, it can nicely --speed up the build process. -- --+ccache+ support is integrated in Buildroot. You just have to enable --+Enable compiler cache+ in +Build options+. This will automatically --build +ccache+ and use it for every host and target compilation. -- --The cache is located in +$HOME/.buildroot-ccache+. It is stored --outside of Buildroot output directory so that it can be shared by --separate Buildroot builds. If you want to get rid of the cache, simply --remove this directory. -- --You can get statistics on the cache (its size, number of hits, --misses, etc.) by running +make ccache-stats+. -- --The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable --provide more generic access to the ccache. For example -- ------------------- --# set cache limit size --make CCACHE_OPTIONS="--max-size=5G" ccache-options -- --# zero statistics counters --make CCACHE_OPTIONS="--zero-stats" ccache-options ------------------- -- --+ccache+ makes a hash of the source files and of the compiler options. --If a compiler option is different, the cached object file will not be --used. Many compiler options, however, contain an absolute path to the --staging directory. Because of this, building in a different output --directory would lead to many cache misses. -- --To avoid this issue, buildroot has the +Use relative paths+ option --(+BR2_CCACHE_USE_BASEDIR+). This will rewrite all absolute paths that --point inside the output directory into relative paths. Thus, changing --the output directory no longer leads to cache misses. -- --A disadvantage of the relative paths is that they also end up to be --relative paths in the object file. Therefore, for example, the debugger --will no longer find the file, unless you cd to the output directory --first. -- --See https://ccache.samba.org/manual.html#_compiling_in_different_directories[the --ccache manual's section on "Compiling in different directories"] for --more details about this rewriting of absolute paths. -diff --git a/docs.original/manual/common-usage.txt b/docs.original/manual/common-usage.txt -deleted file mode 100644 -index 9ba87a8339..0000000000 ---- a/docs.original/manual/common-usage.txt -+++ /dev/null -@@ -1,422 +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::eclipse-integration.txt[] -- --include::advanced.txt[] -diff --git a/docs.original/manual/configure-other-components.txt b/docs.original/manual/configure-other-components.txt -deleted file mode 100644 -index 60a80f0a48..0000000000 ---- a/docs.original/manual/configure-other-components.txt -+++ /dev/null -@@ -1,60 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --== Configuration of other components -- --Before attempting to modify any of the components below, make sure you --have already configured Buildroot itself, and have enabled the --corresponding package. -- --BusyBox:: --+ --If you already have a BusyBox configuration file, you can directly --specify this file in the Buildroot configuration, using --+BR2_PACKAGE_BUSYBOX_CONFIG+. Otherwise, Buildroot will start from a --default BusyBox configuration file. --+ --To make subsequent changes to the configuration, use +make --busybox-menuconfig+ to open the BusyBox configuration editor. --+ --It is also possible to specify a BusyBox configuration file through an --environment variable, although this is not recommended. Refer to --xref:env-vars[] for more details. -- --uClibc:: --+ --Configuration of uClibc is done in the same way as for BusyBox. The --configuration variable to specify an existing configuration file is --+BR2_UCLIBC_CONFIG+. The command to make subsequent changes is +make --uclibc-menuconfig+. -- --Linux kernel:: --+ --If you already have a kernel configuration file, you can directly --specify this file in the Buildroot configuration, using --+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG+. --+ --If you do not yet have a kernel configuration file, you can either start --by specifying a defconfig in the Buildroot configuration, using --+BR2_LINUX_KERNEL_USE_DEFCONFIG+, or start by creating an empty file and --specifying it as custom configuration file, using --+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG+. --+ --To make subsequent changes to the configuration, use +make --linux-menuconfig+ to open the Linux configuration editor. -- --Barebox:: --+ --Configuration of Barebox is done in the same way as for the Linux --kernel. The corresponding configuration variables are --+BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG+ and --+BR2_TARGET_BAREBOX_USE_DEFCONFIG+. To open the configuration editor, --use +make barebox-menuconfig+. -- --U-Boot:: --+ --Configuration of U-Boot (version 2015.04 or newer) is done in the same --way as for the Linux kernel. The corresponding configuration variables --are +BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG+ and --+BR2_TARGET_UBOOT_USE_DEFCONFIG+. To open the configuration editor, --use +make uboot-menuconfig+. -diff --git a/docs.original/manual/configure.txt b/docs.original/manual/configure.txt -deleted file mode 100644 -index c9eef567f4..0000000000 ---- a/docs.original/manual/configure.txt -+++ /dev/null -@@ -1,430 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[configure]] --== Buildroot configuration -- --All the configuration options in +make *config+ have a help text --providing details about the option. -- --The +make *config+ commands also offer a search tool. Read the help --message in the different frontend menus to know how to use it: -- --* in _menuconfig_, the search tool is called by pressing +/+; --* in _xconfig_, the search tool is called by pressing +Ctrl+ + +f+. -- --The result of the search shows the help message of the matching items. --In _menuconfig_, numbers in the left column provide a shortcut to the --corresponding entry. Just type this number to directly jump to the --entry, or to the containing menu in case the entry is not selectable due --to a missing dependency. -- --Although the menu structure and the help text of the entries should be --sufficiently self-explanatory, a number of topics require additional --explanation that cannot easily be covered in the help text and are --therefore covered in the following sections. -- --=== Cross-compilation toolchain -- --A compilation toolchain is the set of tools that allows you to compile --code for your system. It consists of a compiler (in our case, +gcc+), --binary utils like assembler and linker (in our case, +binutils+) and a --C standard library (for example --http://www.gnu.org/software/libc/libc.html[GNU Libc], --http://www.uclibc-ng.org/[uClibc-ng]). -- --The system installed on your development station certainly already has --a compilation toolchain that you can use to compile an application --that runs on your system. If you're using a PC, your compilation --toolchain runs on an x86 processor and generates code for an x86 --processor. Under most Linux systems, the compilation toolchain uses --the GNU libc (glibc) as the C standard library. This compilation --toolchain is called the "host compilation toolchain". The machine on --which it is running, and on which you're working, is called the "host --system" footnote:[This terminology differs from what is used by GNU --configure, where the host is the machine on which the application will --run (which is usually the same as target)]. -- --The compilation toolchain is provided by your distribution, and --Buildroot has nothing to do with it (other than using it to build a --cross-compilation toolchain and other tools that are run on the --development host). -- --As said above, the compilation toolchain that comes with your system --runs on and generates code for the processor in your host system. As --your embedded system has a different processor, you need a --cross-compilation toolchain - a compilation toolchain that runs on --your _host system_ but generates code for your _target system_ (and --target processor). For example, if your host system uses x86 and your --target system uses ARM, the regular compilation toolchain on your host --runs on x86 and generates code for x86, while the cross-compilation --toolchain runs on x86 and generates code for ARM. -- --Buildroot provides two solutions for the cross-compilation toolchain: -- -- * The *internal toolchain backend*, called +Buildroot toolchain+ in -- the configuration interface. -- -- * The *external toolchain backend*, called +External toolchain+ in -- the configuration interface. -- --The choice between these two solutions is done using the +Toolchain --Type+ option in the +Toolchain+ menu. Once one solution has been --chosen, a number of configuration options appear, they are detailed in --the following sections. -- --[[internal-toolchain-backend]] --==== Internal toolchain backend -- --The _internal toolchain backend_ is the backend where Buildroot builds --by itself a cross-compilation toolchain, before building the userspace --applications and libraries for your target embedded system. -- --This backend supports several C libraries: --http://www.uclibc-ng.org[uClibc-ng], --http://www.gnu.org/software/libc/libc.html[glibc] and --http://www.musl-libc.org[musl]. -- --Once you have selected this backend, a number of options appear. The --most important ones allow to: -- -- * Change the version of the Linux kernel headers used to build the -- toolchain. This item deserves a few explanations. In the process of -- building a cross-compilation toolchain, the C library is being -- built. This library provides the interface between userspace -- applications and the Linux kernel. In order to know how to "talk" -- to the Linux kernel, the C library needs to have access to the -- _Linux kernel headers_ (i.e. the +.h+ files from the kernel), which -- define the interface between userspace and the kernel (system -- calls, data structures, etc.). Since this interface is backward -- compatible, the version of the Linux kernel headers used to build -- your toolchain do not need to match _exactly_ the version of the -- Linux kernel you intend to run on your embedded system. They only -- need to have a version equal or older to the version of the Linux -- kernel you intend to run. If you use kernel headers that are more -- recent than the Linux kernel you run on your embedded system, then -- the C library might be using interfaces that are not provided by -- your Linux kernel. -- -- * Change the version of the GCC compiler, binutils and the C library. -- -- * Select a number of toolchain options (uClibc only): whether the -- toolchain should have RPC support (used mainly for NFS), -- wide-char support, locale support (for internationalization), -- C++ support or thread support. Depending on which options you choose, -- the number of userspace applications and libraries visible in -- Buildroot menus will change: many applications and libraries require -- certain toolchain options to be enabled. Most packages show a comment -- when a certain toolchain option is required to be able to enable -- those packages. If needed, you can further refine the uClibc -- configuration by running +make uclibc-menuconfig+. Note however that -- all packages in Buildroot are tested against the default uClibc -- configuration bundled in Buildroot: if you deviate from this -- configuration by removing features from uClibc, some packages may no -- longer build. -- --It is worth noting that whenever one of those options is modified, --then the entire toolchain and system must be rebuilt. See --xref:full-rebuild[]. -- --Advantages of this backend: -- --* Well integrated with Buildroot --* Fast, only builds what's necessary -- --Drawbacks of this backend: -- --* Rebuilding the toolchain is needed when doing +make clean+, which -- takes time. If you're trying to reduce your build time, consider -- using the _External toolchain backend_. -- --[[external-toolchain-backend]] --==== External toolchain backend -- --The _external toolchain backend_ allows to use existing pre-built --cross-compilation toolchains. Buildroot knows about a number of --well-known cross-compilation toolchains (from --http://www.linaro.org[Linaro] for ARM, --http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery --CodeBench] for ARM, x86-64, PowerPC, and MIPS, and is capable of --downloading them automatically, or it can be pointed to a custom --toolchain, either available for download or installed locally. -- --Then, you have three solutions to use an external toolchain: -- --* Use a predefined external toolchain profile, and let Buildroot -- download, extract and install the toolchain. Buildroot already knows -- about a few CodeSourcery and Linaro toolchains. Just select the -- toolchain profile in +Toolchain+ from the available ones. This is -- definitely the easiest solution. -- --* Use a predefined external toolchain profile, but instead of having -- Buildroot download and extract the toolchain, you can tell Buildroot -- where your toolchain is already installed on your system. Just -- select the toolchain profile in +Toolchain+ through the available -- ones, unselect +Download toolchain automatically+, and fill the -- +Toolchain path+ text entry with the path to your cross-compiling -- toolchain. -- --* Use a completely custom external toolchain. This is particularly -- useful for toolchains generated using crosstool-NG or with Buildroot -- itself. To do this, select the +Custom toolchain+ solution in the -- +Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain -- prefix+ and +External toolchain C library+ options. Then, you have -- to tell Buildroot what your external toolchain supports. If your -- external toolchain uses the 'glibc' library, you only have to tell -- whether your toolchain supports C\++ or not and whether it has -- built-in RPC support. If your external toolchain uses the 'uClibc' -- library, then you have to tell Buildroot if it supports RPC, -- wide-char, locale, program invocation, threads and C++. -- At the beginning of the execution, Buildroot will tell you if -- the selected options do not match the toolchain configuration. -- --Our external toolchain support has been tested with toolchains from --CodeSourcery and Linaro, toolchains generated by --http://crosstool-ng.org[crosstool-NG], and toolchains generated by --Buildroot itself. In general, all toolchains that support the --'sysroot' feature should work. If not, do not hesitate to contact the --developers. -- --We do not support toolchains or SDK generated by OpenEmbedded or --Yocto, because these toolchains are not pure toolchains (i.e. just the --compiler, binutils, the C and C++ libraries). Instead these toolchains --come with a very large set of pre-compiled libraries and --programs. Therefore, Buildroot cannot import the 'sysroot' of the --toolchain, as it would contain hundreds of megabytes of pre-compiled --libraries that are normally built by Buildroot. -- --We also do not support using the distribution toolchain (i.e. the --gcc/binutils/C library installed by your distribution) as the --toolchain to build software for the target. This is because your --distribution toolchain is not a "pure" toolchain (i.e. only with the --C/C++ library), so we cannot import it properly into the Buildroot --build environment. So even if you are building a system for a x86 or --x86_64 target, you have to generate a cross-compilation toolchain with --Buildroot or crosstool-NG. -- --If you want to generate a custom toolchain for your project, that can --be used as an external toolchain in Buildroot, our recommendation is --to build it either with Buildroot itself (see --xref:build-toolchain-with-buildroot[]) or with --http://crosstool-ng.org[crosstool-NG]. -- --Advantages of this backend: -- --* Allows to use well-known and well-tested cross-compilation -- toolchains. -- --* Avoids the build time of the cross-compilation toolchain, which is -- often very significant in the overall build time of an embedded -- Linux system. -- --Drawbacks of this backend: -- --* If your pre-built external toolchain has a bug, may be hard to get a -- fix from the toolchain vendor, unless you build your external -- toolchain by yourself using Buildroot or Crosstool-NG. -- --[[build-toolchain-with-buildroot]] --==== Build an external toolchain with Buildroot -- --The Buildroot internal toolchain option can be used to create an --external toolchain. Here are a series of steps to build an internal --toolchain and package it up for reuse by Buildroot itself (or other --projects). -- --Create a new Buildroot configuration, with the following details: -- --* Select the appropriate *Target options* for your target CPU -- architecture -- --* In the *Toolchain* menu, keep the default of *Buildroot toolchain* -- for *Toolchain type*, and configure your toolchain as desired -- --* In the *System configuration* menu, select *None* as the *Init -- system* and *none* as */bin/sh* -- --* In the *Target packages* menu, disable *BusyBox* -- --* In the *Filesystem images* menu, disable *tar the root filesystem* -- --Then, we can trigger the build, and also ask Buildroot to generate a --SDK. This will conveniently generate for us a tarball which contains --our toolchain: -- ------- --make sdk ------- -- --This produces the SDK tarball in +$(O)/images+, with a name similar to --+arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz+. Save this --tarball, as it is now the toolchain that you can re-use as an external --toolchain in other Buildroot projects. -- --In those other Buildroot projects, in the *Toolchain* menu: -- --* Set *Toolchain type* to *External toolchain* -- --* Set *Toolchain* to *Custom toolchain* -- --* Set *Toolchain origin* to *Toolchain to be downloaded and installed* -- --* Set *Toolchain URL* to +file:///path/to/your/sdk/tarball.tar.gz+ -- --===== External toolchain wrapper -- --When using an external toolchain, Buildroot generates a wrapper program, --that transparently passes the appropriate options (according to the --configuration) to the external toolchain programs. In case you need to --debug this wrapper to check exactly what arguments are passed, you can --set the environment variable +BR2_DEBUG_WRAPPER+ to either one of: -- --* +0+, empty or not set: no debug -- --* +1+: trace all arguments on a single line -- --* +2+: trace one argument per line -- --=== /dev management -- --On a Linux system, the +/dev+ directory contains special files, called --_device files_, that allow userspace applications to access the --hardware devices managed by the Linux kernel. Without these _device --files_, your userspace applications would not be able to use the --hardware devices, even if they are properly recognized by the Linux --kernel. -- --Under +System configuration+, +/dev management+, Buildroot offers four --different solutions to handle the +/dev+ directory : -- -- * The first solution is *Static using device table*. This is the old -- classical way of handling device files in Linux. With this method, -- the device files are persistently stored in the root filesystem -- (i.e. they persist across reboots), and there is nothing that will -- automatically create and remove those device files when hardware -- devices are added or removed from the system. Buildroot therefore -- creates a standard set of device files using a _device table_, the -- default one being stored in +system/device_table_dev.txt+ in the -- Buildroot source code. This file is processed when Buildroot -- generates the final root filesystem image, and the _device files_ -- are therefore not visible in the +output/target+ directory. The -- +BR2_ROOTFS_STATIC_DEVICE_TABLE+ option allows to change the -- default device table used by Buildroot, or to add an additional -- device table, so that additional _device files_ are created by -- Buildroot during the build. So, if you use this method, and a -- _device file_ is missing in your system, you can for example create -- a +board///device_table_dev.txt+ file -- that contains the description of your additional _device files_, -- and then you can set +BR2_ROOTFS_STATIC_DEVICE_TABLE+ to -- +system/device_table_dev.txt -- board///device_table_dev.txt+. For more -- details about the format of the device table file, see -- xref:makedev-syntax[]. -- -- * The second solution is *Dynamic using devtmpfs only*. _devtmpfs_ is -- a virtual filesystem inside the Linux kernel that has been -- introduced in kernel 2.6.32 (if you use an older kernel, it is not -- possible to use this option). When mounted in +/dev+, this virtual -- filesystem will automatically make _device files_ appear and -- disappear as hardware devices are added and removed from the -- system. This filesystem is not persistent across reboots: it is -- filled dynamically by the kernel. Using _devtmpfs_ requires the -- following kernel configuration options to be enabled: -- +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+. When Buildroot is in -- charge of building the Linux kernel for your embedded device, it -- makes sure that those two options are enabled. However, if you -- build your Linux kernel outside of Buildroot, then it is your -- responsibility to enable those two options (if you fail to do so, -- your Buildroot system will not boot). -- -- * The third solution is *Dynamic using devtmpfs + mdev*. This method -- also relies on the _devtmpfs_ virtual filesystem detailed above (so -- the requirement to have +CONFIG_DEVTMPFS+ and -- +CONFIG_DEVTMPFS_MOUNT+ enabled in the kernel configuration still -- apply), but adds the +mdev+ userspace utility on top of it. +mdev+ -- is a program part of BusyBox that the kernel will call every time a -- device is added or removed. Thanks to the +/etc/mdev.conf+ -- configuration file, +mdev+ can be configured to for example, set -- specific permissions or ownership on a device file, call a script -- or application whenever a device appears or disappear, -- etc. Basically, it allows _userspace_ to react on device addition -- and removal events. +mdev+ can for example be used to automatically -- load kernel modules when devices appear on the system. +mdev+ is -- also important if you have devices that require a firmware, as it -- will be responsible for pushing the firmware contents to the -- kernel. +mdev+ is a lightweight implementation (with fewer -- features) of +udev+. For more details about +mdev+ and the syntax -- of its configuration file, see -- http://git.busybox.net/busybox/tree/docs/mdev.txt. -- -- * The fourth solution is *Dynamic using devtmpfs + eudev*. This -- method also relies on the _devtmpfs_ virtual filesystem detailed -- above, but adds the +eudev+ userspace daemon on top of it. +eudev+ -- is a daemon that runs in the background, and gets called by the -- kernel when a device gets added or removed from the system. It is a -- more heavyweight solution than +mdev+, but provides higher -- flexibility. +eudev+ is a standalone version of +udev+, the -- original userspace daemon used in most desktop Linux distributions, -- which is now part of Systemd. For more details, see -- http://en.wikipedia.org/wiki/Udev. -- --The Buildroot developers recommendation is to start with the *Dynamic --using devtmpfs only* solution, until you have the need for userspace --to be notified when devices are added/removed, or if firmwares are --needed, in which case *Dynamic using devtmpfs + mdev* is usually a --good solution. -- --Note that if +systemd+ is chosen as init system, /dev management will --be performed by the +udev+ program provided by +systemd+. -- --=== init system -- --The _init_ program is the first userspace program started by the --kernel (it carries the PID number 1), and is responsible for starting --the userspace services and programs (for example: web server, --graphical applications, other network servers, etc.). -- --Buildroot allows to use three different types of init systems, which --can be chosen from +System configuration+, +Init system+: -- -- * The first solution is *BusyBox*. Amongst many programs, BusyBox has -- an implementation of a basic +init+ program, which is sufficient -- for most embedded systems. Enabling the +BR2_INIT_BUSYBOX+ will -- ensure BusyBox will build and install its +init+ program. This is -- the default solution in Buildroot. The BusyBox +init+ program will -- read the +/etc/inittab+ file at boot to know what to do. The syntax -- of this file can be found in -- http://git.busybox.net/busybox/tree/examples/inittab (note that -- BusyBox +inittab+ syntax is special: do not use a random +inittab+ -- documentation from the Internet to learn about BusyBox -- +inittab+). The default +inittab+ in Buildroot is stored in -- +system/skeleton/etc/inittab+. Apart from mounting a few important -- filesystems, the main job the default inittab does is to start the -- +/etc/init.d/rcS+ shell script, and start a +getty+ program (which -- provides a login prompt). -- -- * The second solution is *systemV*. This solution uses the old -- traditional _sysvinit_ program, packed in Buildroot in -- +package/sysvinit+. This was the solution used in most desktop -- Linux distributions, until they switched to more recent -- alternatives such as Upstart or Systemd. +sysvinit+ also works with -- an +inittab+ file (which has a slightly different syntax than the -- one from BusyBox). The default +inittab+ installed with this init -- solution is located in +package/sysvinit/inittab+. -- -- * The third solution is *systemd*. +systemd+ is the new generation -- init system for Linux. It does far more than traditional _init_ -- programs: aggressive parallelization capabilities, uses socket and -- D-Bus activation for starting services, offers on-demand starting -- of daemons, keeps track of processes using Linux control groups, -- supports snapshotting and restoring of the system state, -- etc. +systemd+ will be useful on relatively complex embedded -- systems, for example the ones requiring D-Bus and services -- communicating between each other. It is worth noting that +systemd+ -- brings a fairly big number of large dependencies: +dbus+, +udev+ -- and more. For more details about +systemd+, see -- http://www.freedesktop.org/wiki/Software/systemd. -- --The solution recommended by Buildroot developers is to use the --*BusyBox init* as it is sufficient for most embedded --systems. *systemd* can be used for more complex situations. -diff --git a/docs.original/manual/contribute.txt b/docs.original/manual/contribute.txt -deleted file mode 100644 -index bf2aed6b51..0000000000 ---- a/docs.original/manual/contribute.txt -+++ /dev/null -@@ -1,712 +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 http://patchwork.buildroot.org[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 http://patchwork.buildroot.org[patchwork]. You need to --create an account on http://patchwork.buildroot.org[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 http://patchwork.buildroot.org[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 --http://patchwork.buildroot.org[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.original/manual/customize-configuration.txt b/docs.original/manual/customize-configuration.txt -deleted file mode 100644 -index ae6cebe6c4..0000000000 ---- a/docs.original/manual/customize-configuration.txt -+++ /dev/null -@@ -1,64 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[customize-store-buildroot-config]] --=== Storing the Buildroot configuration -- --The Buildroot configuration can be stored using the command -- +make savedefconfig+. -- --This strips the Buildroot configuration down by removing configuration --options that are at their default value. The result is stored in a file --called +defconfig+. If you want to save it in another place, change the --+BR2_DEFCONFIG+ option in the Buildroot configuration itself, or call --make with +make savedefconfig BR2_DEFCONFIG=+. -- --The recommended place to store this defconfig is --+configs/_defconfig+. If you follow this recommendation, the --configuration will be listed in +make help+ and can be set again by --running +make _defconfig+. -- --Alternatively, you can copy the file to any other place and rebuild with --+make defconfig BR2_DEFCONFIG=+. -- --[[customize-store-package-config]] --=== Storing the configuration of other components -- --The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot --and uClibc should be stored as well if changed. For each of these --components, a Buildroot configuration option exists to point to an input --configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To store --their configuration, set these configuration options to a path where you --want to save the configuration files, and then use the helper targets --described below to actually store the configuration. -- --As explained in xref:customize-dir-structure[], the recommended path to --store these configuration files is --+board///foo.config+. -- --Make sure that you create a configuration file 'before' changing --the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise, --Buildroot will try to access this config file, which doesn't exist --yet, and will fail. You can create the configuration file by running --+make linux-menuconfig+ etc. -- --Buildroot provides a few helper targets to make the saving of --configuration files easier. -- --* +make linux-update-defconfig+ saves the linux configuration to the -- path specified by +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. It -- simplifies the config file by removing default values. However, -- this only works with kernels starting from 2.6.33. For earlier -- kernels, use +make linux-update-config+. --* +make busybox-update-config+ saves the busybox configuration to the -- path specified by +BR2_PACKAGE_BUSYBOX_CONFIG+. --* +make uclibc-update-config+ saves the uClibc configuration to the -- path specified by +BR2_UCLIBC_CONFIG+. --* +make barebox-update-defconfig+ saves the barebox configuration to the -- path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+. --* +make uboot-update-defconfig+ saves the U-Boot configuration to the -- path specified by +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+. --* For at91bootstrap3, no helper exists so you have to copy the config -- file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. -- -- -diff --git a/docs.original/manual/customize-device-permission-tables.txt b/docs.original/manual/customize-device-permission-tables.txt -deleted file mode 100644 -index 02dd8ad982..0000000000 ---- a/docs.original/manual/customize-device-permission-tables.txt -+++ /dev/null -@@ -1,30 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[customize-device-permission]] --==== Setting file permissions and ownership and adding custom devices nodes -- --Sometimes it is needed to set specific permissions or ownership on files --or device nodes. For example, certain files may need to be owned by --root. Since the post-build scripts are not run as root, you cannot do --such changes from there unless you use an explicit fakeroot from the --post-build script. -- --Instead, Buildroot provides support for so-called _permission tables_. --To use this feature, set config option +BR2_ROOTFS_DEVICE_TABLE+ to a --space-separated list of permission tables, regular text files following --the xref:makedev-syntax[makedev syntax]. -- --If you are using a static device table (i.e. not using +devtmpfs+, --+mdev+, or +(e)udev+) then you can add device nodes using the same --syntax, in so-called _device tables_. To use this feature, set config --option +BR2_ROOTFS_STATIC_DEVICE_TABLE+ to a space-separated list of --device tables. -- --As shown in xref:customize-dir-structure[], the recommended location for --such files is +board///+. -- --It should be noted that if the specific permissions or device nodes are --related to a specific application, you should set variables --+FOO_PERMISSIONS+ and +FOO_DEVICES+ in the package's +.mk+ file instead --(see xref:generic-package-reference[]). -diff --git a/docs.original/manual/customize-directory-structure.txt b/docs.original/manual/customize-directory-structure.txt -deleted file mode 100644 -index a3a7ad4cb9..0000000000 ---- a/docs.original/manual/customize-directory-structure.txt -+++ /dev/null -@@ -1,111 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[customize-dir-structure]] --=== Recommended directory structure -- --When customizing Buildroot for your project, you will be creating one or --more project-specific files that need to be stored somewhere. While most --of these files could be placed in _any_ location as their path is to be --specified in the Buildroot configuration, the Buildroot developers --recommend a specific directory structure which is described in this --section. -- --Orthogonal to this directory structure, you can choose _where_ you place --this structure itself: either inside the Buildroot tree, or outside of --it using a br2-external tree. Both options are valid, the choice is up --to you. -- ------- --+-- board/ --| +-- / --| +-- / --| +-- linux.config --| +-- busybox.config --| +-- --| +-- post_build.sh --| +-- post_image.sh --| +-- rootfs_overlay/ --| | +-- etc/ --| | +-- --| +-- patches/ --| +-- foo/ --| | +-- --| +-- libbar/ --| +-- --| --+-- configs/ --| +-- _defconfig --| --+-- package/ --| +-- / --| +-- Config.in (if not using a br2-external tree) --| +-- .mk (if not using a br2-external tree) --| +-- package1/ --| | +-- Config.in --| | +-- package1.mk --| +-- package2/ --| +-- Config.in --| +-- package2.mk --| --+-- Config.in (if using a br2-external tree) --+-- external.mk (if using a br2-external tree) --+-- external.desc (if using a br2-external tree) -------- -- --Details on the files shown above are given further in this chapter. -- --Note: if you choose to place this structure outside of the Buildroot --tree but in a br2-external tree, the and possibly --components may be superfluous and can be left out. -- --==== Implementing layered customizations -- --It is quite common for a user to have several related projects that partly --need the same customizations. Instead of duplicating these --customizations for each project, it is recommended to use a layered --customization approach, as explained in this section. -- --Almost all of the customization methods available in Buildroot, like --post-build scripts and root filesystem overlays, accept a --space-separated list of items. The specified items are always treated in --order, from left to right. By creating more than one such item, one for --the common customizations and another one for the really --project-specific customizations, you can avoid unnecessary duplication. --Each layer is typically embodied by a separate directory inside --+board//+. Depending on your projects, you could even introduce --more than two layers. -- --An example directory structure for where a user has two customization --layers 'common' and 'fooboard' is: -- ------- --+-- board/ -- +-- / -- +-- common/ -- | +-- post_build.sh -- | +-- rootfs_overlay/ -- | | +-- ... -- | +-- patches/ -- | +-- ... -- | -- +-- fooboard/ -- +-- linux.config -- +-- busybox.config -- +-- -- +-- post_build.sh -- +-- rootfs_overlay/ -- | +-- ... -- +-- patches/ -- +-- ... ------- -- --For example, if the user has the +BR2_GLOBAL_PATCH_DIR+ configuration --option set as: -- ------- --BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" ------- -- --then first the patches from the 'common' layer would be applied, --followed by the patches from the 'fooboard' layer. -diff --git a/docs.original/manual/customize-outside-br.txt b/docs.original/manual/customize-outside-br.txt -deleted file mode 100644 -index 348f2b089c..0000000000 ---- a/docs.original/manual/customize-outside-br.txt -+++ /dev/null -@@ -1,446 +0,0 @@ --// -*- mode:doc -*- ; --// vim: set syntax=asciidoc: -- --[[outside-br-custom]] --=== Keeping customizations outside of Buildroot -- --As already briefly mentioned in xref:customize-dir-structure[], you can --place project-specific customizations in two locations: -- -- * directly within the Buildroot tree, typically maintaining them using -- branches in a version control system so that upgrading to a newer -- Buildroot release is easy. -- -- * outside of the Buildroot tree, using the _br2-external_ mechanism. -- This mechanism allows to keep package recipes, board support and -- configuration files outside of the Buildroot tree, while still -- having them nicely integrated in the build logic. We call this -- location a _br2-external tree_. This section explains how to use -- the br2-external mechanism and what to provide in a br2-external -- tree. -- --One can tell Buildroot to use one or more br2-external trees by setting --the +BR2_EXTERNAL+ make variable set to the path(s) of the br2-external --tree(s) to use. It can be passed to any Buildroot +make+ invocation. It --is automatically saved in the hidden +.br2-external.mk+ file in the output --directory. Thanks to this, there is no need to pass +BR2_EXTERNAL+ at --every +make+ invocation. It can however be changed at any time by --passing a new value, and can be removed by passing an empty value. -- --.Note --The path to a br2-external tree can be either absolute or relative. --If it is passed as a relative path, it is important to note that it is --interpreted relative to the main Buildroot source directory, *not* to --the Buildroot output directory. -- --.Note: --If using an br2-external tree from before Buildroot 2016.11, you need to --convert it before you can use it with Buildroot 2016.11 onward. See --xref:br2-external-converting[] for help on doing so. -- --Some examples: -- ------- --buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig ------- -- --From now on, definitions from the +/path/to/foo+ br2-external tree --will be used: -- ------- --buildroot/ $ make --buildroot/ $ make legal-info ------- -- --We can switch to another br2-external tree at any time: -- ------- --buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig ------- -- --We can also use multiple br2-external trees: -- ------ --buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig ------ -- --Or disable the usage of any br2-external tree: -- ------- --buildroot/ $ make BR2_EXTERNAL= xconfig ------- -- --==== Layout of a br2-external tree -- --A br2-external tree must contain at least those three files, described --in the following chapters: -- -- * +external.desc+ -- * +external.mk+ -- * +Config.in+ -- --Apart from those mandatory files, there may be additional and optional --content that may be present in a br2-external tree, like the +configs/+ --or +provides/+ directories. They are described in the following chapters --as well. -- --A complete example br2-external tree layout is also described later. -- --===== The +external.desc+ file -- --That file describes the br2-external tree: the _name_ and _description_ --for that br2-external tree. -- --The format for this file is line based, with each line starting by a --keyword, followed by a colon and one or more spaces, followed by the --value assigned to that keyword. There are two keywords currently --recognised: -- -- * +name+, mandatory, defines the name for that br2-external tree. That -- name must only use ASCII characters in the set +[A-Za-z0-9_]+; any -- other character is forbidden. Buildroot sets the variable -- +BR2_EXTERNAL_$(NAME)_PATH+ to the absolute path of the br2-external -- tree, so that you can use it to refer to your br2-external tree. This -- variable is available both in Kconfig, so you can use it to source your -- Kconfig files (see below) and in the Makefile, so that you can use it -- to include other Makefiles (see below) or refer to other files (like -- data files) from your br2-external tree. --+ --.Note: --Since it is possible to use multiple br2-external trees at once, this -- name is used by Buildroot to generate variables for each of those trees. -- That name is used to identify your br2-external tree, so try to come up -- with a name that really describes your br2-external tree, in order for -- it to be relatively unique, so that it does not clash with another name -- from another br2-external tree, especially if you are planning on -- somehow sharing your br2-external tree with third parties or using -- br2-external trees from third parties. -- -- * +desc+, optional, provides a short description for that br2-external -- tree. It shall fit on a single line, is mostly free-form (see below), -- and is used when displaying information about a br2-external tree (e.g. -- above the list of defconfig files, or as the prompt in the menuconfig); -- as such, it should relatively brief (40 chars is probably a good upper -- limit). The description is available in the +BR2_EXTERNAL_$(NAME)_DESC+ -- variable. -- --Examples of names and the corresponding +BR2_EXTERNAL_$(NAME)_PATH+ --variables: -- -- * +FOO+ -> +BR2_EXTERNAL_FOO_PATH+ -- * +BAR_42+ -> +BR2_EXTERNAL_BAR_42_PATH+ -- --In the following examples, it is assumed the name to be set to +BAR_42+. -- --.Note: --Both +BR2_EXTERNAL_$(NAME)_PATH+ and `BR2_EXTERNAL_$(NAME)_DESC` are -- available in the Kconfig files and the Makefiles. They are also -- exported in the environment so are available in post-build, post-image -- and in-fakeroot scripts. -- --===== The +Config.in+ and +external.mk+ files -- --Those files (which may each be empty) can be used to define package --recipes (i.e. +foo/Config.in+ and +foo/foo.mk+ like for packages bundled --in Buildroot itself) or other custom configuration options or make logic. -- --Buildroot automatically includes the +Config.in+ from each br2-external --tree to make it appear in the top-level configuration menu, and includes --the +external.mk+ from each br2-external tree with the rest of the --makefile logic. -- --The main usage of this is to store package recipes. The recommended way --to do this is to write a +Config.in+ file that looks like: -- -------- --source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" --source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" -------- -- --Then, have an +external.mk+ file that looks like: -- -------- --include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) -------- -- --And then in +$(BR2_EXTERNAL_BAR_42_PATH)/package/package1+ and --+$(BR2_EXTERNAL_BAR_42_PATH)/package/package2+ create normal --Buildroot package recipes, as explained in xref:adding-packages[]. --If you prefer, you can also group the packages in subdirectories --called and adapt the above paths accordingly. -- --You can also define custom configuration options in +Config.in+ and --custom make logic in +external.mk+. -- --===== The +configs/+ directory -- --One can store Buildroot defconfigs in the +configs+ subdirectory of --the br2-external tree. Buildroot will automatically show them in the --output of +make list-defconfigs+ and allow them to be loaded with the --normal +make _defconfig+ command. They will be visible in the --'make list-defconfigs' output, below an +External configs+ label that --contains the name of the br2-external tree they are defined in. -- --.Note: --If a defconfig file is present in more than one br2-external tree, then --the one from the last br2-external tree is used. It is thus possible --to override a defconfig bundled in Buildroot or another br2-external --tree. -- --===== The +provides/+ directory -- --For some packages, Buildroot provides a choice between two (or more) --implementations of API-compatible such packages. For example, there is --a choice to choose either libjpeg ot jpeg-turbo; there is one between --openssl or libressl; there is one to select one of the known, --pre-configured toolchains... -- --It is possible for a br2-external to extend those choices, by providing --a set of files that define those alternatives: -- --* +provides/toolchains.in+ defines the pre-configured toolchains, which -- will then be listed in the toolchain selection; --* +provides/jpeg.in+ defines the alternative libjpeg implementations; --* +provides/openssl.in+ defines the alternative openssl implementations; --* +provides/skeleton.in+ defines the alternative skeleton implementations; --* +provides/init.in+ defines the alternative init system implementations, this -- can be used to select a default skeleton for your init. -- --===== Free-form content -- --One can store all the board-specific configuration files there, such --as the kernel configuration, the root filesystem overlay, or any other --configuration file for which Buildroot allows to set the location (by --using the +BR2_EXTERNAL_$(NAME)_PATH+ variable). For example, you --could set the paths to a global patch directory, to a rootfs overlay --and to the kernel configuration file as follows (e.g. by running --`make menuconfig` and filling in these options): -- ------ --BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ --BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ --BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config ------ -- --===== Additional Linux kernel extensions -- --Additional Linux kernel extensions (see xref:linux-kernel-ext[]) can --be added by storing them in the `linux/` directory at the root of a --br2-external tree. -- --===== Example layout -- --Here is an example layout using all features of br2-external (the sample --content is shown for the file above it, when it is relevant to explain --the br2-external tree; this is all entirely made up just for the sake of --illustration, of course): -- ------ --/path/to/br2-ext-tree/ -- |- external.desc -- | |name: BAR_42 -- | |desc: Example br2-external tree -- | `---- -- | -- |- Config.in -- | |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options" -- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" -- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" -- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in" -- | | -- | |config BAR_42_FLASH_ADDR -- | | hex "my-board flash address" -- | | default 0x10AD -- | `---- -- | -- |- external.mk -- | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) -- | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/toolchain/*/*.mk)) -- | | -- | |flash-my-board: -- | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ -- | | --image $(BINARIES_DIR)/image.bin \ -- | | --address $(BAR_42_FLASH_ADDR) -- | `---- -- | -- |- package/pkg-1/Config.in -- | |config BR2_PACKAGE_PKG_1 -- | | bool "pkg-1" -- | | help -- | | Some help about pkg-1 -- | `---- -- |- package/pkg-1/pkg-1.hash -- |- package/pkg-1/pkg-1.mk -- | |PKG_1_VERSION = 1.2.3 -- | |PKG_1_SITE = /some/where/to/get/pkg-1 -- | |PKG_1_LICENSE = blabla -- | | -- | |define PKG_1_INSTALL_INIT_SYSV -- | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ -- | | $(TARGET_DIR)/etc/init.d/S99my-daemon -- | |endef -- | | -- | |$(eval $(autotools-package)) -- | `---- -- |- package/pkg-1/S99my-daemon -- | -- |- package/pkg-2/Config.in -- |- package/pkg-2/pkg-2.hash -- |- package/pkg-2/pkg-2.mk -- | -- |- provides/jpeg.in -- | |config BR2_PACKAGE_MY_JPEG -- | | bool "my-jpeg" -- | `---- -- |- package/my-jpeg/Config.in -- | |config BR2_PACKAGE_PROVIDES_JPEG -- | | default "my-jpeg" if BR2_PACKAGE_MY_JPEG -- | `---- -- |- package/my-jpeg/my-jpeg.mk -- | |# This is a normal package .mk file -- | |MY_JPEG_VERSION = 1.2.3 -- | |MY_JPEG_SITE = https://example.net/some/place -- | |MY_JPEG_PROVIDES = jpeg -- | |$(eval $(autotools-package)) -- | `---- -- | -- |- provides/init.in -- | |config BR2_INIT_MINE -- | | bool "my custom init" -- | | select BR2_PACKAGE_MY_INIT -- | | select BR2_PACKAGE_SKELETON_INIT_MINE if BR2_ROOTFS_SKELETON_DEFAULT -- | `---- -- | -- |- provides/skeleton.in -- | |config BR2_ROOTFS_SKELETON_MINE -- | | bool "my custom skeleton" -- | | select BR2_PACKAGE_SKELETON_MINE -- | `---- -- |- package/skeleton-mine/Config.in -- | |config BR2_PACKAGE_SKELETON_MINE -- | | bool -- | | select BR2_PACKAGE_HAS_SKELETON -- | | -- | |config BR2_PACKAGE_PROVIDES_SKELETON -- | | default "skeleton-mine" if BR2_PACKAGE_SKELETON_MINE -- | `---- -- |- package/skeleton-mine/skeleton-mine.mk -- | |SKELETON_MINE_ADD_TOOLCHAIN_DEPENDENCY = NO -- | |SKELETON_MINE_ADD_SKELETON_DEPENDENCY = NO -- | |SKELETON_MINE_PROVIDES = skeleton -- | |SKELETON_MINE_INSTALL_STAGING = YES -- | |$(eval $(generic-package)) -- | `---- -- | -- |- provides/toolchains.in -- | |config BR2_TOOLCHAIN_EXTERNAL_MINE -- | | bool "my custom toolchain" -- | | depends on BR2_some_arch -- | | select BR2_INSTALL_LIBSTDCPP -- | `---- -- |- toolchain/toolchain-external-mine/Config.in.options -- | |if BR2_TOOLCHAIN_EXTERNAL_MINE -- | |config BR2_TOOLCHAIN_EXTERNAL_PREFIX -- | | default "arch-mine-linux-gnu" -- | |config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL -- | | default "toolchain-external-mine" -- | |endif -- | `---- -- |- toolchain/toolchain-external-mine/toolchain-external-mine.mk -- | |TOOLCHAIN_EXTERNAL_MINE_SITE = https://example.net/some/place -- | |TOOLCHAIN_EXTERNAL_MINE_SOURCE = my-toolchain.tar.gz -- | |$(eval $(toolchain-external-package)) -- | `---- -- | -- |- linux/Config.ext.in -- | |config BR2_LINUX_KERNEL_EXT_EXAMPLE_DRIVER -- | | bool "example-external-driver" -- | | help -- | | Example external driver -- | |--- -- |- linux/linux-ext-example-driver.mk -- | -- |- configs/my-board_defconfig -- | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" -- | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" -- | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" -- | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config" -- | `---- -- | -- |- patches/linux/0001-some-change.patch -- |- patches/linux/0002-some-other-change.patch -- |- patches/busybox/0001-fix-something.patch -- | -- |- board/my-board/kernel.config -- |- board/my-board/overlay/var/www/index.html -- |- board/my-board/overlay/var/www/my.css -- |- board/my-board/flash-image -- `- board/my-board/post-image.sh -- |#!/bin/sh -- |generate-my-binary-image \ -- | --root ${BINARIES_DIR}/rootfs.tar \ -- | --kernel ${BINARIES_DIR}/zImage \ -- | --dtb ${BINARIES_DIR}/my-board.dtb \ -- | --output ${BINARIES_DIR}/image.bin -- `---- ------ -- --The br2-external tree will then be visible in the menuconfig (with --the layout expanded): -- ------ --External options ---> -- *** Example br2-external tree (in /path/to/br2-ext-tree/) -- [ ] pkg-1 -- [ ] pkg-2 -- (0x10AD) my-board flash address ------ -- --If you are using more than one br2-external tree, it would look like --(with the layout expanded and the second one with name +FOO_27+ but no --+desc:+ field in +external.desc+): -- ------ --External options ---> -- Example br2-external tree ---> -- *** Example br2-external tree (in /path/to/br2-ext-tree) -- [ ] pkg-1 -- [ ] pkg-2 -- (0x10AD) my-board flash address -- FOO_27 ---> -- *** FOO_27 (in /path/to/another-br2-ext) -- [ ] foo -- [ ] bar ------ -- --Additionally, the jpeg provider will be visible in the jpeg choice: -- ------ --Target packages ---> -- Libraries ---> -- Graphics ---> -- [*] jpeg support -- jpeg variant () ---> -- ( ) jpeg -- ( ) jpeg-turbo -- *** jpeg from: Example br2-external tree *** -- (X) my-jpeg -- *** jpeg from: FOO_27 *** -- ( ) another-jpeg ------ -- --And similarly for the toolchains: -- ------ --Toolchain ---> -- Toolchain () ---> -- ( ) Custom toolchain -- *** Toolchains from: Example br2-external tree *** -- (X) my custom toolchain ------ -- --.Note --The toolchain options in +toolchain/toolchain-external-mine/Config.in.options+ --will not appear in the `Toolchain` menu. They must be explicitly included --from within the br2-external's top-level +Config.in+ and will thus appear --in the `External options` menu. -diff --git a/docs.original/manual/customize-packages.txt b/docs.original/manual/customize-packages.txt -deleted file mode 100644 -index b57280ea10..0000000000 ---- a/docs.original/manual/customize-packages.txt -+++ /dev/null -@@ -1,56 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[customize-packages]] --=== Adding project-specific packages -- --In general, any new package should be added directly in the +package+ --directory and submitted to the Buildroot upstream project. How to add --packages to Buildroot in general is explained in full detail in --xref:adding-packages[] and will not be repeated here. However, your --project may need some proprietary packages that cannot be upstreamed. --This section will explain how you can keep such project-specific --packages in a project-specific directory. -- --As shown in xref:customize-dir-structure[], the recommended location for --project-specific packages is +package//+. If you are using the --br2-external tree feature (see xref:outside-br-custom[]) the recommended --location is to put them in a sub-directory named +package/+ in your --br2-external tree. -- --However, Buildroot will not be aware of the packages in this location, --unless we perform some additional steps. As explained in --xref:adding-packages[], a package in Buildroot basically consists of two --files: a +.mk+ file (describing how to build the package) and a --+Config.in+ file (describing the configuration options for this --package). -- --Buildroot will automatically include the +.mk+ files in first-level --subdirectories of the +package+ directory (using the pattern --+package/\*/*.mk+). If we want Buildroot to include +.mk+ files from --deeper subdirectories (like +package//package1/+) then we --simply have to add a +.mk+ file in a first-level subdirectory that --includes these additional +.mk+ files. Therefore, create a file --+package//.mk+ with following contents (assuming you --have only one extra directory level below +package//+): -- ------- --include $(sort $(wildcard package//*/*.mk)) ------- -- --For the +Config.in+ files, create a file +package//Config.in+ --that includes the +Config.in+ files of all your packages. An exhaustive --list has to be provided since wildcards are not supported in the source command of kconfig. --For example: -- ------- --source "package//package1/Config.in" --source "package//package2/Config.in" ------- -- --Include this new file +package//Config.in+ from --+package/Config.in+, preferably in a company-specific menu to make --merges with future Buildroot versions easier. -- --If using a br2-external tree, refer to xref:outside-br-custom[] for how --to fill in those files. -diff --git a/docs.original/manual/customize-patches.txt b/docs.original/manual/customize-patches.txt -deleted file mode 100644 -index eb98d1bea2..0000000000 ---- a/docs.original/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.original/manual/customize-post-image.txt b/docs.original/manual/customize-post-image.txt -deleted file mode 100644 -index 5308093d06..0000000000 ---- a/docs.original/manual/customize-post-image.txt -+++ /dev/null -@@ -1,38 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Customization _after_ the images have been created -- --While post-build scripts (xref:rootfs-custom[]) are run _before_ --building the filesystem image, kernel and bootloader, *post-image --scripts* can be used to perform some specific actions _after_ all images --have been created. -- --Post-image scripts can for example be used to automatically extract your --root filesystem tarball in a location exported by your NFS server, or --to create a special firmware image that bundles your root filesystem and --kernel image, or any other custom action required for your project. -- --To enable this feature, specify a space-separated list of post-image --scripts in config option +BR2_ROOTFS_POST_IMAGE_SCRIPT+ (in the +System --configuration+ menu). If you specify a relative path, it will be --relative to the root of the Buildroot tree. -- --Just like post-build scripts, post-image scripts are run with the main --Buildroot tree as current working directory. The path to the +images+ --output directory 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. -- --Again just like for the post-build scripts, the scripts have access to --the environment variables +BR2_CONFIG+, +HOST_DIR+, +STAGING_DIR+, --+TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+, +CONFIG_DIR+ and --+BASE_DIR+. -- --The post-image scripts will be executed as the user that executes --Buildroot, which should normally _not_ be the root user. Therefore, any --action requiring root permissions in one of these scripts will require --special handling (usage of fakeroot or sudo), which is left to the --script developer. -diff --git a/docs.original/manual/customize-quick-guide.txt b/docs.original/manual/customize-quick-guide.txt -deleted file mode 100644 -index 627ecbacb1..0000000000 ---- a/docs.original/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.original/manual/customize-rootfs.txt b/docs.original/manual/customize-rootfs.txt -deleted file mode 100644 -index e46306fd2a..0000000000 ---- a/docs.original/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.original/manual/customize-users-tables.txt b/docs.original/manual/customize-users-tables.txt -deleted file mode 100644 -index e2d32e23f2..0000000000 ---- a/docs.original/manual/customize-users-tables.txt -+++ /dev/null -@@ -1,18 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[customize-users]] --=== Adding custom user accounts -- --Sometimes it is needed to add specific users in the target system. --To cover this requirement, Buildroot provides support for so-called --_users tables_. To use this feature, set config option --+BR2_ROOTFS_USERS_TABLES+ to a space-separated list of users tables, --regular text files following the xref:makeuser-syntax[makeusers syntax]. -- --As shown in xref:customize-dir-structure[], the recommended location for --such files is +board///+. -- --It should be noted that if the custom users are related to a specific --application, you should set variable +FOO_USERS+ in the package's +.mk+ --file instead (see xref:generic-package-reference[]). -diff --git a/docs.original/manual/customize.txt b/docs.original/manual/customize.txt -deleted file mode 100644 -index 484413e4d8..0000000000 ---- a/docs.original/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.original/manual/debugging-buildroot.txt b/docs.original/manual/debugging-buildroot.txt -deleted file mode 100644 -index f575fc48ee..0000000000 ---- a/docs.original/manual/debugging-buildroot.txt -+++ /dev/null -@@ -1,43 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[debugging-buildroot]] -- --== Debugging Buildroot -- --It is possible to instrument the steps +Buildroot+ does when building --packages. Define the variable +BR2_INSTRUMENTATION_SCRIPTS+ to contain --the path of one or more scripts (or other executables), in a --space-separated list, you want called before and after each step. The --scripts are called in sequence, with three parameters: -- -- - +start+ or +end+ to denote the start (resp. the end) of a step; -- - the name of the step about to be started, or which just ended; -- - the name of the package. -- --For example : -- ------ --make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" ------ -- --The list of steps is: -- -- - +extract+ -- - +patch+ -- - +configure+ -- - +build+ -- - +install-host+, when a host-package is installed in +$(HOST_DIR)+ -- - +install-target+, when a target-package is installed in +$(TARGET_DIR)+ -- - +install-staging+, when a target-package is installed in +$(STAGING_DIR)+ -- - +install-image+, when a target-package installs files in +$(BINARIES_DIR)+ -- --The script has access to the following variables: -- -- - +BR2_CONFIG+: the path to the Buildroot .config file -- - +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 -diff --git a/docs.original/manual/developers.txt b/docs.original/manual/developers.txt -deleted file mode 100644 -index 7058d57b20..0000000000 ---- a/docs.original/manual/developers.txt -+++ /dev/null -@@ -1,49 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[DEVELOPERS]] --== DEVELOPERS file and get-developers -- --The main Buildroot directory contains a file named +DEVELOPERS+ that --lists the developers involved with various areas of Buildroot. Thanks --to this file, the +get-developers+ tool allows to: -- --- Calculate the list of developers to whom patches should be sent, by -- parsing the patches and matching the modified files with the -- relevant developers. See xref:submitting-patches[] for details. -- --- Find which developers are taking care of a given architecture or -- package, so that they can be notified when a build failure occurs on -- this architecture or package. This is done in interaction with -- Buildroot's autobuild infrastructure. -- --We ask developers adding new packages, new boards, or generally new --functionality in Buildroot, to register themselves in the +DEVELOPERS+ --file. As an example, we expect a developer contributing a new package --to include in his patch the appropriate modification to the --+DEVELOPERS+ file. -- --The +DEVELOPERS+ file format is documented in detail inside the file --itself. -- --The +get-developers+ tool, located in +utils/+ allows to use --the +DEVELOPERS+ file for various tasks: -- --- When passing one or several patches as command line argument, -- +get-developers+ will return the appropriate +git send-email+ -- command. If the +-e+ option is passed, only the email addresses are -- printed in a format suitable for +git send-email --cc-cmd+. -- --- When using the +-a + command line option, +get-developers+ will -- return the list of developers in charge of the given architecture. -- --- When using the +-p + command line option, +get-developers+ -- will return the list of developers in charge of the given package. -- --- When using the +-c+ command line option, +get-developers+ will look -- at all files under version control in the Buildroot repository, and -- list the ones that are not handled by any developer. The purpose of -- this option is to help completing the +DEVELOPERS+ file. -- --- When using without any arguments, it validates the integrity of the -- DEVELOPERS file and will note WARNINGS for items that don't match. -diff --git a/docs.original/manual/docbook-xsl.css b/docs.original/manual/docbook-xsl.css -deleted file mode 100644 -index ee9ca46d6f..0000000000 ---- a/docs.original/manual/docbook-xsl.css -+++ /dev/null -@@ -1,329 +0,0 @@ --/* -- CSS stylesheet for XHTML produced by DocBook XSL stylesheets. --*/ -- --body { -- font-family: Georgia,serif; --} -- --code, pre { -- font-family: "Courier New", Courier, monospace; --} -- --span.strong { -- font-weight: bold; --} -- --body blockquote { -- margin-top: .75em; -- line-height: 1.5; -- margin-bottom: .75em; --} -- --html body { -- margin: 1em 5% 1em 5%; -- line-height: 1.2; --} -- --body div { -- margin: 0; --} -- --h1, h2, h3, h4, h5, h6 --{ -- color: #527bbd; -- font-family: Arial,Helvetica,sans-serif; --} -- --div.toc p:first-child, --div.list-of-figures p:first-child, --div.list-of-tables p:first-child, --div.list-of-examples p:first-child, --div.example p.title, --div.sidebar p.title --{ -- font-weight: bold; -- color: #527bbd; -- font-family: Arial,Helvetica,sans-serif; -- margin-bottom: 0.2em; --} -- --body h1 { -- margin: .0em 0 0 -4%; -- line-height: 1.3; -- border-bottom: 2px solid silver; --} -- --body h2 { -- margin: 0.5em 0 0 -4%; -- line-height: 1.3; -- border-bottom: 2px solid silver; --} -- --body h3 { -- margin: .8em 0 0 -3%; -- line-height: 1.3; --} -- --body h4 { -- margin: .8em 0 0 -3%; -- line-height: 1.3; --} -- --body h5 { -- margin: .8em 0 0 -2%; -- line-height: 1.3; --} -- --body h6 { -- margin: .8em 0 0 -1%; -- line-height: 1.3; --} -- --body hr { -- border: none; /* Broken on IE6 */ --} --div.footnotes hr { -- border: 1px solid silver; --} -- --div.navheader th, div.navheader td, div.navfooter td { -- font-family: Arial,Helvetica,sans-serif; -- font-size: 0.9em; -- font-weight: bold; -- color: #527bbd; --} --div.navheader img, div.navfooter img { -- border-style: none; --} --div.navheader a, div.navfooter a { -- font-weight: normal; --} --div.navfooter hr { -- border: 1px solid silver; --} -- --body td { -- line-height: 1.2 --} -- --body th { -- line-height: 1.2; --} -- --ol { -- line-height: 1.2; --} -- --ul, body dir, body menu { -- line-height: 1.2; --} -- --html { -- margin: 0; -- padding: 0; --} -- --body h1, body h2, body h3, body h4, body h5, body h6 { -- margin-left: 0 --} -- --body pre { -- margin: 0.5em 10% 0.5em 1em; -- line-height: 1.0; -- color: navy; --} -- --tt.literal, code.literal { -- color: navy; --} -- --.programlisting, .screen { -- border: 1px solid silver; -- background: #f4f4f4; -- margin: 0.5em 10% 0.5em 0; -- padding: 0.5em 1em; --} -- --div.sidebar { -- background: #ffffee; -- margin: 1.0em 10% 0.5em 0; -- padding: 0.5em 1em; -- border: 1px solid silver; --} --div.sidebar * { padding: 0; } --div.sidebar div { margin: 0; } --div.sidebar p.title { -- margin-top: 0.5em; -- margin-bottom: 0.2em; --} -- --div.bibliomixed { -- margin: 0.5em 5% 0.5em 1em; --} -- --div.glossary dt { -- font-weight: bold; --} --div.glossary dd p { -- margin-top: 0.2em; --} -- --dl { -- margin: .8em 0; -- line-height: 1.2; --} -- --dt { -- margin-top: 0.5em; --} -- --dt span.term { -- font-style: normal; -- color: navy; --} -- --div.variablelist dd p { -- margin-top: 0; --} -- --div.itemizedlist li, div.orderedlist li { -- margin-left: -0.8em; -- margin-top: 0.5em; --} -- --ul, ol { -- list-style-position: outside; --} -- --div.sidebar ul, div.sidebar ol { -- margin-left: 2.8em; --} -- --div.itemizedlist p.title, --div.orderedlist p.title, --div.variablelist p.title --{ -- margin-bottom: -0.8em; --} -- --div.revhistory table { -- border-collapse: collapse; -- border: none; --} --div.revhistory th { -- border: none; -- color: #527bbd; -- font-family: Arial,Helvetica,sans-serif; --} --div.revhistory td { -- border: 1px solid silver; --} -- --/* Keep TOC and index lines close together. */ --div.toc dl, div.toc dt, --div.list-of-figures dl, div.list-of-figures dt, --div.list-of-tables dl, div.list-of-tables dt, --div.indexdiv dl, div.indexdiv dt --{ -- line-height: normal; -- margin-top: 0; -- margin-bottom: 0; --} -- --/* -- Table styling does not work because of overriding attributes in -- generated HTML. --*/ --div.table table, --div.informaltable table --{ -- margin-left: 0; -- margin-right: 5%; -- margin-bottom: 0.8em; --} --div.informaltable table --{ -- margin-top: 0.4em --} --div.table thead, --div.table tfoot, --div.table tbody, --div.informaltable thead, --div.informaltable tfoot, --div.informaltable tbody --{ -- /* No effect in IE6. */ -- border-top: 3px solid #527bbd; -- border-bottom: 3px solid #527bbd; --} --div.table thead, div.table tfoot, --div.informaltable thead, div.informaltable tfoot --{ -- font-weight: bold; --} -- --div.mediaobject img { -- margin-bottom: 0.8em; --} --div.figure p.title, --div.table p.title --{ -- margin-top: 1em; -- margin-bottom: 0.4em; --} -- --div.calloutlist p --{ -- margin-top: 0em; -- margin-bottom: 0.4em; --} -- --a img { -- border-style: none; --} -- --@media print { -- div.navheader, div.navfooter { display: none; } --} -- --span.aqua { color: aqua; } --span.black { color: black; } --span.blue { color: blue; } --span.fuchsia { color: fuchsia; } --span.gray { color: gray; } --span.green { color: green; } --span.lime { color: lime; } --span.maroon { color: maroon; } --span.navy { color: navy; } --span.olive { color: olive; } --span.purple { color: purple; } --span.red { color: red; } --span.silver { color: silver; } --span.teal { color: teal; } --span.white { color: white; } --span.yellow { color: yellow; } -- --span.aqua-background { background: aqua; } --span.black-background { background: black; } --span.blue-background { background: blue; } --span.fuchsia-background { background: fuchsia; } --span.gray-background { background: gray; } --span.green-background { background: green; } --span.lime-background { background: lime; } --span.maroon-background { background: maroon; } --span.navy-background { background: navy; } --span.olive-background { background: olive; } --span.purple-background { background: purple; } --span.red-background { background: red; } --span.silver-background { background: silver; } --span.teal-background { background: teal; } --span.white-background { background: white; } --span.yellow-background { background: yellow; } -- --span.big { font-size: 2em; } --span.small { font-size: 0.6em; } -- --span.underline { text-decoration: underline; } --span.overline { text-decoration: overline; } --span.line-through { text-decoration: line-through; } -diff --git a/docs.original/manual/download-infra.txt b/docs.original/manual/download-infra.txt -deleted file mode 100644 -index f2ccd149d6..0000000000 ---- a/docs.original/manual/download-infra.txt -+++ /dev/null -@@ -1,8 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[download-infra]] -- --== Download infrastructure -- --TODO -diff --git a/docs.original/manual/download-location.txt b/docs.original/manual/download-location.txt -deleted file mode 100644 -index d485df94f5..0000000000 ---- a/docs.original/manual/download-location.txt -+++ /dev/null -@@ -1,27 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[download-location]] -- --==== Location of downloaded packages -- --The various tarballs that are downloaded by Buildroot are all stored --in +BR2_DL_DIR+, which by default is the +dl+ directory. If you want --to keep a complete version of Buildroot which is known to be working --with the associated tarballs, you can make a copy of this directory. --This will allow you to regenerate the toolchain and the target --filesystem with exactly the same versions. -- --If you maintain several Buildroot trees, it might be better to have a --shared download location. This can be achieved by pointing the --+BR2_DL_DIR+ environment variable to a directory. If this is --set, then the value of +BR2_DL_DIR+ in the Buildroot configuration is --overridden. The following line should be added to +<~/.bashrc>+. -- ------------------- -- export BR2_DL_DIR= ------------------- -- --The download location can also be set in the +.config+ file, with the --+BR2_DL_DIR+ option. Unlike most options in the .config file, this value --is overridden by the +BR2_DL_DIR+ environment variable. -diff --git a/docs.original/manual/eclipse-integration.txt b/docs.original/manual/eclipse-integration.txt -deleted file mode 100644 -index 1f726d8240..0000000000 ---- a/docs.original/manual/eclipse-integration.txt -+++ /dev/null -@@ -1,30 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --=== Integration with Eclipse -- --While a part of the embedded Linux developers like classical text --editors like Vim or Emacs, and command-line based interfaces, a number --of other embedded Linux developers like richer graphical interfaces to --do their development work. Eclipse being one of the most popular --Integrated Development Environment, Buildroot integrates with Eclipse --in order to ease the development work of Eclipse users. -- --Our integration with Eclipse simplifies the compilation, remote --execution and remote debugging of applications and libraries that are --built on top of a Buildroot system. It does not integrate the --Buildroot configuration and build processes themselves with --Eclipse. Therefore, the typical usage model of our Eclipse integration --would be: -- --* Configure your Buildroot system with +make menuconfig+, +make -- xconfig+ or any other configuration interface provided with -- Buildroot. --* Build your Buildroot system by running +make+. --* Start Eclipse to develop, execute and debug your own custom -- applications and libraries, that will rely on the libraries built -- and installed by Buildroot. -- --The Buildroot Eclipse integration installation process and usage is --described in detail at --https://github.com/mbats/eclipse-buildroot-bundle/wiki. -diff --git a/docs.original/manual/faq-troubleshooting.txt b/docs.original/manual/faq-troubleshooting.txt -deleted file mode 100644 -index 5adf3fa6ce..0000000000 ---- a/docs.original/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] --* http://www.emdebian.org[emdebian] --* 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.original/manual/getting.txt b/docs.original/manual/getting.txt -deleted file mode 100644 -index 549938a223..0000000000 ---- a/docs.original/manual/getting.txt -+++ /dev/null -@@ -1,36 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[getting-buildroot]] --== Getting Buildroot -- --Buildroot releases are made every 3 months, in February, May, August and --November. Release numbers are in the format YYYY.MM, so for example --2013.02, 2014.08. -- --Release tarballs are available at http://buildroot.org/downloads/[]. -- --For your convenience, a https://www.vagrantup.com/[Vagrantfile] is --available in `support/misc/Vagrantfile` in the Buildroot source tree --to quickly set up a virtual machine with the needed dependencies to --get started. -- --If you want to setup an isolated buildroot environment on Linux or Mac --Os X, paste this line onto your terminal: -- ---------------------- --curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up ---------------------- -- --If you are on Windows, paste this into your powershell: -- ---------------------- --(new-object System.Net.WebClient).DownloadFile( --"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); --vagrant up ---------------------- -- --If you want to follow development, you can use the daily snapshots or --make a clone of the Git repository. Refer to the --http://buildroot.org/download[Download page] of the Buildroot website --for more details. -diff --git a/docs.original/manual/github_hash_mongrel2.png b/docs.original/manual/github_hash_mongrel2.png -deleted file mode 100644 -index c695c3181a..0000000000 -Binary files a/docs.original/manual/github_hash_mongrel2.png and /dev/null differ -diff --git a/docs.original/manual/how-buildroot-works.txt b/docs.original/manual/how-buildroot-works.txt -deleted file mode 100644 -index 1204d1ecab..0000000000 ---- a/docs.original/manual/how-buildroot-works.txt -+++ /dev/null -@@ -1,69 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --== How Buildroot works -- --As mentioned above, Buildroot is basically a set of Makefiles that --download, configure, and compile software with the correct options. It --also includes patches for various software packages - mainly the ones --involved in the cross-compilation toolchain (+gcc+, +binutils+ and --+uClibc+). -- --There is basically one Makefile per software package, and they are --named with the +.mk+ extension. Makefiles are split into many different --parts. -- --* The +toolchain/+ directory contains the Makefiles -- and associated files for all software related to the -- cross-compilation toolchain: +binutils+, +gcc+, +gdb+, -- +kernel-headers+ and +uClibc+. -- --* The +arch/+ directory contains the definitions for all the processor -- architectures that are supported by Buildroot. -- --* The +package/+ directory contains the Makefiles and -- associated files for all user-space tools and libraries that Buildroot -- can compile and add to the target root filesystem. There is one -- sub-directory per package. -- --* The +linux/+ directory contains the Makefiles and associated files for -- the Linux kernel. -- --* The +boot/+ directory contains the Makefiles and associated files for -- the bootloaders supported by Buildroot. -- --* The +system/+ directory contains support for system integration, e.g. -- the target filesystem skeleton and the selection of an init system. -- --* The +fs/+ directory contains the Makefiles and -- associated files for software related to the generation of the -- target root filesystem image. -- --Each directory contains at least 2 files: -- --* +something.mk+ is the Makefile that downloads, configures, -- compiles and installs the package +something+. -- --* +Config.in+ is a part of the configuration tool -- description file. It describes the options related to the -- package. -- --The main Makefile performs the following steps (once the --configuration is done): -- --* Create all the output directories: +staging+, +target+, +build+, -- etc. in the output directory (+output/+ by default, -- another value can be specified using +O=+) -- --* Generate the toolchain target. When an internal toolchain is used, this -- means generating the cross-compilation toolchain. When an external -- toolchain is used, this means checking the features of the external -- toolchain and importing it into the Buildroot environment. -- --* Generate all the targets listed in the +TARGETS+ variable. This -- variable is filled by all the individual components' -- Makefiles. Generating these targets will trigger the compilation of -- the userspace packages (libraries, programs), the kernel, the -- bootloader and the generation of the root filesystem images, -- depending on the configuration. -- -diff --git a/docs.original/manual/introduction.txt b/docs.original/manual/introduction.txt -deleted file mode 100644 -index 476aa81edc..0000000000 ---- a/docs.original/manual/introduction.txt -+++ /dev/null -@@ -1,26 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --== About Buildroot -- --Buildroot is a tool that simplifies and automates the process of --building a complete Linux system for an embedded system, using --cross-compilation. -- --In order to achieve this, Buildroot is able to generate a --cross-compilation toolchain, a root filesystem, a Linux kernel image --and a bootloader for your target. Buildroot can be used for any --combination of these options, independently (you can for example use --an existing cross-compilation toolchain, and build only your root --filesystem with Buildroot). -- --Buildroot is useful mainly for people working with embedded systems. --Embedded systems often use processors that are not the regular x86 --processors everyone is used to having in his PC. They can be PowerPC --processors, MIPS processors, ARM processors, etc. -- --Buildroot supports numerous processors and their variants; it also --comes with default configurations for several boards available --off-the-shelf. Besides this, a number of third-party projects are based on, --or develop their BSP footnote:[BSP: Board Support Package] or --SDK footnote:[SDK: Software Development Kit] on top of Buildroot. -diff --git a/docs.original/manual/known-issues.txt b/docs.original/manual/known-issues.txt -deleted file mode 100644 -index ae29a48b38..0000000000 ---- a/docs.original/manual/known-issues.txt -+++ /dev/null -@@ -1,15 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --== Known issues -- --* It is not possible to pass extra linker options via +BR2_TARGET_LDFLAGS+ -- if such options contain a +$+ sign. For example, the following is known -- to break: +BR2_TARGET_LDFLAGS="-Wl,-rpath=\'$ORIGIN/../lib'"+ -- --* The +libffi+ package is not supported on the SuperH 2 and ARC -- architectures. -- --* The +prboom+ package triggers a compiler failure with the SuperH 4 -- compiler from Sourcery CodeBench, version 2012.09. -- -diff --git a/docs.original/manual/legal-notice.txt b/docs.original/manual/legal-notice.txt -deleted file mode 100644 -index 179aa6b179..0000000000 ---- a/docs.original/manual/legal-notice.txt -+++ /dev/null -@@ -1,122 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[legal-info]] -- --== Legal notice and licensing -- --=== Complying with open source licenses -- --All of the end products of Buildroot (toolchain, root filesystem, kernel, --bootloaders) contain open source software, released under various licenses. -- --Using open source software gives you the freedom to build rich embedded --systems, choosing from a wide range of packages, but also imposes some --obligations that you must know and honour. --Some licenses require you to publish the license text in the documentation of --your product. Others require you to redistribute the source code of the --software to those that receive your product. -- --The exact requirements of each license are documented in each package, and --it is your responsibility (or that of your legal office) to comply with those --requirements. --To make this easier for you, Buildroot can collect for you some material you --will probably need. To produce this material, after you have configured --Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run: -- ---------------------- --make legal-info ---------------------- -- --Buildroot will collect legally-relevant material in your output directory, --under the +legal-info/+ subdirectory. --There you will find: -- --* A +README+ file, that summarizes the produced material and contains warnings -- about material that Buildroot could not produce. --* +buildroot.config+: this is the Buildroot configuration file that is usually -- produced with +make menuconfig+, and which is necessary to reproduce the -- build. --* The source code for all packages; this is saved in the +sources/+ and -- +host-sources/+ subdirectories for target and host packages respectively. -- The source code for packages that set +_REDISTRIBUTE = NO+ will not be -- saved. -- Patches that were applied are also saved, along with a file named +series+ -- that lists the patches in the order they were applied. Patches are under the -- same license as the files that they modify. -- Note: Buildroot applies additional patches to Libtool scripts of -- autotools-based packages. These patches can be found under -- +support/libtool+ in the Buildroot source and, due to technical -- limitations, are not saved with the package sources. You may need to -- collect them manually. --* A manifest file (one for host and one for target packages) listing the -- configured packages, their version, license and related information. -- Some of this information might not be defined in Buildroot; such items are -- marked as "unknown". --* The license texts of all packages, in the +licenses/+ and +host-licenses/+ -- subdirectories for target and host packages respectively. -- If the license file(s) are not defined in Buildroot, the file is not produced -- and a warning in the +README+ indicates this. -- --Please note that the aim of the +legal-info+ feature of Buildroot is to --produce all the material that is somehow relevant for legal compliance with the --package licenses. Buildroot does not try to produce the exact material that --you must somehow make public. Certainly, more material is produced than is --needed for a strict legal compliance. For example, it produces the source code --for packages released under BSD-like licenses, that you are not required to --redistribute in source form. -- --Moreover, due to technical limitations, Buildroot does not produce some --material that you will or may need, such as the toolchain source code for --some of the external toolchains and the Buildroot source code itself. --When you run +make legal-info+, Buildroot produces warnings in the +README+ --file to inform you of relevant material that could not be saved. -- --Finally, keep in mind that the output of +make legal-info+ is based on --declarative statements in each of the packages recipes. The Buildroot --developers try to do their best to keep those declarative statements as --accurate as possible, to the best of their knowledge. However, it is very --well possible that those declarative statements are not all fully accurate --nor exhaustive. You (or your legal department) _have_ to check the output --of +make legal-info+ before using it as your own compliance delivery. See --the _NO WARRANTY_ clauses (clauses 11 and 12) in the +COPYING+ file at the --root of the Buildroot distribution. -- --[[legal-info-buildroot]] --=== Complying with the Buildroot license -- --Buildroot itself is an open source software, released under the --http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General --Public License, version 2] or (at your option) any later version, with --the exception of the package patches detailed below. --However, being a build system, it is not normally part of the end product: --if you develop the root filesystem, kernel, bootloader or toolchain for a --device, the code of Buildroot is only present on the development machine, not --in the device storage. -- --Nevertheless, the general view of the Buildroot developers is that you should --release the Buildroot source code along with the source code of other packages --when releasing a product that contains GPL-licensed software. --This is because the --http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU GPL] --defines the "'complete source code'" for an executable work as "'all the --source code for all modules it contains, plus any associated interface --definition files, plus the scripts used to control compilation and installation --of the executable'". --Buildroot is part of the 'scripts used to control compilation and --installation of the executable', and as such it is considered part of the --material that must be redistributed. -- --Keep in mind that this is only the Buildroot developers' opinion, and you --should consult your legal department or lawyer in case of any doubt. -- --==== Patches to packages -- --Buildroot also bundles patch files, which are applied to the sources --of the various packages. Those patches are not covered by the license --of Buildroot. Instead, they are covered by the license of the software --to which the patches are applied. When said software is available --under multiple licenses, the Buildroot patches are only provided under --the publicly accessible licenses. -- --See xref:patch-policy[] for the technical details. -diff --git a/docs.original/manual/logo.png b/docs.original/manual/logo.png -deleted file mode 100644 -index 2db743b4fa..0000000000 -Binary files a/docs.original/manual/logo.png and /dev/null differ -diff --git a/docs.original/manual/make-tips.txt b/docs.original/manual/make-tips.txt -deleted file mode 100644 -index 869b6807dd..0000000000 ---- a/docs.original/manual/make-tips.txt -+++ /dev/null -@@ -1,133 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[make-tips]] --=== 'make' tips -- --This is a collection of tips that help you make the most of Buildroot. -- --.Display all commands executed by make: -- ---------------------- -- $ make V=1 ---------------------- -- --.Display the list of boards with a defconfig: -- ---------------------- -- $ make list-defconfigs ---------------------- -- --.Display all available targets: -- ---------------------- -- $ make help ---------------------- -- --Not all targets are always available, --some settings in the +.config+ file may hide some targets: -- --* +busybox-menuconfig+ only works when +busybox+ is enabled; --* +linux-menuconfig+ and +linux-savedefconfig+ only work when -- +linux+ is enabled; --* +uclibc-menuconfig+ is only available when the uClibc C library is -- selected in the internal toolchain backend; --* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the -- +barebox+ bootloader is enabled. --* +uboot-menuconfig+ and +uboot-savedefconfig+ only work when the -- +U-Boot+ bootloader is enabled. -- --.Cleaning: -- --Explicit cleaning is required when any of the architecture or toolchain --configuration options are changed. -- --To delete all build products (including build directories, host, staging --and target trees, the images and the toolchain): -- ---------------------- -- $ make clean ---------------------- -- --.Generating the manual: -- --The present manual sources are located in the 'docs/manual' directory. --To generate the manual: -- ----------------------------------- -- $ make manual-clean -- $ make manual ----------------------------------- -- --The manual outputs will be generated in 'output/docs/manual'. -- --.Notes --- A few tools are required to build the documentation (see: -- xref:requirement-optional[]). -- --.Resetting Buildroot for a new target: -- --To delete all build products as well as the configuration: -- ---------------------- -- $ make distclean ---------------------- -- --.Notes --If +ccache+ is enabled, running +make clean+ or +distclean+ does --not empty the compiler cache used by Buildroot. To delete it, refer --to xref:ccache[]. -- --.Dumping the internal make variables: -- --One can dump the variables known to make, along with their values: -- ------ -- $ make -s printvars VARS='VARIABLE1 VARIABLE2' -- VARIABLE1=value_of_variable -- VARIABLE2=value_of_variable ------ -- --It is possible to tweak the output using some variables: -- --- +VARS+ will limit the listing to variables which names match the -- specified make-patterns - this must be set else nothing is printed --- +QUOTED_VARS+, if set to +YES+, will single-quote the value --- +RAW_VARS+, if set to +YES+, will print the unexpanded value -- --For example: -- ------ -- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES -- BUSYBOX_DEPENDENCIES=skeleton toolchain -- BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain -- BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain -- BUSYBOX_FINAL_PATCH_DEPENDENCIES= -- BUSYBOX_RDEPENDENCIES=ncurses util-linux ------ -- ------ -- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES -- BUSYBOX_DEPENDENCIES='skeleton toolchain' -- BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' -- BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' -- BUSYBOX_FINAL_PATCH_DEPENDENCIES='' -- BUSYBOX_RDEPENDENCIES='ncurses util-linux' ------ -- ------ -- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES -- BUSYBOX_DEPENDENCIES=skeleton toolchain -- BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) -- BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) -- BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) -- BUSYBOX_RDEPENDENCIES=ncurses util-linux ------ -- --The output of quoted variables can be reused in shell scripts, for example: -- ------ -- $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) -- $ echo $BUSYBOX_DEPENDENCIES -- skeleton toolchain ------ -diff --git a/docs.original/manual/makedev-syntax.txt b/docs.original/manual/makedev-syntax.txt -deleted file mode 100644 -index d6efb31d42..0000000000 ---- a/docs.original/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.original/manual/makeusers-syntax.txt b/docs.original/manual/makeusers-syntax.txt -deleted file mode 100644 -index 467e596230..0000000000 ---- a/docs.original/manual/makeusers-syntax.txt -+++ /dev/null -@@ -1,89 +0,0 @@ --// -*- mode:doc -*- ; --// vim: set syntax=asciidoc: -- --[[makeuser-syntax]] --== Makeusers syntax documentation -- --The syntax to create users is inspired by the makedev syntax, above, but --is specific to Buildroot. -- --The syntax for adding a user is a space-separated list of fields, one --user per line; the fields are: -- --|================================================================= --|username |uid |group |gid |password |home |shell |groups |comment --|================================================================= -- --Where: -- --- +username+ is the desired user name (aka login name) for the user. -- It can not be +root+, and must be unique. If set to +-+, then just a -- group will be created. --- +uid+ is the desired UID for the user. It must be unique, and not -- +0+. If set to +-1+, then a unique UID will be computed by Buildroot -- in the range [1000...1999] --- +group+ is the desired name for the user's main group. It can not -- be +root+. If the group does not exist, it will be created. --- +gid+ is the desired GID for the user's main group. It must be unique, -- and not +0+. If set to +-1+, and the group does not already exist, then -- a unique GID will be computed by Buildroot in the range [1000..1999] --- +password+ is the crypt(3)-encoded password. If prefixed with +!+, -- then login is disabled. If prefixed with +=+, then it is interpreted -- as clear-text, and will be crypt-encoded (using MD5). If prefixed with -- +!=+, then the password will be crypt-encoded (using MD5) and login -- will be disabled. If set to +*+, then login is not allowed. If set to -- +-+, then no password value will be set. --- +home+ is the desired home directory for the user. If set to '-', no -- home directory will be created, and the user's home will be +/+. -- Explicitly setting +home+ to +/+ is not allowed. --- +shell+ is the desired shell for the user. If set to +-+, then -- +/bin/false+ is set as the user's shell. --- +groups+ is the comma-separated list of additional groups the user -- should be part of. If set to +-+, then the user will be a member of -- no additional group. Missing groups will be created with an arbitrary -- +gid+. --- +comment+ (aka https://en.wikipedia.org/wiki/Gecos_field[GECOS] -- field) is an almost-free-form text. -- --There are a few restrictions on the content of each field: -- --* except for +comment+, all fields are mandatory. --* except for +comment+, fields may not contain spaces. --* no field may contain a colon (+:+). -- --If +home+ is not +-+, then the home directory, and all files below, --will belong to the user and its main group. -- --Examples: -- ------ --foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user ------ -- --This will create this user: -- --- +username+ (aka login name) is: +foo+ --- +uid+ is computed by Buildroot --- main +group+ is: +bar+ --- main group +gid+ is computed by Buildroot --- clear-text +password+ is: +blabla+, will be crypt(3)-encoded, and login is disabled. --- +home+ is: +/home/foo+ --- +shell+ is: +/bin/sh+ --- +foo+ is also a member of +groups+: +alpha+ and +bravo+ --- +comment+ is: +Foo user+ -- ------ --test 8000 wheel -1 = - /bin/sh - Test user ------ -- --This will create this user: -- --- +username+ (aka login name) is: +test+ --- +uid+ is : +8000+ --- main +group+ is: +wheel+ --- main group +gid+ is computed by Buildroot, and will use the value defined in the rootfs skeleton --- +password+ is empty (aka no password). --- +home+ is +/+ but will not belong to +test+ --- +shell+ is: +/bin/sh+ --- +test+ is not a member of any additional +groups+ --- +comment+ is: +Test user+ -diff --git a/docs.original/manual/manual.html b/docs.original/manual/manual.html -deleted file mode 100644 -index af7f2fc3f4..0000000000 ---- a/docs.original/manual/manual.html -+++ /dev/null -@@ -1,5898 +0,0 @@ -- --The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Details about packages
8.9. Graphing the dependencies between packages
8.10. Graphing the build duration
8.11. Graphing the filesystem size contribution of packages
8.12. Top-level parallel build
8.13. Integration with Eclipse
8.14. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Using SELinux in Buildroot
10.1. Enabling SELinux support
10.2. SELinux policy tweaking
11. Frequently Asked Questions & Troubleshooting
11.1. The boot hangs after Starting network…
11.2. Why is there no compiler on the target?
11.3. Why are there no development files on the target?
11.4. Why is there no documentation on the target?
11.5. Why are some packages not visible in the Buildroot config menu?
11.6. Why not use the target directory as a chroot directory?
11.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
11.8. How to speed-up the build process?
12. Known issues
13. Legal notice and licensing
13.1. Complying with open source licenses
13.2. Complying with the Buildroot license
14. Beyond Buildroot
14.1. Boot the generated images
14.2. Chroot
III. Developer guide
15. How Buildroot works
16. Coding style
16.1. Config.in file
16.2. The .mk file
16.3. The documentation
16.4. Support scripts
17. Adding support for a particular board
18. Adding new packages to Buildroot
18.1. Package directory
18.2. Config files
18.3. The .mk file
18.4. The .hash file
18.5. Infrastructure for packages with specific build systems
18.6. Infrastructure for autotools-based packages
18.7. Infrastructure for CMake-based packages
18.8. Infrastructure for Python packages
18.9. Infrastructure for LuaRocks-based packages
18.10. Infrastructure for Perl/CPAN packages
18.11. Infrastructure for virtual packages
18.12. Infrastructure for packages using kconfig for configuration files
18.13. Infrastructure for rebar-based packages
18.14. Infrastructure for Waf-based packages
18.15. Infrastructure for Meson-based packages
18.16. Integration of Cargo-based packages
18.17. Infrastructure for Go packages
18.18. Infrastructure for QMake-based packages
18.19. Infrastructure for packages building kernel modules
18.20. Infrastructure for asciidoc documents
18.21. Infrastructure specific to the Linux kernel package
18.22. Hooks available in the various build steps
18.23. Gettext integration and interaction with packages
18.24. Tips and tricks
18.25. Conclusion
19. Patching a package
19.1. Providing patches
19.2. How patches are applied
19.3. Format and licensing of the package patches
19.4. Integrating patches found on the Web
20. Download infrastructure
21. Debugging Buildroot
22. Contributing to Buildroot
22.1. Reproducing, analyzing and fixing bugs
22.2. Analyzing and fixing autobuild failures
22.3. Reviewing and testing patches
22.4. Work on items from the TODO list
22.5. Submitting patches
22.6. Reporting issues/bugs or getting help
22.7. Using the runtime tests framework
23. DEVELOPERS file and get-developers
24. Release Engineering
24.1. Releases
24.2. Development
IV. Appendix
25. Makedev syntax documentation
26. Makeusers syntax documentation
27. Migrating from older Buildroot versions
27.1. General approach
27.2. Migrating to 2016.11
27.3. Migrating to 2017.08

Buildroot 2021.08.2 manual generated on 2021-11-10 --13:24:54 UTC from git revision d815599e37

The Buildroot manual is written by the Buildroot developers. --It is licensed under the GNU General Public License, version 2. Refer to the --COPYING --file in the Buildroot sources for the full text of this license.

Copyright © 2004-2020 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of --building a complete Linux system for an embedded system, using --cross-compilation.

In order to achieve this, Buildroot is able to generate a --cross-compilation toolchain, a root filesystem, a Linux kernel image --and a bootloader for your target. Buildroot can be used for any --combination of these options, independently (you can for example use --an existing cross-compilation toolchain, and build only your root --filesystem with Buildroot).

Buildroot is useful mainly for people working with embedded systems. --Embedded systems often use processors that are not the regular x86 --processors everyone is used to having in his PC. They can be PowerPC --processors, MIPS processors, ARM processors, etc.

Buildroot supports numerous processors and their variants; it also --comes with default configurations for several boards available --off-the-shelf. Besides this, a number of third-party projects are based on, --or develop their BSP [1] or --SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. 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).

2.1. Mandatory packages

  • --Build tools: --

    • --which --
    • --sed --
    • --make (version 3.81 or any later) --
    • --binutils --
    • --build-essential (only for Debian based systems) --
    • --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 --
  • --Source fetching tools: --

    • --wget --

2.2. 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 Chapter 20, Download infrastructure 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 --
    • --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 <pkg>-graph-depends --
    • --python-matplotlib to use graph-build --

Chapter 3. Getting Buildroot

Buildroot releases are made every 3 months, in February, May, August and --November. Release numbers are in the format YYYY.MM, so for example --2013.02, 2014.08.

Release tarballs are available at http://buildroot.org/downloads/.

For your convenience, a Vagrantfile is --available in support/misc/Vagrantfile in the Buildroot source tree --to quickly set up a virtual machine with the needed dependencies to --get started.

If you want to setup an isolated buildroot environment on Linux or Mac --Os X, paste this line onto your terminal:

curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up

If you are on Windows, paste this into your powershell:

(new-object System.Net.WebClient).DownloadFile(
--"https://buildroot.org/downloads/Vagrantfile","Vagrantfile");
--vagrant up

If you want to follow development, you can use the daily snapshots or --make a clone of the Git repository. Refer to the --Download page of the Buildroot website --for more details.

Chapter 4. Buildroot quick start

Important: you can and should build everything as a normal user. There --is no need to be root to configure and use Buildroot. By running all --commands as a regular user, you protect your system against packages --behaving badly during compilation and installation.

The first step when using Buildroot is to create a configuration. --Buildroot has a nice configuration tool similar to the one you can --find in the Linux kernel or in --BusyBox.

From the buildroot directory, run

 $ make menuconfig

for the original curses-based configurator, or

 $ make nconfig

for the new curses-based configurator, or

 $ make xconfig

for the Qt-based configurator, or

 $ make gconfig

for the GTK-based configurator.

All of these "make" commands will need to build a configuration --utility (including the interface), so you may need to install --"development" packages for relevant libraries used by the --configuration utilities. Refer to Chapter 2, System requirements for more details, --specifically the optional requirements --to get the dependencies of your favorite interface.

For each menu entry in the configuration tool, you can find associated --help that describes the purpose of the entry. Refer to Chapter 6, Buildroot configuration --for details on some specific configuration aspects.

Once everything is configured, the configuration tool generates a --.config file that contains the entire configuration. This file will be --read by the top-level Makefile.

To start the build process, simply run:

 $ make

By default, Buildroot does not support top-level parallel build, so --running make -jN is not necessary. There is however experimental --support for top-level parallel build, see --Section 8.12, “Top-level parallel buildâ€.

The make command will generally perform the following steps:

  • --download source files (as required); --
  • --configure, build and install the cross-compilation toolchain, or -- simply import an external toolchain; --
  • --configure, build and install selected target packages; --
  • --build a kernel image, if selected; --
  • --build a bootloader image, if selected; --
  • --create a root filesystem in selected formats. --

Buildroot output is stored in a single directory, output/. --This directory contains several subdirectories:

  • --images/ where all the images (kernel image, bootloader and root -- filesystem images) are stored. These are the files you need to put -- on your target system. --
  • --build/ where all the components are built (this includes tools -- needed by Buildroot on the host and packages compiled for the -- target). This directory contains one subdirectory for each of these -- components. --
  • --host/ contains both the tools built for the host, and the sysroot -- of the target toolchain. The former is an installation of tools -- compiled for the host that are needed for the proper execution of -- Buildroot, including the cross-compilation toolchain. The latter -- is a hierarchy similar to a root filesystem hierarchy. It contains -- the headers and libraries of all user-space packages that provide -- and install libraries used by other packages. However, this -- directory is not intended to be the root filesystem for the target: -- it contains a lot of development files, unstripped binaries and -- libraries that make it far too big for an embedded system. These -- development files are used to compile libraries and applications for -- the target that depend on other libraries. --
  • --staging/ is a symlink to the target toolchain sysroot inside -- host/, which exists for backwards compatibility. --
  • --target/ which contains almost the complete root filesystem for -- the target: everything needed is present except the device files in -- /dev/ (Buildroot can’t create them because Buildroot doesn’t run -- as root and doesn’t want to run as root). Also, it doesn’t have the correct -- permissions (e.g. setuid for the busybox binary). Therefore, this directory -- should not be used on your target. Instead, you should use one of -- the images built in the images/ directory. If you need an -- extracted image of the root filesystem for booting over NFS, then -- use the tarball image generated in images/ and extract it as -- root. Compared to staging/, target/ contains only the files and -- libraries needed to run the selected target applications: the -- development files (headers, etc.) are not present, the binaries are -- stripped. --

These commands, make menuconfig|nconfig|gconfig|xconfig and make, are the --basic ones that allow to easily and quickly generate images fitting --your needs, with all the features and applications you enabled.

More details about the "make" command usage are given in --Section 8.1, “make tipsâ€.

Chapter 5. Community resources

Like any open source project, Buildroot has different ways to share --information in its community and outside.

Each of those ways may interest you if you are looking for some help, --want to understand Buildroot or contribute to the project.

--Mailing List --

Buildroot has a mailing list for discussion and development. It is the --main method of interaction for Buildroot users and developers.

Only subscribers to the Buildroot mailing list are allowed to post to --this list. You can subscribe via the --mailing list info --page.

Mails that are sent to the mailing list are also available in the --mailing list archives, available through --Mailman or at --lore.kernel.org.

--IRC --

The Buildroot IRC channel #buildroot is --hosted on OFTC. It is a useful place to --ask quick questions or discuss on certain topics.

When asking for help on IRC, share relevant logs or pieces of code --using a code sharing website, such as https://paste.ack.tf/.

Note that for certain questions, posting to the mailing list may be --better as it will reach more people, both developers and users.

--Bug tracker --
Bugs in Buildroot can be reported via the mailing list or alternatively --via the Buildroot --bugtracker. Please refer to Section 22.6, “Reporting issues/bugs or getting help†before creating a bug --report.
--Wiki --
The Buildroot wiki page is hosted on --the eLinux wiki. It contains some useful links, an --overview of past and upcoming events, and a TODO list.
--Patchwork --

Patchwork is a web-based patch tracking system designed to facilitate --the contribution and management of contributions to an open-source --project. Patches that have been sent to a mailing list are 'caught' by --the system, and appear on a web page. Any comments posted that --reference the patch are appended to the patch page too. For more --information on Patchwork see --http://jk.ozlabs.org/projects/patchwork/.

Buildroot’s Patchwork website is mainly for use by Buildroot’s --maintainer to ensure patches aren’t missed. It is also used by Buildroot --patch reviewers (see also Section 22.3.1, “Applying Patches from Patchworkâ€). --However, since the website exposes patches and their corresponding --review comments in a clean and concise web interface, it can be useful --for all Buildroot developers.

The Buildroot patch management interface is available at --http://patchwork.buildroot.org.

Part II. User guide

Chapter 6. Buildroot configuration

All the configuration options in make *config have a help text --providing details about the option.

The make *config commands also offer a search tool. Read the help --message in the different frontend menus to know how to use it:

  • --in menuconfig, the search tool is called by pressing /; --
  • --in xconfig, the search tool is called by pressing Ctrl + f. --

The result of the search shows the help message of the matching items. --In menuconfig, numbers in the left column provide a shortcut to the --corresponding entry. Just type this number to directly jump to the --entry, or to the containing menu in case the entry is not selectable due --to a missing dependency.

Although the menu structure and the help text of the entries should be --sufficiently self-explanatory, a number of topics require additional --explanation that cannot easily be covered in the help text and are --therefore covered in the following sections.

6.1. Cross-compilation toolchain

A compilation toolchain is the set of tools that allows you to compile --code for your system. It consists of a compiler (in our case, gcc), --binary utils like assembler and linker (in our case, binutils) and a --C standard library (for example --GNU Libc, --uClibc-ng).

The system installed on your development station certainly already has --a compilation toolchain that you can use to compile an application --that runs on your system. If you’re using a PC, your compilation --toolchain runs on an x86 processor and generates code for an x86 --processor. Under most Linux systems, the compilation toolchain uses --the GNU libc (glibc) as the C standard library. This compilation --toolchain is called the "host compilation toolchain". The machine on --which it is running, and on which you’re working, is called the "host --system" [3].

The compilation toolchain is provided by your distribution, and --Buildroot has nothing to do with it (other than using it to build a --cross-compilation toolchain and other tools that are run on the --development host).

As said above, the compilation toolchain that comes with your system --runs on and generates code for the processor in your host system. As --your embedded system has a different processor, you need a --cross-compilation toolchain - a compilation toolchain that runs on --your host system but generates code for your target system (and --target processor). For example, if your host system uses x86 and your --target system uses ARM, the regular compilation toolchain on your host --runs on x86 and generates code for x86, while the cross-compilation --toolchain runs on x86 and generates code for ARM.

Buildroot provides two solutions for the cross-compilation toolchain:

  • --The internal toolchain backend, called Buildroot toolchain in -- the configuration interface. --
  • --The external toolchain backend, called External toolchain in -- the configuration interface. --

The choice between these two solutions is done using the Toolchain --Type option in the Toolchain menu. Once one solution has been --chosen, a number of configuration options appear, they are detailed in --the following sections.

6.1.1. Internal toolchain backend

The internal toolchain backend is the backend where Buildroot builds --by itself a cross-compilation toolchain, before building the userspace --applications and libraries for your target embedded system.

This backend supports several C libraries: --uClibc-ng, --glibc and --musl.

Once you have selected this backend, a number of options appear. The --most important ones allow to:

  • --Change the version of the Linux kernel headers used to build the -- toolchain. This item deserves a few explanations. In the process of -- building a cross-compilation toolchain, the C library is being -- built. This library provides the interface between userspace -- applications and the Linux kernel. In order to know how to "talk" -- to the Linux kernel, the C library needs to have access to the -- Linux kernel headers (i.e. the .h files from the kernel), which -- define the interface between userspace and the kernel (system -- calls, data structures, etc.). Since this interface is backward -- compatible, the version of the Linux kernel headers used to build -- your toolchain do not need to match exactly the version of the -- Linux kernel you intend to run on your embedded system. They only -- need to have a version equal or older to the version of the Linux -- kernel you intend to run. If you use kernel headers that are more -- recent than the Linux kernel you run on your embedded system, then -- the C library might be using interfaces that are not provided by -- your Linux kernel. --
  • --Change the version of the GCC compiler, binutils and the C library. --
  • --Select a number of toolchain options (uClibc only): whether the -- toolchain should have RPC support (used mainly for NFS), -- wide-char support, locale support (for internationalization), -- C++ support or thread support. Depending on which options you choose, -- the number of userspace applications and libraries visible in -- Buildroot menus will change: many applications and libraries require -- certain toolchain options to be enabled. Most packages show a comment -- when a certain toolchain option is required to be able to enable -- those packages. If needed, you can further refine the uClibc -- configuration by running make uclibc-menuconfig. Note however that -- all packages in Buildroot are tested against the default uClibc -- configuration bundled in Buildroot: if you deviate from this -- configuration by removing features from uClibc, some packages may no -- longer build. --

It is worth noting that whenever one of those options is modified, --then the entire toolchain and system must be rebuilt. See --Section 8.2, “Understanding when a full rebuild is necessaryâ€.

Advantages of this backend:

  • --Well integrated with Buildroot --
  • --Fast, only builds what’s necessary --

Drawbacks of this backend:

  • --Rebuilding the toolchain is needed when doing make clean, which -- takes time. If you’re trying to reduce your build time, consider -- using the External toolchain backend. --

6.1.2. External toolchain backend

The external toolchain backend allows to use existing pre-built --cross-compilation toolchains. Buildroot knows about a number of --well-known cross-compilation toolchains (from --Linaro for ARM, --Sourcery --CodeBench for ARM, x86-64, PowerPC, and MIPS, and is capable of --downloading them automatically, or it can be pointed to a custom --toolchain, either available for download or installed locally.

Then, you have three solutions to use an external toolchain:

  • --Use a predefined external toolchain profile, and let Buildroot -- download, extract and install the toolchain. Buildroot already knows -- about a few CodeSourcery and Linaro toolchains. Just select the -- toolchain profile in Toolchain from the available ones. This is -- definitely the easiest solution. --
  • --Use a predefined external toolchain profile, but instead of having -- Buildroot download and extract the toolchain, you can tell Buildroot -- where your toolchain is already installed on your system. Just -- select the toolchain profile in Toolchain through the available -- ones, unselect Download toolchain automatically, and fill the -- Toolchain path text entry with the path to your cross-compiling -- toolchain. --
  • --Use a completely custom external toolchain. This is particularly -- useful for toolchains generated using crosstool-NG or with Buildroot -- itself. To do this, select the Custom toolchain solution in the -- Toolchain list. You need to fill the Toolchain path, Toolchain -- prefix and External toolchain C library options. Then, you have -- to tell Buildroot what your external toolchain supports. If your -- external toolchain uses the glibc library, you only have to tell -- whether your toolchain supports C++ or not and whether it has -- built-in RPC support. If your external toolchain uses the uClibc -- library, then you have to tell Buildroot if it supports RPC, -- wide-char, locale, program invocation, threads and C++. -- At the beginning of the execution, Buildroot will tell you if -- the selected options do not match the toolchain configuration. --

Our external toolchain support has been tested with toolchains from --CodeSourcery and Linaro, toolchains generated by --crosstool-NG, and toolchains generated by --Buildroot itself. In general, all toolchains that support the --sysroot feature should work. If not, do not hesitate to contact the --developers.

We do not support toolchains or SDK generated by OpenEmbedded or --Yocto, because these toolchains are not pure toolchains (i.e. just the --compiler, binutils, the C and C++ libraries). Instead these toolchains --come with a very large set of pre-compiled libraries and --programs. Therefore, Buildroot cannot import the sysroot of the --toolchain, as it would contain hundreds of megabytes of pre-compiled --libraries that are normally built by Buildroot.

We also do not support using the distribution toolchain (i.e. the --gcc/binutils/C library installed by your distribution) as the --toolchain to build software for the target. This is because your --distribution toolchain is not a "pure" toolchain (i.e. only with the --C/C++ library), so we cannot import it properly into the Buildroot --build environment. So even if you are building a system for a x86 or --x86_64 target, you have to generate a cross-compilation toolchain with --Buildroot or crosstool-NG.

If you want to generate a custom toolchain for your project, that can --be used as an external toolchain in Buildroot, our recommendation is --to build it either with Buildroot itself (see --Section 6.1.3, “Build an external toolchain with Buildrootâ€) or with --crosstool-NG.

Advantages of this backend:

  • --Allows to use well-known and well-tested cross-compilation -- toolchains. --
  • --Avoids the build time of the cross-compilation toolchain, which is -- often very significant in the overall build time of an embedded -- Linux system. --

Drawbacks of this backend:

  • --If your pre-built external toolchain has a bug, may be hard to get a -- fix from the toolchain vendor, unless you build your external -- toolchain by yourself using Buildroot or Crosstool-NG. --

6.1.3. Build an external toolchain with Buildroot

The Buildroot internal toolchain option can be used to create an --external toolchain. Here are a series of steps to build an internal --toolchain and package it up for reuse by Buildroot itself (or other --projects).

Create a new Buildroot configuration, with the following details:

  • --Select the appropriate Target options for your target CPU -- architecture --
  • --In the Toolchain menu, keep the default of Buildroot toolchain -- for Toolchain type, and configure your toolchain as desired --
  • --In the System configuration menu, select None as the Init -- system and none as /bin/sh --
  • --In the Target packages menu, disable BusyBox --
  • --In the Filesystem images menu, disable tar the root filesystem --

Then, we can trigger the build, and also ask Buildroot to generate a --SDK. This will conveniently generate for us a tarball which contains --our toolchain:

make sdk

This produces the SDK tarball in $(O)/images, with a name similar to --arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz. Save this --tarball, as it is now the toolchain that you can re-use as an external --toolchain in other Buildroot projects.

In those other Buildroot projects, in the Toolchain menu:

  • --Set Toolchain type to External toolchain --
  • --Set Toolchain to Custom toolchain --
  • --Set Toolchain origin to Toolchain to be downloaded and installed --
  • --Set Toolchain URL to file:///path/to/your/sdk/tarball.tar.gz --

External toolchain wrapper

When using an external toolchain, Buildroot generates a wrapper program, --that transparently passes the appropriate options (according to the --configuration) to the external toolchain programs. In case you need to --debug this wrapper to check exactly what arguments are passed, you can --set the environment variable BR2_DEBUG_WRAPPER to either one of:

  • --0, empty or not set: no debug --
  • --1: trace all arguments on a single line --
  • --2: trace one argument per line --

6.2. /dev management

On a Linux system, the /dev directory contains special files, called --device files, that allow userspace applications to access the --hardware devices managed by the Linux kernel. Without these device --files, your userspace applications would not be able to use the --hardware devices, even if they are properly recognized by the Linux --kernel.

Under System configuration, /dev management, Buildroot offers four --different solutions to handle the /dev directory :

  • --The first solution is Static using device table. This is the old -- classical way of handling device files in Linux. With this method, -- the device files are persistently stored in the root filesystem -- (i.e. they persist across reboots), and there is nothing that will -- automatically create and remove those device files when hardware -- devices are added or removed from the system. Buildroot therefore -- creates a standard set of device files using a device table, the -- default one being stored in system/device_table_dev.txt in the -- Buildroot source code. This file is processed when Buildroot -- generates the final root filesystem image, and the device files -- are therefore not visible in the output/target directory. The -- BR2_ROOTFS_STATIC_DEVICE_TABLE option allows to change the -- default device table used by Buildroot, or to add an additional -- device table, so that additional device files are created by -- Buildroot during the build. So, if you use this method, and a -- device file is missing in your system, you can for example create -- a board/<yourcompany>/<yourproject>/device_table_dev.txt file -- that contains the description of your additional device files, -- and then you can set BR2_ROOTFS_STATIC_DEVICE_TABLE to -- system/device_table_dev.txt -- board/<yourcompany>/<yourproject>/device_table_dev.txt. For more -- details about the format of the device table file, see -- Chapter 25, Makedev syntax documentation. --
  • --The second solution is Dynamic using devtmpfs only. devtmpfs is -- a virtual filesystem inside the Linux kernel that has been -- introduced in kernel 2.6.32 (if you use an older kernel, it is not -- possible to use this option). When mounted in /dev, this virtual -- filesystem will automatically make device files appear and -- disappear as hardware devices are added and removed from the -- system. This filesystem is not persistent across reboots: it is -- filled dynamically by the kernel. Using devtmpfs requires the -- following kernel configuration options to be enabled: -- CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT. When Buildroot is in -- charge of building the Linux kernel for your embedded device, it -- makes sure that those two options are enabled. However, if you -- build your Linux kernel outside of Buildroot, then it is your -- responsibility to enable those two options (if you fail to do so, -- your Buildroot system will not boot). --
  • --The third solution is Dynamic using devtmpfs + mdev. This method -- also relies on the devtmpfs virtual filesystem detailed above (so -- the requirement to have CONFIG_DEVTMPFS and -- CONFIG_DEVTMPFS_MOUNT enabled in the kernel configuration still -- apply), but adds the mdev userspace utility on top of it. mdev -- is a program part of BusyBox that the kernel will call every time a -- device is added or removed. Thanks to the /etc/mdev.conf -- configuration file, mdev can be configured to for example, set -- specific permissions or ownership on a device file, call a script -- or application whenever a device appears or disappear, -- etc. Basically, it allows userspace to react on device addition -- and removal events. mdev can for example be used to automatically -- load kernel modules when devices appear on the system. mdev is -- also important if you have devices that require a firmware, as it -- will be responsible for pushing the firmware contents to the -- kernel. mdev is a lightweight implementation (with fewer -- features) of udev. For more details about mdev and the syntax -- of its configuration file, see -- http://git.busybox.net/busybox/tree/docs/mdev.txt. --
  • --The fourth solution is Dynamic using devtmpfs + eudev. This -- method also relies on the devtmpfs virtual filesystem detailed -- above, but adds the eudev userspace daemon on top of it. eudev -- is a daemon that runs in the background, and gets called by the -- kernel when a device gets added or removed from the system. It is a -- more heavyweight solution than mdev, but provides higher -- flexibility. eudev is a standalone version of udev, the -- original userspace daemon used in most desktop Linux distributions, -- which is now part of Systemd. For more details, see -- http://en.wikipedia.org/wiki/Udev. --

The Buildroot developers recommendation is to start with the Dynamic --using devtmpfs only solution, until you have the need for userspace --to be notified when devices are added/removed, or if firmwares are --needed, in which case Dynamic using devtmpfs + mdev is usually a --good solution.

Note that if systemd is chosen as init system, /dev management will --be performed by the udev program provided by systemd.

6.3. init system

The init program is the first userspace program started by the --kernel (it carries the PID number 1), and is responsible for starting --the userspace services and programs (for example: web server, --graphical applications, other network servers, etc.).

Buildroot allows to use three different types of init systems, which --can be chosen from System configuration, Init system:

  • --The first solution is BusyBox. Amongst many programs, BusyBox has -- an implementation of a basic init program, which is sufficient -- for most embedded systems. Enabling the BR2_INIT_BUSYBOX will -- ensure BusyBox will build and install its init program. This is -- the default solution in Buildroot. The BusyBox init program will -- read the /etc/inittab file at boot to know what to do. The syntax -- of this file can be found in -- http://git.busybox.net/busybox/tree/examples/inittab (note that -- BusyBox inittab syntax is special: do not use a random inittab -- documentation from the Internet to learn about BusyBox -- inittab). The default inittab in Buildroot is stored in -- system/skeleton/etc/inittab. Apart from mounting a few important -- filesystems, the main job the default inittab does is to start the -- /etc/init.d/rcS shell script, and start a getty program (which -- provides a login prompt). --
  • --The second solution is systemV. This solution uses the old -- traditional sysvinit program, packed in Buildroot in -- package/sysvinit. This was the solution used in most desktop -- Linux distributions, until they switched to more recent -- alternatives such as Upstart or Systemd. sysvinit also works with -- an inittab file (which has a slightly different syntax than the -- one from BusyBox). The default inittab installed with this init -- solution is located in package/sysvinit/inittab. --
  • --The third solution is systemd. systemd is the new generation -- init system for Linux. It does far more than traditional init -- programs: aggressive parallelization capabilities, uses socket and -- D-Bus activation for starting services, offers on-demand starting -- of daemons, keeps track of processes using Linux control groups, -- supports snapshotting and restoring of the system state, -- etc. systemd will be useful on relatively complex embedded -- systems, for example the ones requiring D-Bus and services -- communicating between each other. It is worth noting that systemd -- brings a fairly big number of large dependencies: dbus, udev -- and more. For more details about systemd, see -- http://www.freedesktop.org/wiki/Software/systemd. --

The solution recommended by Buildroot developers is to use the --BusyBox init as it is sufficient for most embedded --systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU --configure, where the host is the machine on which the application will --run (which is usually the same as target)

Chapter 7. Configuration of other components

Before attempting to modify any of the components below, make sure you --have already configured Buildroot itself, and have enabled the --corresponding package.

--BusyBox --

If you already have a BusyBox configuration file, you can directly --specify this file in the Buildroot configuration, using --BR2_PACKAGE_BUSYBOX_CONFIG. Otherwise, Buildroot will start from a --default BusyBox configuration file.

To make subsequent changes to the configuration, use make --busybox-menuconfig to open the BusyBox configuration editor.

It is also possible to specify a BusyBox configuration file through an --environment variable, although this is not recommended. Refer to --Section 8.6, “Environment variables†for more details.

--uClibc --
Configuration of uClibc is done in the same way as for BusyBox. The --configuration variable to specify an existing configuration file is --BR2_UCLIBC_CONFIG. The command to make subsequent changes is make --uclibc-menuconfig.
--Linux kernel --

If you already have a kernel configuration file, you can directly --specify this file in the Buildroot configuration, using --BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG.

If you do not yet have a kernel configuration file, you can either start --by specifying a defconfig in the Buildroot configuration, using --BR2_LINUX_KERNEL_USE_DEFCONFIG, or start by creating an empty file and --specifying it as custom configuration file, using --BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG.

To make subsequent changes to the configuration, use make --linux-menuconfig to open the Linux configuration editor.

--Barebox --
Configuration of Barebox is done in the same way as for the Linux --kernel. The corresponding configuration variables are --BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG and --BR2_TARGET_BAREBOX_USE_DEFCONFIG. To open the configuration editor, --use make barebox-menuconfig.
--U-Boot --
Configuration of U-Boot (version 2015.04 or newer) is done in the same --way as for the Linux kernel. The corresponding configuration variables --are BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG and --BR2_TARGET_UBOOT_USE_DEFCONFIG. To open the configuration editor, --use make uboot-menuconfig.

Chapter 8. General Buildroot usage

8.1. make tips

This is a collection of tips that help you make the most of Buildroot.

Display all commands executed by make:  --

 $ make V=1 <target>

--

Display the list of boards with a defconfig:  --

 $ make list-defconfigs

--

Display all available targets:  --

 $ make help

--

Not all targets are always available, --some settings in the .config file may hide some targets:

  • --busybox-menuconfig only works when busybox is enabled; --
  • --linux-menuconfig and linux-savedefconfig only work when -- linux is enabled; --
  • --uclibc-menuconfig is only available when the uClibc C library is -- selected in the internal toolchain backend; --
  • --barebox-menuconfig and barebox-savedefconfig only work when the -- barebox bootloader is enabled. --
  • --uboot-menuconfig and uboot-savedefconfig only work when the -- U-Boot bootloader is enabled. --

Cleaning: Explicit cleaning is required when any of the architecture or toolchain --configuration options are changed.

To delete all build products (including build directories, host, staging --and target trees, the images and the toolchain):

 $ make clean

Generating the manual: The present manual sources are located in the docs/manual directory. --To generate the manual:

 $ make manual-clean
-- $ make manual

The manual outputs will be generated in output/docs/manual.

Notes

Resetting Buildroot for a new target: To delete all build products as well as the configuration:

 $ make distclean

Notes. If ccache is enabled, running make clean or distclean does --not empty the compiler cache used by Buildroot. To delete it, refer --to Section 8.14.3, “Using ccache in Buildrootâ€.

Dumping the internal make variables: One can dump the variables known to make, along with their values:

 $ make -s printvars VARS='VARIABLE1 VARIABLE2'
-- VARIABLE1=value_of_variable
-- VARIABLE2=value_of_variable

It is possible to tweak the output using some variables:

  • --VARS will limit the listing to variables which names match the -- specified make-patterns - this must be set else nothing is printed --
  • --QUOTED_VARS, if set to YES, will single-quote the value --
  • --RAW_VARS, if set to YES, will print the unexpanded value --

For example:

 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES
-- BUSYBOX_DEPENDENCIES=skeleton toolchain
-- BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain
-- BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain
-- BUSYBOX_FINAL_PATCH_DEPENDENCIES=
-- BUSYBOX_RDEPENDENCIES=ncurses util-linux
 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES
-- BUSYBOX_DEPENDENCIES='skeleton toolchain'
-- BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain'
-- BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain'
-- BUSYBOX_FINAL_PATCH_DEPENDENCIES=''
-- BUSYBOX_RDEPENDENCIES='ncurses util-linux'
 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES
-- BUSYBOX_DEPENDENCIES=skeleton toolchain
-- BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES))
-- BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES))
-- BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES))
-- BUSYBOX_RDEPENDENCIES=ncurses util-linux

The output of quoted variables can be reused in shell scripts, for example:

 $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES)
-- $ echo $BUSYBOX_DEPENDENCIES
-- skeleton toolchain

8.2. Understanding when a full rebuild is necessary

Buildroot does not attempt to detect what parts of the system should --be rebuilt when the system configuration is changed through make --menuconfig, make xconfig or one of the other configuration --tools. In some cases, Buildroot should rebuild the entire system, in --some cases, only a specific subset of packages. But detecting this in --a completely reliable manner is very difficult, and therefore the --Buildroot developers have decided to simply not attempt to do this.

Instead, it is the responsibility of the user to know when a full --rebuild is necessary. As a hint, here are a few rules of thumb that --can help you understand how to work with Buildroot:

  • --When the target architecture configuration is changed, a complete -- rebuild is needed. Changing the architecture variant, the binary -- format or the floating point strategy for example has an impact on -- the entire system. --
  • --When the toolchain configuration is changed, a complete rebuild -- generally is needed. Changing the toolchain configuration often -- involves changing the compiler version, the type of C library or -- its configuration, or some other fundamental configuration item, -- and these changes have an impact on the entire system. --
  • --When an additional package is added to the configuration, a full -- rebuild is not necessarily needed. Buildroot will detect that this -- package has never been built, and will build it. However, if this -- package is a library that can optionally be used by packages that -- have already been built, Buildroot will not automatically rebuild -- those. Either you know which packages should be rebuilt, and you -- can rebuild them manually, or you should do a full rebuild. For -- example, let’s suppose you have built a system with the ctorrent -- package, but without openssl. Your system works, but you realize -- you would like to have SSL support in ctorrent, so you enable the -- openssl package in Buildroot configuration and restart the -- build. Buildroot will detect that openssl should be built and -- will be build it, but it will not detect that ctorrent should be -- rebuilt to benefit from openssl to add OpenSSL support. You will -- either have to do a full rebuild, or rebuild ctorrent itself. --
  • --When a package is removed from the configuration, Buildroot does -- not do anything special. It does not remove the files installed by -- this package from the target root filesystem or from the toolchain -- sysroot. A full rebuild is needed to get rid of this -- package. However, generally you don’t necessarily need this package -- to be removed right now: you can wait for the next lunch break to -- restart the build from scratch. --
  • --When the sub-options of a package are changed, the package is not -- automatically rebuilt. After making such changes, rebuilding only -- this package is often sufficient, unless enabling the package -- sub-option adds some features to the package that are useful for -- another package which has already been built. Again, Buildroot does -- not track when a package should be rebuilt: once a package has been -- built, it is never rebuilt unless explicitly told to do so. --
  • --When a change to the root filesystem skeleton is made, a full -- rebuild is needed. However, when changes to the root filesystem -- overlay, a post-build script or a post-image script are made, -- there is no need for a full rebuild: a simple make invocation -- will take the changes into account. --
  • --When a package listed in FOO_DEPENDENCIES is rebuilt or removed, -- the package foo is not automatically rebuilt. For example, if a -- package bar is listed in FOO_DEPENDENCIES with FOO_DEPENDENCIES -- = bar and the configuration of the bar package is changed, the -- configuration change would not result in a rebuild of package foo -- automatically. In this scenario, you may need to either rebuild any -- packages in your build which reference bar in their DEPENDENCIES, -- or perform a full rebuild to ensure any bar dependent packages are -- up to date. --

Generally speaking, when you’re facing a build error and you’re unsure --of the potential consequences of the configuration changes you’ve --made, do a full rebuild. If you get the same build error, then you are --sure that the error is not related to partial rebuilds of packages, --and if this error occurs with packages from the official Buildroot, do --not hesitate to report the problem! As your experience with Buildroot --progresses, you will progressively learn when a full rebuild is really --necessary, and you will save more and more time.

For reference, a full rebuild is achieved by running:

$ make clean all

8.3. Understanding how to rebuild packages

One of the most common questions asked by Buildroot users is how to --rebuild a given package or how to remove a package without rebuilding --everything from scratch.

Removing a package is unsupported by Buildroot without --rebuilding from scratch. This is because Buildroot doesn’t keep track --of which package installs what files in the output/staging and --output/target directories, or which package would be compiled differently --depending on the availability of another package.

The easiest way to rebuild a single package from scratch is to remove --its build directory in output/build. Buildroot will then re-extract, --re-configure, re-compile and re-install this package from scratch. You --can ask buildroot to do this with the make <package>-dirclean command.

On the other hand, if you only want to restart the build process of a --package from its compilation step, you can run make <package>-rebuild. It --will restart the compilation and installation of the package, but not from --scratch: it basically re-executes make and make install inside the package, --so it will only rebuild files that changed.

If you want to restart the build process of a package from its configuration --step, you can run make <package>-reconfigure. It will restart the --configuration, compilation and installation of the package.

While <package>-rebuild implies <package>-reinstall and --<package>-reconfigure implies <package>-rebuild, these targets as well --as <package> only act on the said package, and do not trigger re-creating --the root filesystem image. If re-creating the root filesystem in necessary, --one should in addition run make or make all.

Internally, Buildroot creates so-called stamp files to keep track of --which build steps have been completed for each package. They are --stored in the package build directory, --output/build/<package>-<version>/ and are named --.stamp_<step-name>. The commands detailed above simply manipulate --these stamp files to force Buildroot to restart a specific set of --steps of a package build process.

Further details about package special make targets are explained in --Section 8.14.5, “Package-specific make targetsâ€.

8.4. 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.

8.5. 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=<directory> 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 <target>

8.6. 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/.config>, 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/.config>, 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 -- Section 8.14.4, “Location of downloaded packages†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 -- Section 8.9, “Graphing the dependencies between packages†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 -- Section 8.11, “Graphing the filesystem size contribution of packages†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

8.7. 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.

8.8. Details about packages

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

8.9. Graphing the dependencies between packages

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 <pkg>-graph-depends

You will find the generated graph in --output/graph/<pkg>-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

8.10. Graphing the build 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

8.11. 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 Section 8.9, “Graphing the dependencies between packages†--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

8.12. 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:

  1. --Enable the option BR2_PER_PACKAGE_DIRECTORIES in the Buildroot --configuration --
  2. --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/<pkg>/target/ and -- $(O)/per-package/<pkg>/host/ respectively. Those folders will be -- populated from the corresponding folders of the package dependencies -- at the beginning of <pkg> build. The compiler and all other tools -- will therefore only be able to see and access files installed by -- dependencies explicitly listed by <pkg>. --
  • --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. --

8.13. Integration with Eclipse

While a part of the embedded Linux developers like classical text --editors like Vim or Emacs, and command-line based interfaces, a number --of other embedded Linux developers like richer graphical interfaces to --do their development work. Eclipse being one of the most popular --Integrated Development Environment, Buildroot integrates with Eclipse --in order to ease the development work of Eclipse users.

Our integration with Eclipse simplifies the compilation, remote --execution and remote debugging of applications and libraries that are --built on top of a Buildroot system. It does not integrate the --Buildroot configuration and build processes themselves with --Eclipse. Therefore, the typical usage model of our Eclipse integration --would be:

  • --Configure your Buildroot system with make menuconfig, make -- xconfig or any other configuration interface provided with -- Buildroot. --
  • --Build your Buildroot system by running make. --
  • --Start Eclipse to develop, execute and debug your own custom -- applications and libraries, that will rely on the libraries built -- and installed by Buildroot. --

The Buildroot Eclipse integration installation process and usage is --described in detail at --https://github.com/mbats/eclipse-buildroot-bundle/wiki.

8.14. Advanced usage

8.14.1. Using the generated toolchain outside Buildroot

You may want to compile, for your target, your own programs or other --software that are not packaged in Buildroot. In order to do this you --can use the toolchain that was generated by Buildroot.

The toolchain generated by Buildroot is located by default in --output/host/. The simplest way to use it is to add --output/host/bin/ to your PATH environment variable and then to --use ARCH-linux-gcc, ARCH-linux-objdump, ARCH-linux-ld, etc.

Alternatively, Buildroot can also export the toolchain and the development --files of all selected packages, as an SDK, by running the command --make sdk. This generates a tarball of the content of the host directory --output/host/, named <TARGET-TUPLE>_sdk-buildroot.tar.gz (which can be --overriden by setting the environment variable BR2_SDK_PREFIX) and --located in the output directory output/images/.

This tarball can then be distributed to application developers, when --they want to develop their applications that are not (yet) packaged as --a Buildroot package.

Upon extracting the SDK tarball, the user must run the script --relocate-sdk.sh (located at the top directory of the SDK), to make --sure all paths are updated with the new location.

Alternatively, if you just want to prepare the SDK without generating --the tarball (e.g. because you will just be moving the host directory, --or will be generating the tarball on your own), Buildroot also allows --you to just prepare the SDK with make prepare-sdk without actually --generating a tarball.

For your convenience, by selecting the option --BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a --environment-setup script installed in output/host/ and therefore --in your SDK. This script can be sourced with --. your/sdk/path/environment-setup to export a number of environment --variables that will help cross-compile your projects using the --Buildroot SDK: the PATH will contain the SDK binaries, standard --autotools variables will be defined with the appropriate values, and --CONFIGURE_FLAGS will contain basic ./configure options to --cross-compile autotools projects. It also provides some useful --commands. Note however that once this script is sourced, the --environment is setup only for cross-compilation, and no longer for --native compilation.

8.14.2. Using gdb in Buildroot

Buildroot allows to do cross-debugging, where the debugger runs on the --build machine and communicates with gdbserver on the target to --control the execution of the program.

To achieve this:

  • --If you are using an internal toolchain (built by Buildroot), you -- must enable BR2_PACKAGE_HOST_GDB, BR2_PACKAGE_GDB and -- BR2_PACKAGE_GDB_SERVER. This ensures that both the cross gdb and -- gdbserver get built, and that gdbserver gets installed to your target. --
  • --If you are using an external toolchain, you should enable -- BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY, which will copy the -- gdbserver included with the external toolchain to the target. If your -- external toolchain does not have a cross gdb or gdbserver, it is also -- possible to let Buildroot build them, by enabling the same options as -- for the internal toolchain backend. --

Now, to start debugging a program called foo, you should run on the --target:

gdbserver :2345 foo

This will cause gdbserver to listen on TCP port 2345 for a connection --from the cross gdb.

Then, on the host, you should start the cross gdb using the following --command line:

<buildroot>/output/host/bin/<tuple>-gdb -ix <buildroot>/output/staging/usr/share/buildroot/gdbinit foo

Of course, foo must be available in the current directory, built --with debugging symbols. Typically you start this command from the --directory where foo is built (and not from output/target/ as the --binaries in that directory are stripped).

The <buildroot>/output/staging/usr/share/buildroot/gdbinit file will tell the --cross gdb where to find the libraries of the target.

Finally, to connect to the target from the cross gdb:

(gdb) target remote <target ip address>:2345

8.14.3. Using ccache in Buildroot

ccache is a compiler cache. It stores the --object files resulting from each compilation process, and is able to --skip future compilation of the same source file (with same compiler --and same arguments) by using the pre-existing object files. When doing --almost identical builds from scratch a number of times, it can nicely --speed up the build process.

ccache support is integrated in Buildroot. You just have to enable --Enable compiler cache in Build options. This will automatically --build ccache and use it for every host and target compilation.

The cache is located in $HOME/.buildroot-ccache. It is stored --outside of Buildroot output directory so that it can be shared by --separate Buildroot builds. If you want to get rid of the cache, simply --remove this directory.

You can get statistics on the cache (its size, number of hits, --misses, etc.) by running make ccache-stats.

The make target ccache-options and the CCACHE_OPTIONS variable --provide more generic access to the ccache. For example

# set cache limit size
--make CCACHE_OPTIONS="--max-size=5G" ccache-options
--
--# zero statistics counters
--make CCACHE_OPTIONS="--zero-stats" ccache-options

ccache makes a hash of the source files and of the compiler options. --If a compiler option is different, the cached object file will not be --used. Many compiler options, however, contain an absolute path to the --staging directory. Because of this, building in a different output --directory would lead to many cache misses.

To avoid this issue, buildroot has the Use relative paths option --(BR2_CCACHE_USE_BASEDIR). This will rewrite all absolute paths that --point inside the output directory into relative paths. Thus, changing --the output directory no longer leads to cache misses.

A disadvantage of the relative paths is that they also end up to be --relative paths in the object file. Therefore, for example, the debugger --will no longer find the file, unless you cd to the output directory --first.

See the --ccache manual’s section on "Compiling in different directories" for --more details about this rewriting of absolute paths.

8.14.4. Location of downloaded packages

The various tarballs that are downloaded by Buildroot are all stored --in BR2_DL_DIR, which by default is the dl directory. If you want --to keep a complete version of Buildroot which is known to be working --with the associated tarballs, you can make a copy of this directory. --This will allow you to regenerate the toolchain and the target --filesystem with exactly the same versions.

If you maintain several Buildroot trees, it might be better to have a --shared download location. This can be achieved by pointing the --BR2_DL_DIR environment variable to a directory. If this is --set, then the value of BR2_DL_DIR in the Buildroot configuration is --overridden. The following line should be added to <~/.bashrc>.

 export BR2_DL_DIR=<shared download location>

The download location can also be set in the .config file, with the --BR2_DL_DIR option. Unlike most options in the .config file, this value --is overridden by the BR2_DL_DIR environment variable.

8.14.5. Package-specific make targets

Running make <package> builds and installs that particular package --and its dependencies.

For packages relying on the Buildroot infrastructure, there are --numerous special make targets that can be called independently like --this:

make <package>-<target>

The package build targets are (in the order they are executed):

command/target Description

source

Fetch the source (download the tarball, clone --the source repository, etc)

depends

Build and install all dependencies required to --build the package

extract

Put the source in the package build directory --(extract the tarball, copy the source, etc)

patch

Apply the patches, if any

configure

Run the configure commands, if any

build

Run the compilation commands

install-staging

target package: Run the installation of the package in the --staging directory, if necessary

install-target

target package: Run the installation of the package in the --target directory, if necessary

install

target package: Run the 2 previous installation commands

--

host package: Run the installation of the package in the host --directory

Additionally, there are some other useful make targets:

command/target Description

show-depends

Displays the first-order dependencies required to build the --package

show-recursive-depends

Recursively displays the dependencies -- required to build the package

show-rdepends

Displays the first-order reverse dependencies of -- the package (i.e packages that directly depend on it)

show-recursive-rdepends

Recursively displays the reverse -- dependencies of the package (i.e the packages that depend on it, -- directly or indirectly)

graph-depends

Generate a dependency graph of the package, in the --context of the current Buildroot configuration. See --this section for more details about dependency --graphs.

graph-rdepends

Generate a graph of this package reverse -- dependencies (i.e the packages that depend on it, directly or -- indirectly)

dirclean

Remove the whole package build directory

reinstall

Re-run the install commands

rebuild

Re-run the compilation commands - this only makes --sense when using the OVERRIDE_SRCDIR feature or when you modified a file --directly in the build directory

reconfigure

Re-run the configure commands, then rebuild - this only --makes sense when using the OVERRIDE_SRCDIR feature or when you modified a --file directly in the build directory

8.14.6. Using Buildroot during development

The normal operation of Buildroot is to download a tarball, extract --it, configure, compile and install the software component found inside --this tarball. The source code is extracted in --output/build/<package>-<version>, which is a temporary directory: --whenever make clean is used, this directory is entirely removed, and --re-created at the next make invocation. Even when a Git or --Subversion repository is used as the input for the package source --code, Buildroot creates a tarball out of it, and then behaves as it --normally does with tarballs.

This behavior is well-suited when Buildroot is used mainly as an --integration tool, to build and integrate all the components of an --embedded Linux system. However, if one uses Buildroot during the --development of certain components of the system, this behavior is not --very convenient: one would instead like to make a small change to the --source code of one package, and be able to quickly rebuild the system --with Buildroot.

Making changes directly in output/build/<package>-<version> is not --an appropriate solution, because this directory is removed on make --clean.

Therefore, Buildroot provides a specific mechanism for this use case: --the <pkg>_OVERRIDE_SRCDIR mechanism. Buildroot reads an override --file, which allows the user to tell Buildroot the location of the --source for certain packages.

The default location of the override file is $(CONFIG_DIR)/local.mk, --as defined by the BR2_PACKAGE_OVERRIDE_FILE configuration option. --$(CONFIG_DIR) is the location of the Buildroot .config file, so --local.mk by default lives side-by-side with the .config file, --which means:

  • --In the top-level Buildroot source directory for in-tree builds -- (i.e., when O= is not used) --
  • --In the out-of-tree directory for out-of-tree builds (i.e., when -- O= is used) --

If a different location than these defaults is required, it can be --specified through the BR2_PACKAGE_OVERRIDE_FILE configuration --option.

In this override file, Buildroot expects to find lines of the form:

<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
--<pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources

For example:

LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
--BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/

When Buildroot finds that for a given package, an --<pkg>_OVERRIDE_SRCDIR has been defined, it will no longer attempt to --download, extract and patch the package. Instead, it will directly use --the source code available in the specified directory and make clean --will not touch this directory. This allows to point Buildroot to your --own directories, that can be managed by Git, Subversion, or any other --version control system. To achieve this, Buildroot will use rsync to --copy the source code of the component from the specified --<pkg>_OVERRIDE_SRCDIR to output/build/<package>-custom/.

This mechanism is best used in conjunction with the make --<pkg>-rebuild and make <pkg>-reconfigure targets. A make --<pkg>-rebuild all sequence will rsync the source code from --<pkg>_OVERRIDE_SRCDIR to output/build/<package>-custom (thanks to --rsync, only the modified files are copied), and restart the build --process of just this package.

In the example of the linux package above, the developer can then --make a source code change in /home/bob/linux and then run:

make linux-rebuild all

and in a matter of seconds gets the updated Linux kernel image in --output/images. Similarly, a change can be made to the BusyBox source --code in /home/bob/busybox, and after:

make busybox-rebuild all

the root filesystem image in output/images contains the updated --BusyBox.

Source trees for big projects often contain hundreds or thousands of --files which are not needed for building, but will slow down the process --of copying the sources with rsync. Optionally, it is possible define --<pkg>_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS to skip syncing certain files --from the source tree. For example, when working on the webkitgtk --package, the following will exclude the tests and in-tree builds from --a local WebKit source tree:

WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit
--WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \
--        --exclude JSTests --exclude ManualTests --exclude PerformanceTests \
--        --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \
--        --exclude WebKit.xcworkspace --exclude Websites --exclude Examples

By default, Buildroot skips syncing of VCS artifacts (e.g., the .git and --.svn directories). Some packages prefer to have these VCS directories --available during build, for example for automatically determining a precise --commit reference for version information. To undo this built-in filtering at a --cost of a slower speed, add these directories back:

LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git

Chapter 9. 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!

9.1. Recommended directory structure

When customizing Buildroot for your project, you will be creating one or --more project-specific files that need to be stored somewhere. While most --of these files could be placed in any location as their path is to be --specified in the Buildroot configuration, the Buildroot developers --recommend a specific directory structure which is described in this --section.

Orthogonal to this directory structure, you can choose where you place --this structure itself: either inside the Buildroot tree, or outside of --it using a br2-external tree. Both options are valid, the choice is up --to you.

+-- board/
--|   +-- <company>/
--|       +-- <boardname>/
--|           +-- linux.config
--|           +-- busybox.config
--|           +-- <other configuration files>
--|           +-- post_build.sh
--|           +-- post_image.sh
--|           +-- rootfs_overlay/
--|           |   +-- etc/
--|           |   +-- <some file>
--|           +-- patches/
--|               +-- foo/
--|               |   +-- <some patch>
--|               +-- libbar/
--|                   +-- <some other patches>
--|
--+-- configs/
--|   +-- <boardname>_defconfig
--|
--+-- package/
--|   +-- <company>/
--|       +-- Config.in (if not using a br2-external tree)
--|       +-- <company>.mk (if not using a br2-external tree)
--|       +-- package1/
--|       |    +-- Config.in
--|       |    +-- package1.mk
--|       +-- package2/
--|           +-- Config.in
--|           +-- package2.mk
--|
--+-- Config.in (if using a br2-external tree)
--+-- external.mk (if using a br2-external tree)
--+-- external.desc (if using a br2-external tree)

Details on the files shown above are given further in this chapter.

Note: if you choose to place this structure outside of the Buildroot --tree but in a br2-external tree, the <company> and possibly <boardname> --components may be superfluous and can be left out.

9.1.1. Implementing layered customizations

It is quite common for a user to have several related projects that partly --need the same customizations. Instead of duplicating these --customizations for each project, it is recommended to use a layered --customization approach, as explained in this section.

Almost all of the customization methods available in Buildroot, like --post-build scripts and root filesystem overlays, accept a --space-separated list of items. The specified items are always treated in --order, from left to right. By creating more than one such item, one for --the common customizations and another one for the really --project-specific customizations, you can avoid unnecessary duplication. --Each layer is typically embodied by a separate directory inside --board/<company>/. Depending on your projects, you could even introduce --more than two layers.

An example directory structure for where a user has two customization --layers common and fooboard is:

+-- board/
--    +-- <company>/
--        +-- common/
--        |   +-- post_build.sh
--        |   +-- rootfs_overlay/
--        |   |   +-- ...
--        |   +-- patches/
--        |       +-- ...
--        |
--        +-- fooboard/
--            +-- linux.config
--            +-- busybox.config
--            +-- <other configuration files>
--            +-- post_build.sh
--            +-- rootfs_overlay/
--            |   +-- ...
--            +-- patches/
--                +-- ...

For example, if the user has the BR2_GLOBAL_PATCH_DIR configuration --option set as:

BR2_GLOBAL_PATCH_DIR="board/<company>/common/patches board/<company>/fooboard/patches"

then first the patches from the common layer would be applied, --followed by the patches from the fooboard layer.

9.2. Keeping customizations outside of Buildroot

As already briefly mentioned in Section 9.1, “Recommended directory structureâ€, you can --place project-specific customizations in two locations:

  • --directly within the Buildroot tree, typically maintaining them using -- branches in a version control system so that upgrading to a newer -- Buildroot release is easy. --
  • --outside of the Buildroot tree, using the br2-external mechanism. -- This mechanism allows to keep package recipes, board support and -- configuration files outside of the Buildroot tree, while still -- having them nicely integrated in the build logic. We call this -- location a br2-external tree. This section explains how to use -- the br2-external mechanism and what to provide in a br2-external -- tree. --

One can tell Buildroot to use one or more br2-external trees by setting --the BR2_EXTERNAL make variable set to the path(s) of the br2-external --tree(s) to use. It can be passed to any Buildroot make invocation. It --is automatically saved in the hidden .br2-external.mk file in the output --directory. Thanks to this, there is no need to pass BR2_EXTERNAL at --every make invocation. It can however be changed at any time by --passing a new value, and can be removed by passing an empty value.

Note. The path to a br2-external tree can be either absolute or relative. --If it is passed as a relative path, it is important to note that it is --interpreted relative to the main Buildroot source directory, not to --the Buildroot output directory.

Note: If using an br2-external tree from before Buildroot 2016.11, you need to --convert it before you can use it with Buildroot 2016.11 onward. See --Section 27.2, “Migrating to 2016.11†for help on doing so.

Some examples:

buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig

From now on, definitions from the /path/to/foo br2-external tree --will be used:

buildroot/ $ make
--buildroot/ $ make legal-info

We can switch to another br2-external tree at any time:

buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig

We can also use multiple br2-external trees:

buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig

Or disable the usage of any br2-external tree:

buildroot/ $ make BR2_EXTERNAL= xconfig

9.2.1. Layout of a br2-external tree

A br2-external tree must contain at least those three files, described --in the following chapters:

  • --external.desc --
  • --external.mk --
  • --Config.in --

Apart from those mandatory files, there may be additional and optional --content that may be present in a br2-external tree, like the configs/ --or provides/ directories. They are described in the following chapters --as well.

A complete example br2-external tree layout is also described later.

The external.desc file

That file describes the br2-external tree: the name and description --for that br2-external tree.

The format for this file is line based, with each line starting by a --keyword, followed by a colon and one or more spaces, followed by the --value assigned to that keyword. There are two keywords currently --recognised:

  • --name, mandatory, defines the name for that br2-external tree. That -- name must only use ASCII characters in the set [A-Za-z0-9_]; any -- other character is forbidden. Buildroot sets the variable -- BR2_EXTERNAL_$(NAME)_PATH to the absolute path of the br2-external -- tree, so that you can use it to refer to your br2-external tree. This -- variable is available both in Kconfig, so you can use it to source your -- Kconfig files (see below) and in the Makefile, so that you can use it -- to include other Makefiles (see below) or refer to other files (like -- data files) from your br2-external tree. --

    Note: Since it is possible to use multiple br2-external trees at once, this -- name is used by Buildroot to generate variables for each of those trees. -- That name is used to identify your br2-external tree, so try to come up -- with a name that really describes your br2-external tree, in order for -- it to be relatively unique, so that it does not clash with another name -- from another br2-external tree, especially if you are planning on -- somehow sharing your br2-external tree with third parties or using -- br2-external trees from third parties.

  • --desc, optional, provides a short description for that br2-external -- tree. It shall fit on a single line, is mostly free-form (see below), -- and is used when displaying information about a br2-external tree (e.g. -- above the list of defconfig files, or as the prompt in the menuconfig); -- as such, it should relatively brief (40 chars is probably a good upper -- limit). The description is available in the BR2_EXTERNAL_$(NAME)_DESC -- variable. --

Examples of names and the corresponding BR2_EXTERNAL_$(NAME)_PATH --variables:

  • --FOO → BR2_EXTERNAL_FOO_PATH --
  • --BAR_42 → BR2_EXTERNAL_BAR_42_PATH --

In the following examples, it is assumed the name to be set to BAR_42.

Note: Both BR2_EXTERNAL_$(NAME)_PATH and BR2_EXTERNAL_$(NAME)_DESC are -- available in the Kconfig files and the Makefiles. They are also -- exported in the environment so are available in post-build, post-image -- and in-fakeroot scripts.

The Config.in and external.mk files

Those files (which may each be empty) can be used to define package --recipes (i.e. foo/Config.in and foo/foo.mk like for packages bundled --in Buildroot itself) or other custom configuration options or make logic.

Buildroot automatically includes the Config.in from each br2-external --tree to make it appear in the top-level configuration menu, and includes --the external.mk from each br2-external tree with the rest of the --makefile logic.

The main usage of this is to store package recipes. The recommended way --to do this is to write a Config.in file that looks like:

source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in"
--source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in"

Then, have an external.mk file that looks like:

include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))

And then in $(BR2_EXTERNAL_BAR_42_PATH)/package/package1 and --$(BR2_EXTERNAL_BAR_42_PATH)/package/package2 create normal --Buildroot package recipes, as explained in Chapter 18, Adding new packages to Buildroot. --If you prefer, you can also group the packages in subdirectories --called <boardname> and adapt the above paths accordingly.

You can also define custom configuration options in Config.in and --custom make logic in external.mk.

The configs/ directory

One can store Buildroot defconfigs in the configs subdirectory of --the br2-external tree. Buildroot will automatically show them in the --output of make list-defconfigs and allow them to be loaded with the --normal make <name>_defconfig command. They will be visible in the --make list-defconfigs output, below an External configs label that --contains the name of the br2-external tree they are defined in.

Note: If a defconfig file is present in more than one br2-external tree, then --the one from the last br2-external tree is used. It is thus possible --to override a defconfig bundled in Buildroot or another br2-external --tree.

The provides/ directory

For some packages, Buildroot provides a choice between two (or more) --implementations of API-compatible such packages. For example, there is --a choice to choose either libjpeg ot jpeg-turbo; there is one between --openssl or libressl; there is one to select one of the known, --pre-configured toolchains…

It is possible for a br2-external to extend those choices, by providing --a set of files that define those alternatives:

  • --provides/toolchains.in defines the pre-configured toolchains, which -- will then be listed in the toolchain selection; --
  • --provides/jpeg.in defines the alternative libjpeg implementations; --
  • --provides/openssl.in defines the alternative openssl implementations; --
  • --provides/skeleton.in defines the alternative skeleton implementations; --
  • --provides/init.in defines the alternative init system implementations, this -- can be used to select a default skeleton for your init. --

Free-form content

One can store all the board-specific configuration files there, such --as the kernel configuration, the root filesystem overlay, or any other --configuration file for which Buildroot allows to set the location (by --using the BR2_EXTERNAL_$(NAME)_PATH variable). For example, you --could set the paths to a global patch directory, to a rootfs overlay --and to the kernel configuration file as follows (e.g. by running --make menuconfig and filling in these options):

BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/
--BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board/<boardname>/overlay/
--BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board/<boardname>/kernel.config

Additional Linux kernel extensions

Additional Linux kernel extensions (see Section 18.21.2, “linux-kernel-extensionsâ€) can --be added by storing them in the linux/ directory at the root of a --br2-external tree.

Example layout

Here is an example layout using all features of br2-external (the sample --content is shown for the file above it, when it is relevant to explain --the br2-external tree; this is all entirely made up just for the sake of --illustration, of course):

/path/to/br2-ext-tree/
--  |- external.desc
--  |     |name: BAR_42
--  |     |desc: Example br2-external tree
--  |     `----
--  |
--  |- Config.in
--  |     |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options"
--  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in"
--  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in"
--  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in"
--  |     |
--  |     |config BAR_42_FLASH_ADDR
--  |     |    hex "my-board flash address"
--  |     |    default 0x10AD
--  |     `----
--  |
--  |- external.mk
--  |     |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))
--  |     |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/toolchain/*/*.mk))
--  |     |
--  |     |flash-my-board:
--  |     |    $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \
--  |     |        --image $(BINARIES_DIR)/image.bin \
--  |     |        --address $(BAR_42_FLASH_ADDR)
--  |     `----
--  |
--  |- package/pkg-1/Config.in
--  |     |config BR2_PACKAGE_PKG_1
--  |     |    bool "pkg-1"
--  |     |    help
--  |     |      Some help about pkg-1
--  |     `----
--  |- package/pkg-1/pkg-1.hash
--  |- package/pkg-1/pkg-1.mk
--  |     |PKG_1_VERSION = 1.2.3
--  |     |PKG_1_SITE = /some/where/to/get/pkg-1
--  |     |PKG_1_LICENSE = blabla
--  |     |
--  |     |define PKG_1_INSTALL_INIT_SYSV
--  |     |    $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \
--  |     |                          $(TARGET_DIR)/etc/init.d/S99my-daemon
--  |     |endef
--  |     |
--  |     |$(eval $(autotools-package))
--  |     `----
--  |- package/pkg-1/S99my-daemon
--  |
--  |- package/pkg-2/Config.in
--  |- package/pkg-2/pkg-2.hash
--  |- package/pkg-2/pkg-2.mk
--  |
--  |- provides/jpeg.in
--  |     |config BR2_PACKAGE_MY_JPEG
--  |     |    bool "my-jpeg"
--  |     `----
--  |- package/my-jpeg/Config.in
--  |     |config BR2_PACKAGE_PROVIDES_JPEG
--  |     |    default "my-jpeg" if BR2_PACKAGE_MY_JPEG
--  |     `----
--  |- package/my-jpeg/my-jpeg.mk
--  |     |# This is a normal package .mk file
--  |     |MY_JPEG_VERSION = 1.2.3
--  |     |MY_JPEG_SITE = https://example.net/some/place
--  |     |MY_JPEG_PROVIDES = jpeg
--  |     |$(eval $(autotools-package))
--  |     `----
--  |
--  |- provides/init.in
--  |     |config BR2_INIT_MINE
--  |     |    bool "my custom init"
--  |     |    select BR2_PACKAGE_MY_INIT
--  |     |    select BR2_PACKAGE_SKELETON_INIT_MINE if BR2_ROOTFS_SKELETON_DEFAULT
--  |     `----
--  |
--  |- provides/skeleton.in
--  |     |config BR2_ROOTFS_SKELETON_MINE
--  |     |    bool "my custom skeleton"
--  |     |    select BR2_PACKAGE_SKELETON_MINE
--  |     `----
--  |- package/skeleton-mine/Config.in
--  |     |config BR2_PACKAGE_SKELETON_MINE
--  |     |    bool
--  |     |    select BR2_PACKAGE_HAS_SKELETON
--  |     |
--  |     |config BR2_PACKAGE_PROVIDES_SKELETON
--  |     |    default "skeleton-mine" if BR2_PACKAGE_SKELETON_MINE
--  |     `----
--  |- package/skeleton-mine/skeleton-mine.mk
--  |     |SKELETON_MINE_ADD_TOOLCHAIN_DEPENDENCY = NO
--  |     |SKELETON_MINE_ADD_SKELETON_DEPENDENCY = NO
--  |     |SKELETON_MINE_PROVIDES = skeleton
--  |     |SKELETON_MINE_INSTALL_STAGING = YES
--  |     |$(eval $(generic-package))
--  |     `----
--  |
--  |- provides/toolchains.in
--  |     |config BR2_TOOLCHAIN_EXTERNAL_MINE
--  |     |    bool "my custom toolchain"
--  |     |    depends on BR2_some_arch
--  |     |    select BR2_INSTALL_LIBSTDCPP
--  |     `----
--  |- toolchain/toolchain-external-mine/Config.in.options
--  |     |if BR2_TOOLCHAIN_EXTERNAL_MINE
--  |     |config BR2_TOOLCHAIN_EXTERNAL_PREFIX
--  |     |    default "arch-mine-linux-gnu"
--  |     |config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
--  |     |    default "toolchain-external-mine"
--  |     |endif
--  |     `----
--  |- toolchain/toolchain-external-mine/toolchain-external-mine.mk
--  |     |TOOLCHAIN_EXTERNAL_MINE_SITE = https://example.net/some/place
--  |     |TOOLCHAIN_EXTERNAL_MINE_SOURCE = my-toolchain.tar.gz
--  |     |$(eval $(toolchain-external-package))
--  |     `----
--  |
--  |- linux/Config.ext.in
--  |     |config BR2_LINUX_KERNEL_EXT_EXAMPLE_DRIVER
--  |     |    bool "example-external-driver"
--  |     |    help
--  |     |      Example external driver
--  |     |---
--  |- linux/linux-ext-example-driver.mk
--  |
--  |- configs/my-board_defconfig
--  |     |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/"
--  |     |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/"
--  |     |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh"
--  |     |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config"
--  |     `----
--  |
--  |- patches/linux/0001-some-change.patch
--  |- patches/linux/0002-some-other-change.patch
--  |- patches/busybox/0001-fix-something.patch
--  |
--  |- board/my-board/kernel.config
--  |- board/my-board/overlay/var/www/index.html
--  |- board/my-board/overlay/var/www/my.css
--  |- board/my-board/flash-image
--  `- board/my-board/post-image.sh
--        |#!/bin/sh
--        |generate-my-binary-image \
--        |    --root ${BINARIES_DIR}/rootfs.tar \
--        |    --kernel ${BINARIES_DIR}/zImage \
--        |    --dtb ${BINARIES_DIR}/my-board.dtb \
--        |    --output ${BINARIES_DIR}/image.bin
--        `----

The br2-external tree will then be visible in the menuconfig (with --the layout expanded):

External options  --->
--    *** Example br2-external tree (in /path/to/br2-ext-tree/)
--    [ ] pkg-1
--    [ ] pkg-2
--    (0x10AD) my-board flash address

If you are using more than one br2-external tree, it would look like --(with the layout expanded and the second one with name FOO_27 but no --desc: field in external.desc):

External options  --->
--    Example br2-external tree  --->
--        *** Example br2-external tree (in /path/to/br2-ext-tree)
--        [ ] pkg-1
--        [ ] pkg-2
--        (0x10AD) my-board flash address
--    FOO_27  --->
--        *** FOO_27 (in /path/to/another-br2-ext)
--        [ ] foo
--        [ ] bar

Additionally, the jpeg provider will be visible in the jpeg choice:

Target packages  --->
--    Libraries  --->
--        Graphics  --->
--            [*] jpeg support
--                jpeg variant ()  --->
--                    ( ) jpeg
--                    ( ) jpeg-turbo
--                        *** jpeg from: Example br2-external tree ***
--                    (X) my-jpeg
--                        *** jpeg from: FOO_27 ***
--                    ( ) another-jpeg

And similarly for the toolchains:

Toolchain  --->
--    Toolchain ()  --->
--        ( ) Custom toolchain
--            *** Toolchains from: Example br2-external tree ***
--        (X) my custom toolchain

Note. The toolchain options in toolchain/toolchain-external-mine/Config.in.options --will not appear in the Toolchain menu. They must be explicitly included --from within the br2-external’s top-level Config.in and will thus appear --in the External options menu.

9.3. Storing the Buildroot configuration

The Buildroot configuration can be stored using the command -- make savedefconfig.

This strips the Buildroot configuration down by removing configuration --options that are at their default value. The result is stored in a file --called defconfig. If you want to save it in another place, change the --BR2_DEFCONFIG option in the Buildroot configuration itself, or call --make with make savedefconfig BR2_DEFCONFIG=<path-to-defconfig>.

The recommended place to store this defconfig is --configs/<boardname>_defconfig. If you follow this recommendation, the --configuration will be listed in make help and can be set again by --running make <boardname>_defconfig.

Alternatively, you can copy the file to any other place and rebuild with --make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>.

9.4. Storing the configuration of other components

The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot --and uClibc should be stored as well if changed. For each of these --components, a Buildroot configuration option exists to point to an input --configuration file, e.g. BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. To store --their configuration, set these configuration options to a path where you --want to save the configuration files, and then use the helper targets --described below to actually store the configuration.

As explained in Section 9.1, “Recommended directory structureâ€, the recommended path to --store these configuration files is --board/<company>/<boardname>/foo.config.

Make sure that you create a configuration file before changing --the BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE etc. options. Otherwise, --Buildroot will try to access this config file, which doesn’t exist --yet, and will fail. You can create the configuration file by running --make linux-menuconfig etc.

Buildroot provides a few helper targets to make the saving of --configuration files easier.

  • --make linux-update-defconfig saves the linux configuration to the -- path specified by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. It -- simplifies the config file by removing default values. However, -- this only works with kernels starting from 2.6.33. For earlier -- kernels, use make linux-update-config. --
  • --make busybox-update-config saves the busybox configuration to the -- path specified by BR2_PACKAGE_BUSYBOX_CONFIG. --
  • --make uclibc-update-config saves the uClibc configuration to the -- path specified by BR2_UCLIBC_CONFIG. --
  • --make barebox-update-defconfig saves the barebox configuration to the -- path specified by BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE. --
  • --make uboot-update-defconfig saves the U-Boot configuration to the -- path specified by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE. --
  • --For at91bootstrap3, no helper exists so you have to copy the config -- file manually to BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE. --

9.5. 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 Section 9.1, “Recommended directory structureâ€, the recommended path for -- this overlay is board/<company>/<boardname>/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 Section 9.1, “Recommended directory structureâ€, the recommended path for -- this script is board/<company>/<boardname>/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 -- Section 18.5.2, “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 Section 8.2, “Understanding when a full rebuild is necessary†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 Section 9.5.1, “Setting file permissions and ownership and adding custom devices nodesâ€) or -- to create users (see Section 9.6, “Adding custom user accountsâ€)

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.

9.5.1. Setting file permissions and ownership and adding custom devices nodes

Sometimes it is needed to set specific permissions or ownership on files --or device nodes. For example, certain files may need to be owned by --root. Since the post-build scripts are not run as root, you cannot do --such changes from there unless you use an explicit fakeroot from the --post-build script.

Instead, Buildroot provides support for so-called permission tables. --To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a --space-separated list of permission tables, regular text files following --the makedev syntax.

If you are using a static device table (i.e. not using devtmpfs, --mdev, or (e)udev) then you can add device nodes using the same --syntax, in so-called device tables. To use this feature, set config --option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of --device tables.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for --such files is board/<company>/<boardname>/.

It should be noted that if the specific permissions or device nodes are --related to a specific application, you should set variables --FOO_PERMISSIONS and FOO_DEVICES in the package’s .mk file instead --(see Section 18.5.2, “generic-package referenceâ€).

9.6. Adding custom user accounts

Sometimes it is needed to add specific users in the target system. --To cover this requirement, Buildroot provides support for so-called --users tables. To use this feature, set config option --BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, --regular text files following the makeusers syntax.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for --such files is board/<company>/<boardname>/.

It should be noted that if the custom users are related to a specific --application, you should set variable FOO_USERS in the package’s .mk --file instead (see Section 18.5.2, “generic-package referenceâ€).

9.7. Customization after the images have been created

While post-build scripts (Section 9.5, “Customizing the generated target filesystemâ€) are run before --building the filesystem image, kernel and bootloader, post-image --scripts can be used to perform some specific actions after all images --have been created.

Post-image scripts can for example be used to automatically extract your --root filesystem tarball in a location exported by your NFS server, or --to create a special firmware image that bundles your root filesystem and --kernel image, or any other custom action required for your project.

To enable this feature, specify a space-separated list of post-image --scripts in config option BR2_ROOTFS_POST_IMAGE_SCRIPT (in the System --configuration menu). If you specify a relative path, it will be --relative to the root of the Buildroot tree.

Just like post-build scripts, post-image scripts are run with the main --Buildroot tree as current working directory. The path to the images --output directory 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.

Again just like for the post-build scripts, the scripts have access to --the environment variables BR2_CONFIG, HOST_DIR, STAGING_DIR, --TARGET_DIR, BUILD_DIR, BINARIES_DIR, CONFIG_DIR and --BASE_DIR.

The post-image scripts will be executed as the user that executes --Buildroot, which should normally not be the root user. Therefore, any --action requiring root permissions in one of these scripts will require --special handling (usage of fakeroot or sudo), which is left to the --script developer.

9.8. 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 <packageversion> of a specific package --<packagename>, patches are applied from BR2_GLOBAL_PATCH_DIR as --follows:

  1. --For every directory - <global-patch-dir> - that exists in -- BR2_GLOBAL_PATCH_DIR, a <package-patch-dir> will be determined as -- follows: --

    • --<global-patch-dir>/<packagename>/<packageversion>/ if the -- directory exists. --
    • --Otherwise, <global-patch-dir>/<packagename> if the directory -- exists. --
  2. --Patches will then be applied from a <package-patch-dir> 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: -- <number>-<description>.patch, where <number> refers to the -- apply order. --

For information about how patches are applied for a package, see --Section 19.2, “How patches are appliedâ€

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.

9.9. Adding project-specific packages

In general, any new package should be added directly in the package --directory and submitted to the Buildroot upstream project. How to add --packages to Buildroot in general is explained in full detail in --Chapter 18, Adding new packages to Buildroot and will not be repeated here. However, your --project may need some proprietary packages that cannot be upstreamed. --This section will explain how you can keep such project-specific --packages in a project-specific directory.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for --project-specific packages is package/<company>/. If you are using the --br2-external tree feature (see Section 9.2, “Keeping customizations outside of Buildrootâ€) the recommended --location is to put them in a sub-directory named package/ in your --br2-external tree.

However, Buildroot will not be aware of the packages in this location, --unless we perform some additional steps. As explained in --Chapter 18, Adding new packages to Buildroot, a package in Buildroot basically consists of two --files: a .mk file (describing how to build the package) and a --Config.in file (describing the configuration options for this --package).

Buildroot will automatically include the .mk files in first-level --subdirectories of the package directory (using the pattern --package/*/*.mk). If we want Buildroot to include .mk files from --deeper subdirectories (like package/<company>/package1/) then we --simply have to add a .mk file in a first-level subdirectory that --includes these additional .mk files. Therefore, create a file --package/<company>/<company>.mk with following contents (assuming you --have only one extra directory level below package/<company>/):

include $(sort $(wildcard package/<company>/*/*.mk))

For the Config.in files, create a file package/<company>/Config.in --that includes the Config.in files of all your packages. An exhaustive --list has to be provided since wildcards are not supported in the source command of kconfig. --For example:

source "package/<company>/package1/Config.in"
--source "package/<company>/package2/Config.in"

Include this new file package/<company>/Config.in from --package/Config.in, preferably in a company-specific menu to make --merges with future Buildroot versions easier.

If using a br2-external tree, refer to Section 9.2, “Keeping customizations outside of Buildroot†for how --to fill in those files.

9.10. 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. --
  2. --make linux-menuconfig to update the kernel config, similar for -- other configuration like busybox, uclibc, … --
  3. --mkdir -p board/<manufacturer>/<boardname> --
  4. --Set the following options to board/<manufacturer>/<boardname>/<package>.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 --
  5. --Write the configuration files: --

    • --make linux-update-defconfig --
    • --make busybox-update-config --
    • --make uclibc-update-config --
    • --cp <output>/build/at91bootstrap3-*/.config -- board/<manufacturer>/<boardname>/at91bootstrap3.config --
    • --make barebox-update-defconfig --
    • --make uboot-update-defconfig --
  6. --Create board/<manufacturer>/<boardname>/rootfs-overlay/ and fill it -- with additional files you need on your rootfs, e.g. -- board/<manufacturer>/<boardname>/rootfs-overlay/etc/inittab. -- Set BR2_ROOTFS_OVERLAY -- to board/<manufacturer>/<boardname>/rootfs-overlay. --
  7. --Create a post-build script -- board/<manufacturer>/<boardname>/post_build.sh. Set -- BR2_ROOTFS_POST_BUILD_SCRIPT to -- board/<manufacturer>/<boardname>/post_build.sh --
  8. --If additional setuid permissions have to be set or device nodes have -- to be created, create board/<manufacturer>/<boardname>/device_table.txt -- and add that path to BR2_ROOTFS_DEVICE_TABLE. --
  9. --If additional user accounts have to be created, create -- board/<manufacturer>/<boardname>/users_table.txt and add that path -- to BR2_ROOTFS_USERS_TABLES. --
  10. --To add custom patches to certain packages, set BR2_GLOBAL_PATCH_DIR -- to board/<manufacturer>/<boardname>/patches/ and add your patches -- for each package in a subdirectory named after the package. Each -- patch should be called <packagename>-<num>-<description>.patch. --
  11. --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. --
  12. --If you need to add project-specific packages, create -- package/<manufacturer>/ and place your packages in that -- directory. Create an overall <manufacturer>.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. --
  13. --make savedefconfig to save the buildroot configuration. --
  14. --cp defconfig configs/<boardname>_defconfig --

Chapter 10. Using SELinux in Buildroot

SELinux is a Linux kernel security module --enforcing access control policies. In addition to the traditional file --permissions and access control lists, SELinux allows to write rules --for users or processes to access specific functions of resources --(files, sockets…).

SELinux has three modes of operation:

  • --Disabled: the policy is not applied --
  • --Permissive: the policy is applied, and non-authorized actions are -- simply logged. This mode is often used for troubleshooting SELinux -- issues. --
  • --Enforcing: the policy is applied, and non-authorized actions are -- denied --

In Buildroot the mode of operation is controlled by the --BR2_PACKAGE_REFPOLICY_POLICY_STATE_* configuration options. The --Linux kernel also has various configuration options that affect how --SELinux is enabled (see security/selinux/Kconfig in the Linux --kernel sources).

By default in Buildroot the SELinux policy is provided by the --upstream refpolicy --project, enabled with BR2_PACKAGE_REFPOLICY.

10.1. Enabling SELinux support

To have proper support for SELinux in a Buildroot generated system, --the following configuration options must be enabled:

  • --BR2_PACKAGE_LIBSELINUX --
  • --BR2_PACKAGE_REFPOLICY --

In addition, your filesystem image format must support extended --attributes.

10.2. SELinux policy tweaking

The SELinux refpolicy contains modules that can be enabled or --disabled when being built. Each module provide a number of SELinux --rules. In Buildroot the non-base modules are disabled by default and --several ways to enable such modules are provided:

  • --Packages can enable a list of SELinux modules within the refpolicy using -- the <packagename>_SELINUX_MODULES variable. --
  • --Packages can provide additional SELinux modules by putting them (.fc, .if -- and .te files) in package/<packagename>/selinux/. --
  • --Extra SELinux modules can be added in directories pointed by the -- BR2_REFPOLICY_EXTRA_MODULES_DIRS configuration option. --
  • --Additional modules in the refpolicy can be enabled if listed in the -- BR2_REFPOLICY_EXTRA_MODULES_DEPENDENCIES configuration option. --

Buildroot also allows to completely override the refpolicy. This --allows to provide a full custom policy designed specifically for a --given system. When going this way, all of the above mechanisms are --disabled: no extra SElinux module is added to the policy, and all --the available modules within the custom policy are enabled and built --into the final binary policy. The custom policy must be a fork of the --official refpolicy.

In order to fully override the refpolicy the following configuration --variables have to be set:

  • --BR2_PACKAGE_REFPOLICY_CUSTOM_GIT --
  • --BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL --
  • --BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION --

Chapter 11. Frequently Asked Questions & Troubleshooting

11.1. 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.

11.2. 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:

11.3. Why are there no development files on the target?

Since there is no compiler available on the target (see --Section 11.2, “Why is there no compiler on the 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.

11.4. 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: Section 11.2, “Why is there no compiler on the target?â€).

11.5. 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 Section 8.1, “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 Section 8.1, “make tips†for --more explanations).

11.6. 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.

11.7. 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/<tuple>/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, -- Open Embedded, or 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. --

11.8. 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: Section 8.14.3, “Using ccache in Buildrootâ€); --
  • --Learn about rebuilding only the few packages you actually care -- about (see Section 8.3, “Understanding how to rebuild packagesâ€), but beware that sometimes full -- rebuilds are anyway necessary (see Section 8.2, “Understanding when a full rebuild is necessaryâ€); --
  • --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 -- Section 8.12, “Top-level parallel buildâ€. --

Chapter 12. Known issues

  • --It is not possible to pass extra linker options via BR2_TARGET_LDFLAGS -- if such options contain a $ sign. For example, the following is known -- to break: BR2_TARGET_LDFLAGS="-Wl,-rpath='$ORIGIN/../lib'" --
  • --The libffi package is not supported on the SuperH 2 and ARC -- architectures. --
  • --The prboom package triggers a compiler failure with the SuperH 4 -- compiler from Sourcery CodeBench, version 2012.09. --

Chapter 13. Legal notice and licensing

13.1. Complying with open source licenses

All of the end products of Buildroot (toolchain, root filesystem, kernel, --bootloaders) contain open source software, released under various licenses.

Using open source software gives you the freedom to build rich embedded --systems, choosing from a wide range of packages, but also imposes some --obligations that you must know and honour. --Some licenses require you to publish the license text in the documentation of --your product. Others require you to redistribute the source code of the --software to those that receive your product.

The exact requirements of each license are documented in each package, and --it is your responsibility (or that of your legal office) to comply with those --requirements. --To make this easier for you, Buildroot can collect for you some material you --will probably need. To produce this material, after you have configured --Buildroot with make menuconfig, make xconfig or make gconfig, run:

make legal-info

Buildroot will collect legally-relevant material in your output directory, --under the legal-info/ subdirectory. --There you will find:

  • --A README file, that summarizes the produced material and contains warnings -- about material that Buildroot could not produce. --
  • --buildroot.config: this is the Buildroot configuration file that is usually -- produced with make menuconfig, and which is necessary to reproduce the -- build. --
  • --The source code for all packages; this is saved in the sources/ and -- host-sources/ subdirectories for target and host packages respectively. -- The source code for packages that set <PKG>_REDISTRIBUTE = NO will not be -- saved. -- Patches that were applied are also saved, along with a file named series -- that lists the patches in the order they were applied. Patches are under the -- same license as the files that they modify. -- Note: Buildroot applies additional patches to Libtool scripts of -- autotools-based packages. These patches can be found under -- support/libtool in the Buildroot source and, due to technical -- limitations, are not saved with the package sources. You may need to -- collect them manually. --
  • --A manifest file (one for host and one for target packages) listing the -- configured packages, their version, license and related information. -- Some of this information might not be defined in Buildroot; such items are -- marked as "unknown". --
  • --The license texts of all packages, in the licenses/ and host-licenses/ -- subdirectories for target and host packages respectively. -- If the license file(s) are not defined in Buildroot, the file is not produced -- and a warning in the README indicates this. --

Please note that the aim of the legal-info feature of Buildroot is to --produce all the material that is somehow relevant for legal compliance with the --package licenses. Buildroot does not try to produce the exact material that --you must somehow make public. Certainly, more material is produced than is --needed for a strict legal compliance. For example, it produces the source code --for packages released under BSD-like licenses, that you are not required to --redistribute in source form.

Moreover, due to technical limitations, Buildroot does not produce some --material that you will or may need, such as the toolchain source code for --some of the external toolchains and the Buildroot source code itself. --When you run make legal-info, Buildroot produces warnings in the README --file to inform you of relevant material that could not be saved.

Finally, keep in mind that the output of make legal-info is based on --declarative statements in each of the packages recipes. The Buildroot --developers try to do their best to keep those declarative statements as --accurate as possible, to the best of their knowledge. However, it is very --well possible that those declarative statements are not all fully accurate --nor exhaustive. You (or your legal department) have to check the output --of make legal-info before using it as your own compliance delivery. See --the NO WARRANTY clauses (clauses 11 and 12) in the COPYING file at the --root of the Buildroot distribution.

13.2. Complying with the Buildroot license

Buildroot itself is an open source software, released under the --GNU General --Public License, version 2 or (at your option) any later version, with --the exception of the package patches detailed below. --However, being a build system, it is not normally part of the end product: --if you develop the root filesystem, kernel, bootloader or toolchain for a --device, the code of Buildroot is only present on the development machine, not --in the device storage.

Nevertheless, the general view of the Buildroot developers is that you should --release the Buildroot source code along with the source code of other packages --when releasing a product that contains GPL-licensed software. --This is because the --GNU GPL --defines the "complete source code" for an executable work as "all the --source code for all modules it contains, plus any associated interface --definition files, plus the scripts used to control compilation and installation --of the executable". --Buildroot is part of the scripts used to control compilation and --installation of the executable, and as such it is considered part of the --material that must be redistributed.

Keep in mind that this is only the Buildroot developers' opinion, and you --should consult your legal department or lawyer in case of any doubt.

13.2.1. Patches to packages

Buildroot also bundles patch files, which are applied to the sources --of the various packages. Those patches are not covered by the license --of Buildroot. Instead, they are covered by the license of the software --to which the patches are applied. When said software is available --under multiple licenses, the Buildroot patches are only provided under --the publicly accessible licenses.

See Chapter 19, Patching a package for the technical details.

Chapter 14. Beyond Buildroot

14.1. Boot the generated images

14.1.1. NFS boot

To achieve NFS-boot, enable tar root filesystem in the Filesystem --images menu.

After a complete build, just run the following commands to setup the --NFS-root directory:

sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir

Remember to add this path to /etc/exports.

Then, you can execute a NFS-boot from your target.

14.1.2. Live CD

To build a live CD image, enable the iso image option in the --Filesystem images menu. Note that this option is only available on --the x86 and x86-64 architectures, and if you are building your kernel --with Buildroot.

You can build a live CD image with either IsoLinux, Grub or Grub 2 as --a bootloader, but only Isolinux supports making this image usable both --as a live CD and live USB (through the Build hybrid image option).

You can test your live CD image using QEMU:

qemu-system-i386 -cdrom output/images/rootfs.iso9660

Or use it as a hard-drive image if it is a hybrid ISO:

qemu-system-i386 -hda output/images/rootfs.iso9660

It can be easily flashed to a USB drive with dd:

dd if=output/images/rootfs.iso9660 of=/dev/sdb

14.2. Chroot

If you want to chroot in a generated image, then there are few thing --you should be aware of:

  • --you should setup the new root from the tar root filesystem image; --
  • --either the selected target architecture is compatible with your host -- machine, or you should use some qemu-* binary and correctly set it -- within the binfmt properties to be able to run the binaries built -- for the target on your host machine; --
  • --Buildroot does not currently provide host-qemu and binfmt -- correctly built and set for that kind of use. --

Part III. Developer guide

Chapter 15. How Buildroot works

As mentioned above, Buildroot is basically a set of Makefiles that --download, configure, and compile software with the correct options. It --also includes patches for various software packages - mainly the ones --involved in the cross-compilation toolchain (gcc, binutils and --uClibc).

There is basically one Makefile per software package, and they are --named with the .mk extension. Makefiles are split into many different --parts.

  • --The toolchain/ directory contains the Makefiles -- and associated files for all software related to the -- cross-compilation toolchain: binutils, gcc, gdb, -- kernel-headers and uClibc. --
  • --The arch/ directory contains the definitions for all the processor -- architectures that are supported by Buildroot. --
  • --The package/ directory contains the Makefiles and -- associated files for all user-space tools and libraries that Buildroot -- can compile and add to the target root filesystem. There is one -- sub-directory per package. --
  • --The linux/ directory contains the Makefiles and associated files for -- the Linux kernel. --
  • --The boot/ directory contains the Makefiles and associated files for -- the bootloaders supported by Buildroot. --
  • --The system/ directory contains support for system integration, e.g. -- the target filesystem skeleton and the selection of an init system. --
  • --The fs/ directory contains the Makefiles and -- associated files for software related to the generation of the -- target root filesystem image. --

Each directory contains at least 2 files:

  • --something.mk is the Makefile that downloads, configures, -- compiles and installs the package something. --
  • --Config.in is a part of the configuration tool -- description file. It describes the options related to the -- package. --

The main Makefile performs the following steps (once the --configuration is done):

  • --Create all the output directories: staging, target, build, -- etc. in the output directory (output/ by default, -- another value can be specified using O=) --
  • --Generate the toolchain target. When an internal toolchain is used, this -- means generating the cross-compilation toolchain. When an external -- toolchain is used, this means checking the features of the external -- toolchain and importing it into the Buildroot environment. --
  • --Generate all the targets listed in the TARGETS variable. This -- variable is filled by all the individual components' -- Makefiles. Generating these targets will trigger the compilation of -- the userspace packages (libraries, programs), the kernel, the -- bootloader and the generation of the root filesystem images, -- depending on the configuration. --

Chapter 16. 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. --

16.1. 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.

16.2. 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_PYTHON),y)
      --LIBFOO_CONF_OPTS += --with-python-support
      --LIBFOO_DEPENDENCIES += python
      --else
      --LIBFOO_CONF_OPTS += --without-python-support
      --endif

      NO:

      LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support
      --LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,)
    • --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

16.3. The documentation

The documentation uses the --asciidoc format.

For further details about the asciidoc syntax, refer to --http://www.methods.co.nz/asciidoc/userguide.html.

16.4. Support scripts

Some scripts in the support/ and utils/ directories are written in --Python and should follow the --PEP8 Style Guide for Python Code.

Chapter 17. 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 <boardname>_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/<manufacturer> and a subdirectory --board/<manufacturer>/<boardname>. You can then store your patches --and configurations in these directories, and reference them from the main --Buildroot configuration. Refer to Chapter 9, Project-specific customization for more details.

Chapter 18. 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 Section 18.24.3, “How to test your packageâ€) and also check it for coding style (see --Section 18.24.2, “How to check the coding styleâ€).

18.1. 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.

18.2. 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.

18.2.1. 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"

18.2.2. 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.

18.2.3. 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 Section 18.2.4, “Dependencies on target and 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"
--        select BR2_PACKAGE_B
--        depends on BR2_PACKAGE_A
--
--config BR2_PACKAGE_E
--        bool "Package E"
--        select BR2_PACKAGE_D
--        depends on BR2_PACKAGE_A

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 the --coding style.

18.2.4. 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 --

18.2.5. 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

18.2.6. 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

18.2.7. Dependencies on features provided by virtual packages

Some features can be provided by more than one package, such as the --openGL libraries.

See Section 18.11, “Infrastructure for virtual packages†for more on the virtual packages.

18.3. The .mk file

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 tutorial and a -- 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 tutorial -- and 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 tutorial -- and reference. --
  • --Makefiles for Python modules: We have a dedicated infrastructure -- for Python modules that use either the distutils or the -- setuptools mechanism. We cover them through a -- tutorial and a -- reference. --
  • --Makefiles for Lua modules: We have a dedicated infrastructure for -- Lua modules available through the LuaRocks web site. We cover them -- through a tutorial and a -- reference. --

Further formatting details: see the writing --rules.

18.4. 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, none --
  • --the hash of the file: --

    • --for none, one or more non-space chars, usually just the string xxx --
    • --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 <packageversion> of that package --(see also Section 19.2, “How patches are appliedâ€).

The none hash type is reserved to those archives downloaded from a --repository, like a git clone, a subversion checkout…

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
--
--# No hash for 1234:
--none  xxx  libfoo-1234.tar.gz
--
--# 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.

18.5. 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.

18.5.1. 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.

Example 18.1. 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

Example 18.2. 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.

18.5.2. 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 -- 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 -- Section 18.24.4, “How to add a package from GitHub†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. -- 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://. --
    • --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 -- Section 18.22.1, “Using the POST_RSYNC hookâ€. --
  • --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_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 -- "<pkg-name>-<pkg-version>", 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 Section 18.11, “Infrastructure for virtual packagesâ€. --
  • --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 -- Chapter 25, Makedev syntax documentation. 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 Chapter 25, Makedev syntax documentation. -- 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 Chapter 26, Makeusers syntax documentation. 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 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 Chapter 13, Legal notice and licensing 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 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 -- <pkgname>_project. --
    • --LIBFOO_CPE_ID_PRODUCT, specifies the product part of the CPE -- identifier. When not defined, the default value is <pkgname>. --
    • --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 Section 8.12, “Top-level parallel build†for more details -- about per-package directory support. --

Finally, you can also use hooks. See Section 18.22, “Hooks available in the various build steps†for more information.

18.6. Infrastructure for autotools-based packages

18.6.1. 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.

18.6.2. 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 Section 18.22, “Hooks available in the various build steps†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. --

18.7. Infrastructure for CMake-based packages

18.7.1. 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.

18.7.2. 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 Section 18.22, “Hooks available in the various build steps†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. --

18.8. Infrastructure for Python packages

This infrastructure applies to Python packages that use the standard --Python setuptools mechanism as their build system, generally --recognizable by the usage of a setup.py script.

18.8.1. 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 two --supported ones are distutils 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.

18.8.2. python-package reference

As a policy, packages that merely provide Python modules should all be --named python-<something> 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).

Packages that are only compatible with one version of Python (as in: --Python 2 or Python 3) should depend on that version explicitely in --their Config.in file (BR2_PACKAGE_PYTHON for Python 2, --BR2_PACKAGE_PYTHON3 for Python 3). Packages that are compatible --with both versions should not explicitely depend on them in their --Config.in file, since that condition is already expressed for the --whole "External python modules" menu.

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 --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 two supported values are distutils and -- setuptools. If you don’t know which one is used in your package, -- look at the setup.py file in your package source code, and see -- whether it imports things from the distutils module or the -- setuptools module. --

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 file. This is useful, -- if for example, the main setup.py 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 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) and HOST_PKG_PYTHON_SETUPTOOLS_ENV -- (for setuptools host packages). --
  • --PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to the -- Python setup.py script during the build step. 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 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) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host -- setuptools packages). --
  • --HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python -- interpreter. The usage of this variable is limited to host -- packages. The two supported value are python2 and python3. It -- will ensure the right host python package is available and will -- invoke it for the build. If some build steps are overloaded, the -- right python interpreter must be explicitly called in the commands. --

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 Section 18.22, “Hooks available in the various build steps†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. --

18.8.3. 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 --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

18.8.4. 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))

18.9. Infrastructure for LuaRocks-based packages

18.9.1. luarocks-package tutorial

First, let’s see how to write a .mk file for a LuaRocks-based package, --with an example :

01: ################################################################################
--02: #
--03: # lua-foo
--04: #
--05: ################################################################################
--06:
--07: LUA_FOO_VERSION = 1.0.2-1
--08: LUA_FOO_NAME_UPSTREAM = foo
--09: LUA_FOO_DEPENDENCIES = bar
--10:
--11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include
--12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib
--13: LUA_FOO_LICENSE = luaFoo license
--14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING
--15:
--16: $(eval $(luarocks-package))

On line 7, we declare the version of the package (the same as in the rockspec, --which is the concatenation of the upstream version and the rockspec revision, --separated by a hyphen -).

On line 8, we declare that the package is called "foo" on LuaRocks. In --Buildroot, we give Lua-related packages a name that starts with "lua", so the --Buildroot name is different from the upstream name. LUA_FOO_NAME_UPSTREAM --makes the link between the two names.

On line 9, we declare our dependencies against native libraries, so that they --are built before the build process of our package starts.

On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is --building the package.

On lines 13-14, we specify the licensing terms for the package.

Finally, on line 16, we invoke the luarocks-package --macro that generates all the Makefile rules that actually allows the --package to be built.

Most of these details can be retrieved from the rock and rockspec. --So, this file and the Config.in file can be generated by running the --command luarocks buildroot foo lua-foo in the Buildroot --directory. This command runs a specific Buildroot addon of luarocks --that will automatically generate a Buildroot package. The result must --still be manually inspected and possibly modified.

  • --The package/Config.in file has to be updated manually to include the -- generated Config.in files. --

18.9.2. luarocks-package reference

LuaRocks is a deployment and management system for Lua modules, and supports --various build.type: builtin, make and cmake. In the context of --Buildroot, the luarocks-package infrastructure only supports the builtin --mode. LuaRocks packages that use the make or cmake build mechanisms --should instead be packaged using the generic-package and cmake-package --infrastructures in Buildroot, respectively.

The main macro of the LuaRocks package infrastructure is luarocks-package: --like generic-package it works by defining a number of variables providing --metadata information about the package, and then calling luarocks-package.

Just like the generic infrastructure, the LuaRocks infrastructure works --by defining a number of variables before calling the luarocks-package --macro.

First, all the package metadata information variables that exist in --the generic infrastructure also exist in the LuaRocks infrastructure: --LUA_FOO_VERSION, LUA_FOO_SOURCE, LUA_FOO_SITE, --LUA_FOO_DEPENDENCIES, LUA_FOO_LICENSE, LUA_FOO_LICENSE_FILES.

Two of them are populated by the LuaRocks infrastructure (for the --download step). If your package is not hosted on the LuaRocks mirror --$(BR2_LUAROCKS_MIRROR), you can override them:

  • --LUA_FOO_SITE, which defaults to $(BR2_LUAROCKS_MIRROR) --
  • --LUA_FOO_SOURCE, which defaults to -- $(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock --

A few additional variables, specific to the LuaRocks infrastructure, are --also defined. They can be overridden in specific cases.

  • --LUA_FOO_NAME_UPSTREAM, which defaults to lua-foo, i.e. the Buildroot -- package name --
  • --LUA_FOO_ROCKSPEC, which defaults to -- $(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec --
  • --LUA_FOO_SUBDIR, which defaults to -- $(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION) --
  • --LUA_FOO_BUILD_OPTS contains additional build options for the -- luarocks build call. --

18.10. Infrastructure for Perl/CPAN packages

18.10.1. perl-package tutorial

First, let’s see how to write a .mk file for a Perl/CPAN package, --with an example :

01: ################################################################################
--02: #
--03: # perl-foo-bar
--04: #
--05: ################################################################################
--06:
--07: PERL_FOO_BAR_VERSION = 0.02
--08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz
--09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER
--10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures
--11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+
--12: PERL_FOO_BAR_LICENSE_FILES = LICENSE
--13: PERL_FOO_BAR_DISTNAME = Foo-Bar
--14:
--15: $(eval $(perl-package))

On line 7, we declare the version of the package.

On line 8 and 9, we declare the name of the tarball and the location --of the tarball on a CPAN server. Buildroot will automatically download --the tarball from this location.

On line 10, we declare our dependencies, so that they are built --before the build process of our package starts.

On line 11 and 12, we give licensing details about the package (its --license on line 11, and the file containing the license text on line --12).

On line 13, the name of the distribution as needed by the script --utils/scancpan (in order to regenerate/upgrade these package files).

Finally, on line 15, we invoke the perl-package macro that --generates all the Makefile rules that actually allow the package to be --built.

Most of these data can be retrieved from https://metacpan.org/. --So, this file and the Config.in can be generated by running --the script utils/scancpan Foo-Bar in the Buildroot directory --(or in a br2-external tree). --This script creates a Config.in file and foo-bar.mk file for the --requested package, and also recursively for all dependencies specified by --CPAN. You should still manually edit the result. In particular, the --following things should be checked.

  • --If the perl module links with a shared library that is provided by -- another (non-perl) package, this dependency is not added automatically. -- It has to be added manually to PERL_FOO_BAR_DEPENDENCIES. --
  • --The package/Config.in file has to be updated manually to include the -- generated Config.in files. As a hint, the scancpan script prints out -- the required source "…" statements, sorted alphabetically. --

18.10.2. perl-package reference

As a policy, packages that provide Perl/CPAN modules should all be --named perl-<something> in Buildroot.

This infrastructure handles various Perl build systems : --ExtUtils-MakeMaker (EUMM), Module-Build (MB) and Module-Build-Tiny. --Build.PL is preferred by default when a package provides a Makefile.PL --and a Build.PL.

The main macro of the Perl/CPAN package infrastructure is --perl-package. It is similar to the generic-package macro. The ability to --have target and host packages is also available, with the --host-perl-package macro.

Just like the generic infrastructure, the Perl/CPAN infrastructure --works by defining a number of variables before calling the --perl-package macro.

First, all the package metadata information variables that exist in the --generic infrastructure also exist in the Perl/CPAN infrastructure: --PERL_FOO_VERSION, PERL_FOO_SOURCE, --PERL_FOO_PATCH, PERL_FOO_SITE, --PERL_FOO_SUBDIR, PERL_FOO_DEPENDENCIES, --PERL_FOO_INSTALL_TARGET.

Note that setting PERL_FOO_INSTALL_STAGING to YES has no effect --unless a PERL_FOO_INSTALL_STAGING_CMDS variable is defined. The perl --infrastructure doesn’t define these commands since Perl modules generally --don’t need to be installed to the staging directory.

A few additional variables, specific to the Perl/CPAN 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.

  • --PERL_FOO_PREFER_INSTALLER/HOST_PERL_FOO_PREFER_INSTALLER, -- specifies the preferred installation method. Possible values are -- EUMM (for Makefile.PL based installation using -- ExtUtils-MakeMaker) and MB (for Build.PL based installation -- using Module-Build). This variable is only used when the package -- provides both installation methods. --
  • --PERL_FOO_CONF_ENV/HOST_PERL_FOO_CONF_ENV, to specify additional -- environment variables to pass to the perl Makefile.PL or perl Build.PL. -- By default, empty. --
  • --PERL_FOO_CONF_OPTS/HOST_PERL_FOO_CONF_OPTS, to specify additional -- configure options to pass to the perl Makefile.PL or perl Build.PL. -- By default, empty. --
  • --PERL_FOO_BUILD_OPTS/HOST_PERL_FOO_BUILD_OPTS, to specify additional -- options to pass to make pure_all or perl Build build in the build step. -- By default, empty. --
  • --PERL_FOO_INSTALL_TARGET_OPTS, to specify additional options to -- pass to make pure_install or perl Build install in the install step. -- By default, empty. --
  • --HOST_PERL_FOO_INSTALL_OPTS, to specify additional options to -- pass to make pure_install or perl Build install in the install step. -- By default, empty. --

18.11. Infrastructure for virtual packages

In Buildroot, a virtual package is a package whose functionalities are --provided by one or more packages, referred to as providers. The virtual --package management is an extensible mechanism allowing the user to choose --the provider used in the rootfs.

For example, OpenGL ES is an API for 2D and 3D graphics on embedded systems. --The implementation of this API is different for the Allwinner Tech Sunxi and --the Texas Instruments OMAP35xx platforms. So libgles will be a virtual --package and sunxi-mali and ti-gfx will be the providers.

18.11.1. virtual-package tutorial

In the following example, we will explain how to add a new virtual package --(something-virtual) and a provider for it (some-provider).

First, let’s create the virtual package.

18.11.2. Virtual package’s Config.in file

The Config.in file of virtual package something-virtual should contain:

01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
--02:     bool
--03:
--04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
--05:     depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
--06:     string

In this file, we declare two options, BR2_PACKAGE_HAS_SOMETHING_VIRTUAL and --BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL, whose values will be used by the --providers.

18.11.3. Virtual package’s .mk file

The .mk for the virtual package should just evaluate the virtual-package macro:

01: ################################################################################
--02: #
--03: # something-virtual
--04: #
--05: ################################################################################
--06:
--07: $(eval $(virtual-package))

The ability to have target and host packages is also available, with the --host-virtual-package macro.

18.11.4. Provider’s Config.in file

When adding a package as a provider, only the Config.in file requires some --modifications.

The Config.in file of the package some-provider, which provides the --functionalities of something-virtual, should contain:

01: config BR2_PACKAGE_SOME_PROVIDER
--02:     bool "some-provider"
--03:     select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
--04:     help
--05:       This is a comment that explains what some-provider is.
--06:
--07:       http://foosoftware.org/some-provider/
--08:
--09: if BR2_PACKAGE_SOME_PROVIDER
--10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
--11:     default "some-provider"
--12: endif

On line 3, we select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL, and on line 11, we --set the value of BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL to the name of the --provider, but only if it is selected.

18.11.5. Provider’s .mk file

The .mk file should also declare an additional variable --SOME_PROVIDER_PROVIDES to contain the names of all the virtual --packages it is an implementation of:

01: SOME_PROVIDER_PROVIDES = something-virtual

Of course, do not forget to add the proper build and runtime dependencies for --this package!

18.11.6. Notes on depending on a virtual package

When adding a package that requires a certain FEATURE provided by a virtual --package, you have to use depends on BR2_PACKAGE_HAS_FEATURE, like so:

config BR2_PACKAGE_HAS_FEATURE
--    bool
--
--config BR2_PACKAGE_FOO
--    bool "foo"
--    depends on BR2_PACKAGE_HAS_FEATURE

18.11.7. Notes on depending on a specific provider

If your package really requires a specific provider, then you’ll have to --make your package depends on this provider; you can not select a --provider.

Let’s take an example with two providers for a FEATURE:

config BR2_PACKAGE_HAS_FEATURE
--    bool
--
--config BR2_PACKAGE_FOO
--    bool "foo"
--    select BR2_PACKAGE_HAS_FEATURE
--
--config BR2_PACKAGE_BAR
--    bool "bar"
--    select BR2_PACKAGE_HAS_FEATURE

And you are adding a package that needs FEATURE as provided by foo, --but not as provided by bar.

If you were to use select BR2_PACKAGE_FOO, then the user would still --be able to select BR2_PACKAGE_BAR in the menuconfig. This would create --a configuration inconsistency, whereby two providers of the same FEATURE --would be enabled at once, one explicitly set by the user, the other --implicitly by your select.

Instead, you have to use depends on BR2_PACKAGE_FOO, which avoids any --implicit configuration inconsistency.

18.12. Infrastructure for packages using kconfig for configuration files

A popular way for a software package to handle user-specified --configuration is kconfig. Among others, it is used by the Linux --kernel, Busybox, and Buildroot itself. The presence of a .config file --and a menuconfig target are two well-known symptoms of kconfig being --used.

Buildroot features an infrastructure for packages that use kconfig for --their configuration. This infrastructure provides the necessary logic to --expose the package’s menuconfig target as foo-menuconfig in --Buildroot, and to handle the copying back and forth of the configuration --file in a correct way.

The kconfig-package infrastructure is based on the generic-package --infrastructure. All variables supported by generic-package are --available in kconfig-package as well. See --Section 18.5.2, “generic-package reference†for more details.

In order to use the kconfig-package infrastructure for a Buildroot --package, the minimally required lines in the .mk file, in addition to --the variables required by the generic-package infrastructure, are:

FOO_KCONFIG_FILE = reference-to-source-configuration-file
--
--$(eval $(kconfig-package))

This snippet creates the following make targets:

  • --foo-menuconfig, which calls the package’s menuconfig target --
  • --foo-update-config, which copies the configuration back to the -- source configuration file. It is not possible to use this target -- when fragment files are set. --
  • --foo-update-defconfig, which copies the configuration back to the -- source configuration file. The configuration file will only list the -- options that differ from the default values. It is not possible to -- use this target when fragment files are set. --
  • --foo-diff-config, which outputs the differences between the current -- configuration and the one defined in the Buildroot configuration for -- this kconfig package. The output is useful to identify the -- configuration changes that may have to be propagated to -- configuration fragments for example. --

and ensures that the source configuration file is copied to the build --directory at the right moment.

There are two options to specify a configuration file to use, either --FOO_KCONFIG_FILE (as in the example, above) or FOO_KCONFIG_DEFCONFIG. --It is mandatory to provide either, but not both:

  • --FOO_KCONFIG_FILE specifies the path to a defconfig or full-config file -- to be used to configure the package. --
  • --FOO_KCONFIG_DEFCONFIG specifies the defconfig make rule to call to -- configure the package. --

In addition to these minimally required lines, several optional variables can --be set to suit the needs of the package under consideration:

  • --FOO_KCONFIG_EDITORS: a space-separated list of kconfig editors to -- support, for example menuconfig xconfig. By default, menuconfig. --
  • --FOO_KCONFIG_FRAGMENT_FILES: a space-separated list of configuration -- fragment files that are merged to the main configuration file. -- Fragment files are typically used when there is a desire to stay in sync -- with an upstream (def)config file, with some minor modifications. --
  • --FOO_KCONFIG_OPTS: extra options to pass when calling the kconfig -- editors. This may need to include $(FOO_MAKE_OPTS), for example. By -- default, empty. --
  • --FOO_KCONFIG_FIXUP_CMDS: a list of shell commands needed to fixup the -- configuration file after copying it or running a kconfig editor. Such -- commands may be needed to ensure a configuration consistent with other -- configuration of Buildroot, for example. By default, empty. --
  • --FOO_KCONFIG_DOTCONFIG: path (with filename) of the .config file, -- relative to the package source tree. The default, .config, should -- be well suited for all packages that use the standard kconfig -- infrastructure as inherited from the Linux kernel; some packages use -- a derivative of kconfig that use a different location. --
  • --FOO_KCONFIG_DEPENDENCIES: the list of packages (most probably, host -- packages) that need to be built before this package’s kconfig is -- interpreted. Seldom used. By default, empty. --
  • --FOO_KCONFIG_SUPPORTS_DEFCONFIG: whether the package’s kconfig system -- supports using defconfig files; few packages do not. By default, YES. --

18.13. Infrastructure for rebar-based packages

18.13.1. rebar-package tutorial

First, let’s see how to write a .mk file for a rebar-based package, --with an example :

01: ################################################################################
--02: #
--03: # erlang-foobar
--04: #
--05: ################################################################################
--06:
--07: ERLANG_FOOBAR_VERSION = 1.0
--08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz
--09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download
--10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb
--11:
--12: $(eval $(rebar-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 declare our dependencies, so that they are built --before the build process of our package starts.

Finally, on line 12, we invoke the rebar-package macro that --generates all the Makefile rules that actually allows the package to --be built.

18.13.2. rebar-package reference

The main macro of the rebar package infrastructure is --rebar-package. It is similar to the generic-package macro. The --ability to have host packages is also available, with the --host-rebar-package macro.

Just like the generic infrastructure, the rebar infrastructure works --by defining a number of variables before calling the rebar-package --macro.

First, all the package metadata information variables that exist in --the generic infrastructure also exist in the rebar infrastructure: --ERLANG_FOOBAR_VERSION, ERLANG_FOOBAR_SOURCE, --ERLANG_FOOBAR_PATCH, ERLANG_FOOBAR_SITE, --ERLANG_FOOBAR_SUBDIR, ERLANG_FOOBAR_DEPENDENCIES, --ERLANG_FOOBAR_INSTALL_STAGING, ERLANG_FOOBAR_INSTALL_TARGET, --ERLANG_FOOBAR_LICENSE and ERLANG_FOOBAR_LICENSE_FILES.

A few additional variables, specific to the rebar 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.

  • --ERLANG_FOOBAR_USE_AUTOCONF, to specify that the package uses -- autoconf at the configuration step. When a package sets this -- variable to YES, the autotools infrastructure is used. --

    Note. You can also use some of the variables from the autotools -- infrastructure: ERLANG_FOOBAR_CONF_ENV, ERLANG_FOOBAR_CONF_OPTS, -- ERLANG_FOOBAR_AUTORECONF, ERLANG_FOOBAR_AUTORECONF_ENV and -- ERLANG_FOOBAR_AUTORECONF_OPTS.

  • --ERLANG_FOOBAR_USE_BUNDLED_REBAR, to specify that the package has -- a bundled version of rebar and that it shall be used. Valid -- values are YES or NO (the default). --

    Note. If the package bundles a rebar utility, but can use the generic -- one that Buildroot provides, just say NO (i.e., do not specify -- this variable). Only set if it is mandatory to use the rebar -- utility bundled in this package.

  • --ERLANG_FOOBAR_REBAR_ENV, to specify additional environment -- variables to pass to the rebar utility. --
  • --ERLANG_FOOBAR_KEEP_DEPENDENCIES, to keep the dependencies -- described in the rebar.config file. Valid values are YES or NO -- (the default). Unless this variable is set to YES, the rebar -- infrastructure removes such dependencies in a post-patch hook to -- ensure rebar does not download nor compile them. --

With the rebar infrastructure, all the steps required to build --and install the packages are already defined, and they generally work --well for most rebar-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 Section 18.22, “Hooks available in the various build steps†for details. --
  • --By overriding one of the steps. For example, even if the rebar -- infrastructure is used, if the package .mk file defines its -- own ERLANG_FOOBAR_BUILD_CMDS variable, it will be used instead -- of the default rebar one. However, using this method should be -- restricted to very specific cases. Do not use it in the general -- case. --

18.14. Infrastructure for Waf-based packages

18.14.1. waf-package tutorial

First, let’s see how to write a .mk file for a Waf-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_CONF_OPTS = --enable-bar --disable-baz
--11: LIBFOO_DEPENDENCIES = bar
--12:
--13: $(eval $(waf-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 what options to enable for libfoo.

On line 11, we tell Buildroot the dependencies of libfoo.

Finally, on line line 13, we invoke the waf-package --macro that generates all the Makefile rules that actually allows the --package to be built.

18.14.2. waf-package reference

The main macro of the Waf package infrastructure is waf-package. --It is similar to the generic-package macro.

Just like the generic infrastructure, the Waf infrastructure works --by defining a number of variables before calling the waf-package --macro.

First, all the package metadata information variables that exist in --the generic infrastructure also exist in the Waf infrastructure: --LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, --LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, --LIBFOO_INSTALL_TARGET.

An additional variable, specific to the Waf infrastructure, can --also be defined.

  • --LIBFOO_SUBDIR may contain the name of a subdirectory inside the -- package that contains the main wscript file. This is useful, -- if for example, the main wscript 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_NEEDS_EXTERNAL_WAF can be set to YES or NO to tell -- Buildroot to use the bundled waf executable. If set to NO, the -- default, then Buildroot will use the waf executable provided in the -- package source tree; if set to YES, then Buildroot will download, -- install waf as a host tool and use it to build the package. --
  • --LIBFOO_WAF_OPTS, to specify additional options to pass to the -- waf script at every step of the package build process: configure, -- build and installation. By default, empty. --
  • --LIBFOO_CONF_OPTS, to specify additional options to pass to the -- waf script for the configuration step. By default, empty. --
  • --LIBFOO_BUILD_OPTS, to specify additional options to pass to the -- waf script during the build step. By default, empty. --
  • --LIBFOO_INSTALL_STAGING_OPTS, to specify additional options to pass -- to the waf script during the staging installation step. By default, -- empty. --
  • --LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass -- to the waf script during the target installation step. By default, -- empty. --

18.15. Infrastructure for Meson-based packages

18.15.1. meson-package tutorial

Meson is an open source build system meant to be both --extremely fast, and, even more importantly, as user friendly as possible. It --uses Ninja as a companion tool to perform the actual --build operations.

Let’s see how to write a .mk file for a Meson-based package, with an example:

01: ################################################################################
--02: #
--03: # foo
--04: #
--05: ################################################################################
--06:
--07: FOO_VERSION = 1.0
--08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz
--09: FOO_SITE = http://www.foosoftware.org/download
--10: FOO_LICENSE = GPL-3.0+
--11: FOO_LICENSE_FILES = COPYING
--12: FOO_INSTALL_STAGING = YES
--13:
--14: FOO_DEPENDENCIES = host-pkgconf bar
--15:
--16: ifeq ($(BR2_PACKAGE_BAZ),y)
--17: FOO_CONF_OPTS += -Dbaz=true
--18: FOO_DEPENDENCIES += baz
--19: else
--20: FOO_CONF_OPTS += -Dbaz=false
--21: endif
--22:
--23: $(eval $(meson-package))

The Makefile starts with the definition of the standard variables for package --declaration (lines 7 to 11).

On line line 23, we invoke the meson-package macro that generates all the --Makefile rules that actually allows the package to be built.

In the example, host-pkgconf and bar are declared as dependencies in --FOO_DEPENDENCIES at line 14 because the Meson build file of foo uses --pkg-config to determine the compilation flags and libraries of package bar.

Note that it is not necessary to add host-meson in the FOO_DEPENDENCIES --variable of a package, since this basic dependency is automatically added as --needed by the Meson package infrastructure.

If the "baz" package is selected, then support for the "baz" feature in "foo" is --activated by adding -Dbaz=true to FOO_CONF_OPTS at line 17, as specified in --the meson_options.txt file in "foo" source tree. The "baz" package is also --added to FOO_DEPENDENCIES. Note that the support for baz is explicitly --disabled at line 20, if the package is not selected.

To sum it up, to add a new meson-based package, the Makefile example can be --copied verbatim then edited to replace all occurences of FOO with the --uppercase name of the new package and update the values of the standard --variables.

18.15.2. meson-package reference

The main macro of the Meson package infrastructure is meson-package. It is --similar to the generic-package macro. The ability to have target and host --packages is also available, with the host-meson-package macro.

Just like the generic infrastructure, the Meson infrastructure works by defining --a number of variables before calling the meson-package macro.

First, all the package metadata information variables that exist in the generic --infrastructure also exist in the Meson infrastructure: FOO_VERSION, --FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, FOO_DEPENDENCIES, --FOO_INSTALL_STAGING, FOO_INSTALL_TARGET.

A few additional variables, specific to the Meson infrastructure, can also be --defined. Many of them are only useful in very specific cases, typical packages --will therefore only use a few of them.

  • --FOO_SUBDIR may contain the name of a subdirectory inside the -- package that contains the main meson.build file. This is useful, -- if for example, the main meson.build file is not at the root of -- the tree extracted by the tarball. If HOST_FOO_SUBDIR is not -- specified, it defaults to FOO_SUBDIR. --
  • --FOO_CONF_ENV, to specify additional environment variables to pass to -- meson for the configuration step. By default, empty. --
  • --FOO_CONF_OPTS, to specify additional options to pass to meson for the -- configuration step. By default, empty. --
  • --FOO_CFLAGS, to specify compiler arguments added to the package specific -- cross-compile.conf file c_args property. By default, the value of -- TARGET_CFLAGS. --
  • --FOO_CXXFLAGS, to specify compiler arguments added to the package specific -- cross-compile.conf file cpp_args property. By default, the value of -- TARGET_CXXFLAGS. --
  • --FOO_LDFLAGS, to specify compiler arguments added to the package specific -- cross-compile.conf file c_link_args and cpp_link_args properties. By -- default, the value of TARGET_LDFLAGS. --
  • --FOO_MESON_EXTRA_BINARIES, to specify a space-separated list of programs -- to add to the [binaries] section of the meson cross-compilation.conf -- configuration file. The format is program-name='/path/to/program', with -- no space around the = sign, and with the path of the program between -- single quotes. By default, empty. Note that Buildroot already sets the -- correct values for c, cpp, ar, strip, and pkgconfig. --
  • --FOO_MESON_EXTRA_PROPERTIES, to specify a space-separated list of -- properties to add to the [properties] section of the meson -- cross-compilation.conf configuration file. The format is -- property-name=<value> with no space around the = sign, and with -- single quotes around string values. By default, empty. Note that -- Buildroot already sets values for needs_exe_wrapper, c_args, -- c_link_args, cpp_args, cpp_link_args, sys_root, and -- pkg_config_libdir. --
  • --FOO_NINJA_ENV, to specify additional environment variables to pass to -- ninja, meson companion tool in charge of the build operations. By default, -- empty. --
  • --FOO_NINJA_OPTS, to specify a space-separated list of targets to build. By -- default, empty, to build the default target(s). --

18.16. Integration of Cargo-based packages

Cargo is the package manager for the Rust programming language. It allows the --user to build programs or libraries written in Rust, but it also downloads and --manages their dependencies, to ensure repeatable builds. Cargo packages are --called "crates".

18.16.1. Cargo-based package’s Config.in file

The Config.in file of Cargo-based package foo should contain:

01: config BR2_PACKAGE_FOO
--02:     bool "foo"
--03:     depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
--04:     select BR2_PACKAGE_HOST_RUSTC
--05:     help
--06:       This is a comment that explains what foo is.
--07:
--08:       http://foosoftware.org/foo/

18.16.2. Cargo-based package’s .mk file

Buildroot does not (yet) provide a dedicated package infrastructure for --Cargo-based packages. So, we will explain how to write a .mk file for such a --package. Let’s start with an example:

01: ################################################################################
--02: #
--03: # foo
--04: #
--05: ################################################################################
--06:
--07: FOO_VERSION = 1.0
--08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz
--09: FOO_SITE = http://www.foosoftware.org/download
--10: FOO_LICENSE = GPL-3.0+
--11: FOO_LICENSE_FILES = COPYING
--12:
--13: FOO_DEPENDENCIES = host-rustc
--14:
--15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo
--16:
--17: FOO_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(FOO_CARGO_MODE)
--18:
--19: FOO_CARGO_OPTS = \
--20:     $(if $(BR2_ENABLE_DEBUG),,--release) \
--21:     --target=$(RUSTC_TARGET_NAME) \
--22:     --manifest-path=$(@D)/Cargo.toml
--23:
--24: define FOO_BUILD_CMDS
--25:     $(TARGET_MAKE_ENV) $(FOO_CARGO_ENV) \
--26:             cargo build $(FOO_CARGO_OPTS)
--27: endef
--28:
--29: define FOO_INSTALL_TARGET_CMDS
--30:     $(INSTALL) -D -m 0755 $(@D)/$(FOO_BIN_DIR)/foo \
--31:             $(TARGET_DIR)/usr/bin/foo
--32: endef
--33:
--34: $(eval $(generic-package))

The Makefile starts with the definition of the standard variables for package --declaration (lines 7 to 11).

As seen in line 34, it is based on the --generic-package infrastructure. So, it defines --the variables required by this particular infrastructure, where Cargo is --invoked:

  • --FOO_BUILD_CMDS: Cargo is invoked to perform the build. The options required -- to configure the cross-compilation of the package are passed via -- FOO_CONF_OPTS. --
  • --FOO_INSTALL_TARGET_CMDS: The binary executable generated is installed on -- the target. --

In order to have Cargo available for the build, FOO_DEPENDENCIES needs to --contain host-cargo.

To sum it up, to add a new Cargo-based package, the Makefile example can be --copied verbatim then edited to replace all occurences of FOO with the --uppercase name of the new package and update the values of the standard --variables.

18.16.3. About Dependencies Management

A crate can depend on other libraries from crates.io or git repositories, listed --in its Cargo.toml file. Before starting a build, Cargo usually downloads --automatically them. This step can also be performed independently, via the --cargo fetch command.

Cargo maintains a local cache of the registry index and of git checkouts of the --crates, whose location is given by $CARGO_HOME. As seen in the package --Makefile example at line 15, this environment variable is set to --$(HOST_DIR)/share/cargo.

This dependency download mechanism is not convenient when performing an offline --build, as Cargo will fail to fetch the dependencies. In that case, it is advised --to generate a tarball of the dependencies using the cargo vendor and add it to --FOO_EXTRA_DOWNLOADS.

18.17. Infrastructure for Go packages

This infrastructure applies to Go packages that use the standard --build system and use bundled dependencies.

18.17.1. golang-package tutorial

First, let’s see how to write a .mk file for a go package, --with an example :

01: ################################################################################
--02: #
--03: # foo
--04: #
--05: ################################################################################
--06:
--07: FOO_VERSION = 1.0
--08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION))
--09: FOO_LICENSE = BSD-3-Clause
--10: FOO_LICENSE_FILES = LICENSE
--11:
--12: $(eval $(golang-package))

On line 7, we declare the version of the package.

On line 8, we declare the upstream location of the package, here --fetched from Github, since a large number of Go packages are hosted on --Github.

On line 9 and 10, we give licensing details about the package.

Finally, on line 12, we invoke the golang-package macro that --generates all the Makefile rules that actually allow the package to be --built.

18.17.2. golang-package reference

In their Config.in file, packages using the golang-package --infrastructure should depend on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS --because Buildroot will automatically add a dependency on host-go --to such packages. --If you need CGO support in your package, you must add a dependency on --BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS.

The main macro of the Go package infrastructure is --golang-package. It is similar to the generic-package macro. The --ability to build host packages is also available, with the --host-golang-package macro. --Host packages built by host-golang-package macro should depend on --BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS.

Just like the generic infrastructure, the Go infrastructure works --by defining a number of variables before calling the golang-package.

All the package metadata information variables that exist in the --generic package infrastructure also --exist in the Go infrastructure: FOO_VERSION, FOO_SOURCE, --FOO_PATCH, FOO_SITE, FOO_SUBDIR, FOO_DEPENDENCIES, --FOO_LICENSE, FOO_LICENSE_FILES, FOO_INSTALL_STAGING, etc.

Note that it is not necessary to add host-go in the --FOO_DEPENDENCIES variable of a package, since this basic dependency --is automatically added as needed by the Go package infrastructure.

A few additional variables, specific to the Go 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.

  • --The package must specify its Go module name in the FOO_GOMOD -- variable. If not specified, it defaults to -- URL-domain/1st-part-of-URL/2nd-part-of-URL, e.g FOO_GOMOD will -- take the value github.com/bar/foo for a package that specifies -- FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)). The Go package -- infrastructure will automatically generate a minimal go.mod file -- in the package source tree if it doesn’t exist. --
  • --FOO_LDFLAGS and FOO_TAGS can be used to pass respectively the -- LDFLAGS or the TAGS to the go build command. --
  • --FOO_BUILD_TARGETS can be used to pass the list of targets that -- should be built. If FOO_BUILD_TARGETS is not specified, it -- defaults to .. We then have two cases: --

    • --FOO_BUILD_TARGETS is .. In this case, we assume only one binary -- will be produced, and that by default we name it after the package -- name. If that is not appropriate, the name of the produced binary -- can be overridden using FOO_BIN_NAME. --
    • --FOO_BUILD_TARGETS is not .. In this case, we iterate over the -- values to build each target, and for each produced a binary that is -- the non-directory component of the target. For example if -- FOO_BUILD_TARGETS = cmd/docker cmd/dockerd the binaries produced -- are docker and dockerd. --
  • --FOO_INSTALL_BINS can be used to pass the list of binaries that -- should be installed in /usr/bin on the target. If -- FOO_INSTALL_BINS is not specified, it defaults to the lower-case -- name of package. --

With the Go infrastructure, all the steps required to build and --install the packages are already defined, and they generally work well --for most Go-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 Section 18.22, “Hooks available in the various build steps†for details. --
  • --By overriding one of the steps. For example, even if the Go -- infrastructure is used, if the package .mk file defines its own -- FOO_BUILD_CMDS variable, it will be used instead of the default Go -- one. However, using this method should be restricted to very -- specific cases. Do not use it in the general case. --

18.18. Infrastructure for QMake-based packages

18.18.1. qmake-package tutorial

First, let’s see how to write a .mk file for a QMake-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_CONF_OPTS = QT_CONFIG+=bar QT_CONFIG-=baz
--11: LIBFOO_DEPENDENCIES = bar
--12:
--13: $(eval $(qmake-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 what options to enable for libfoo.

On line 11, we tell Buildroot the dependencies of libfoo.

Finally, on line line 13, we invoke the qmake-package --macro that generates all the Makefile rules that actually allows the --package to be built.

18.18.2. qmake-package reference

The main macro of the QMake package infrastructure is qmake-package. --It is similar to the generic-package macro.

Just like the generic infrastructure, the QMake infrastructure works --by defining a number of variables before calling the qmake-package --macro.

First, all the package metadata information variables that exist in --the generic infrastructure also exist in the QMake infrastructure: --LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, --LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, --LIBFOO_INSTALL_TARGET.

An additional variable, specific to the QMake infrastructure, can --also be defined.

  • --LIBFOO_CONF_ENV, to specify additional environment variables to -- pass to the qmake script for the configuration step. By default, empty. --
  • --LIBFOO_CONF_OPTS, to specify additional options to pass to the -- qmake script for the configuration step. By default, empty. --
  • --LIBFOO_MAKE_ENV, to specify additional environment variables to the -- make command during the build and install steps. By default, empty. --
  • --LIBFOO_MAKE_OPTS, to specify additional targets to pass to the -- make command during the build step. By default, empty. --
  • --LIBFOO_INSTALL_STAGING_OPTS, to specify additional targets to pass -- to the make command during the staging installation step. By default, -- install. --
  • --LIBFOO_INSTALL_TARGET_OPTS, to specify additional targets to pass -- to the make command during the target installation step. By default, -- install. --
  • --LIBFOO_SYNC_QT_HEADERS, to run syncqt.pl before qmake. Some packages -- need this to have a properly populated include directory before -- running the build. --

18.19. Infrastructure for packages building kernel modules

Buildroot offers a helper infrastructure to make it easy to write packages that --build and install Linux kernel modules. Some packages only contain a kernel --module, other packages contain programs and libraries in addition to kernel --modules. Buildroot’s helper infrastructure supports either case.

18.19.1. kernel-module tutorial

Let’s start with an example on how to prepare a simple package that only --builds a kernel module, and no other component:

01: ################################################################################
--02: #
--03: # foo
--04: #
--05: ################################################################################
--06:
--07: FOO_VERSION = 1.2.3
--08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz
--09: FOO_SITE = http://www.foosoftware.org/download
--10: FOO_LICENSE = GPL-2.0
--11: FOO_LICENSE_FILES = COPYING
--12:
--13: $(eval $(kernel-module))
--14: $(eval $(generic-package))

Lines 7-11 define the usual meta-data to specify the version, archive name, --remote URI where to find the package source, licensing information.

On line 13, we invoke the kernel-module helper infrastructure, that --generates all the appropriate Makefile rules and variables to build --that kernel module.

Finally, on line 14, we invoke the --generic-package infrastructure.

The dependency on linux is automatically added, so it is not needed to --specify it in FOO_DEPENDENCIES.

What you may have noticed is that, unlike other package infrastructures, --we explicitly invoke a second infrastructure. This allows a package to --build a kernel module, but also, if needed, use any one of other package --infrastructures to build normal userland components (libraries, --executables…). Using the kernel-module infrastructure on its own is --not sufficient; another package infrastructure must be used.

Let’s look at a more complex example:

01: ################################################################################
--02: #
--03: # foo
--04: #
--05: ################################################################################
--06:
--07: FOO_VERSION = 1.2.3
--08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz
--09: FOO_SITE = http://www.foosoftware.org/download
--10: FOO_LICENSE = GPL-2.0
--11: FOO_LICENSE_FILES = COPYING
--12:
--13: FOO_MODULE_SUBDIRS = driver/base
--14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED)
--15:
--16: ifeq ($(BR2_PACKAGE_LIBBAR),y)
--17: FOO_DEPENDENCIES = libbar
--18: FOO_CONF_OPTS = --enable-bar
--19: FOO_MODULE_SUBDIRS += driver/bar
--20: else
--21: FOO_CONF_OPTS = --disable-bar
--22: endif
--23:
--24: $(eval $(kernel-module))
--26: $(eval $(autotools-package))

Here, we see that we have an autotools-based package, that also builds --the kernel module located in sub-directory driver/base and, if libbar --is enabled, the kernel module located in sub-directory driver/bar, and --defines the variable KVERSION to be passed to the Linux buildsystem --when building the module(s).

18.19.2. kernel-module reference

The main macro for the kernel module infrastructure is kernel-module. --Unlike other package infrastructures, it is not stand-alone, and requires --any of the other *-package macros be called after it.

The kernel-module macro defines post-build and post-target-install --hooks to build the kernel modules. If the package’s .mk needs access --to the built kernel modules, it should do so in a post-build hook, --registered after the call to kernel-module. Similarly, if the --package’s .mk needs access to the kernel module after it has been --installed, it should do so in a post-install hook, registered after --the call to kernel-module. Here’s an example:

$(eval $(kernel-module))
--
--define FOO_DO_STUFF_WITH_KERNEL_MODULE
--    # Do something with it...
--endef
--FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE
--
--$(eval $(generic-package))

Finally, unlike the other package infrastructures, there is no --host-kernel-module variant to build a host kernel module.

The following additional variables can optionally be defined to further --configure the build of the kernel module:

  • --FOO_MODULE_SUBDIRS may be set to one or more sub-directories (relative -- to the package source top-directory) where the kernel module sources are. -- If empty or not set, the sources for the kernel module(s) are considered -- to be located at the top of the package source tree. --
  • --FOO_MODULE_MAKE_OPTS may be set to contain extra variable definitions -- to pass to the Linux buildsystem. --

You may also reference (but you may not set!) those variables:

  • --LINUX_DIR contains the path to where the Linux kernel has been -- extracted and built. --
  • --LINUX_VERSION contains the version string as configured by the user. --
  • --LINUX_VERSION_PROBED contains the real version string of the kernel, -- retrieved with running make -C $(LINUX_DIR) kernelrelease --
  • --KERNEL_ARCH contains the name of the current architecture, like arm, -- mips… --

18.20. Infrastructure for asciidoc documents

The Buildroot manual, which you are currently reading, is entirely written --using the 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 --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.

18.20.1. 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 $(pkgdir)/*))
--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.

18.20.2. 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 Section 18.22, “Hooks available in the various build steps†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. ditaa or -- aafigure). --
  • --FOO_CHECK_DEPENDENCIES_<FMT>_HOOKS, to run additional tests for -- the specified format <FMT> (see the list of rendered formats, above). --

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 $(pkgdir)/*))
--08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/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))

18.21. Infrastructure specific to the Linux kernel package

The Linux kernel package can use some specific infrastructures based on package --hooks for building Linux kernel tools or/and building Linux kernel extensions.

18.21.1. linux-kernel-tools

Buildroot offers a helper infrastructure to build some userspace tools --for the target available within the Linux kernel sources. Since their --source code is part of the kernel source code, a special package, --linux-tools, exists and re-uses the sources of the Linux kernel that --runs on the target.

Let’s look at an example of a Linux tool. For a new Linux tool named --foo, create a new menu entry in the existing --package/linux-tools/Config.in. This file will contain the option --descriptions related to each kernel tool that will be used and --displayed in the configuration tool. It would basically look like:

01: config BR2_PACKAGE_LINUX_TOOLS_FOO
--02:     bool "foo"
--03:     select BR2_PACKAGE_LINUX_TOOLS
--04:     help
--05:       This is a comment that explains what foo kernel tool is.
--06:
--07:       http://foosoftware.org/foo/

The name of the option starts with the prefix BR2_PACKAGE_LINUX_TOOLS_, --followed by the uppercase name of the tool (like is done for packages).

Note. Unlike other packages, the linux-tools package options appear in the --linux kernel menu, under the Linux Kernel Tools sub-menu, not under --the Target packages main menu.

Then for each linux tool, add a new .mk.in file named --package/linux-tools/linux-tool-foo.mk.in. It would basically look like:

01: ################################################################################
--02: #
--03: # foo
--04: #
--05: ################################################################################
--06:
--07: LINUX_TOOLS += foo
--08:
--09: FOO_DEPENDENCIES = libbbb
--10:
--11: define FOO_BUILD_CMDS
--12:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo
--13: endef
--14:
--15: define FOO_INSTALL_STAGING_CMDS
--16:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
--17:             DESTDIR=$(STAGING_DIR) \
--18:             foo_install
--19: endef
--20:
--21: define FOO_INSTALL_TARGET_CMDS
--22:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
--23:             DESTDIR=$(TARGET_DIR) \
--24:             foo_install
--25: endef

On line 7, we register the Linux tool foo to the list of available --Linux tools.

On line 9, we specify the list of dependencies this tool relies on. These --dependencies are added to the Linux package dependencies list only when the --foo tool is selected.

The rest of the Makefile, lines 11-25 defines what should be done at the --different steps of the Linux tool build process like for a --generic package. They will actually be --used only when the foo tool is selected. The only supported commands are --_BUILD_CMDS, _INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS.

Note. One must not call $(eval $(generic-package)) or any other --package infrastructure! Linux tools are not packages by themselves, --they are part of the linux-tools package.

18.21.2. linux-kernel-extensions

Some packages provide new features that require the Linux kernel tree --to be modified. This can be in the form of patches to be applied on --the kernel tree, or in the form of new files to be added to the --tree. The Buildroot’s Linux kernel extensions infrastructure provides --a simple solution to automatically do this, just after the kernel --sources are extracted and before the kernel patches are --applied. Examples of extensions packaged using this mechanism are the --real-time extensions Xenomai and RTAI, as well as the set of --out-of-tree LCD screens drivers fbtft.

Let’s look at an example on how to add a new Linux extension foo.

First, create the package foo that provides the extension: this --package is a standard package; see the previous chapters on how to --create such a package. This package is in charge of downloading the --sources archive, checking the hash, defining the licence informations --and building user space tools if any.

Then create the Linux extension proper: create a new menu entry in --the existing linux/Config.ext.in. This file contains the option --descriptions related to each kernel extension that will be used and --displayed in the configuration tool. It would basically look like:

01: config BR2_LINUX_KERNEL_EXT_FOO
--02:     bool "foo"
--03:     help
--04:       This is a comment that explains what foo kernel extension is.
--05:
--06:       http://foosoftware.org/foo/

Then for each linux extension, add a new .mk file named --linux/linux-ext-foo.mk. It should basically contain:

01: ################################################################################
--02: #
--03: # foo
--04: #
--05: ################################################################################
--06:
--07: LINUX_EXTENSIONS += foo
--08:
--09: define FOO_PREPARE_KERNEL
--10:     $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D)
--11: endef

On line 7, we add the Linux extension foo to the list of available --Linux extensions.

On line 9-11, we define what should be done by the extension to modify --the Linux kernel tree; this is specific to the linux extension and can --use the variables defined by the foo package, like: $(FOO_DIR) or --$(FOO_VERSION)… as well as all the Linux variables, like: --$(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… --See the definition of those kernel variables.

18.22. Hooks available in the various build steps

The generic infrastructure (and as a result also the derived autotools --and cmake infrastructures) allow packages to specify hooks. --These define further actions to perform after existing steps. --Most hooks aren’t really useful for generic packages, since the .mk --file already has full control over the actions performed in each step --of the package construction.

The following hook points are available:

  • --LIBFOO_PRE_DOWNLOAD_HOOKS --
  • --LIBFOO_POST_DOWNLOAD_HOOKS --
  • --LIBFOO_PRE_EXTRACT_HOOKS --
  • --LIBFOO_POST_EXTRACT_HOOKS --
  • --LIBFOO_PRE_RSYNC_HOOKS --
  • --LIBFOO_POST_RSYNC_HOOKS --
  • --LIBFOO_PRE_PATCH_HOOKS --
  • --LIBFOO_POST_PATCH_HOOKS --
  • --LIBFOO_PRE_CONFIGURE_HOOKS --
  • --LIBFOO_POST_CONFIGURE_HOOKS --
  • --LIBFOO_PRE_BUILD_HOOKS --
  • --LIBFOO_POST_BUILD_HOOKS --
  • --LIBFOO_PRE_INSTALL_HOOKS (for host packages only) --
  • --LIBFOO_POST_INSTALL_HOOKS (for host packages only) --
  • --LIBFOO_PRE_INSTALL_STAGING_HOOKS (for target packages only) --
  • --LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) --
  • --LIBFOO_PRE_INSTALL_TARGET_HOOKS (for target packages only) --
  • --LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) --
  • --LIBFOO_PRE_INSTALL_IMAGES_HOOKS --
  • --LIBFOO_POST_INSTALL_IMAGES_HOOKS --
  • --LIBFOO_PRE_LEGAL_INFO_HOOKS --
  • --LIBFOO_POST_LEGAL_INFO_HOOKS --

These variables are lists of variable names containing actions to be --performed at this hook point. This allows several hooks to be --registered at a given hook point. Here is an example:

define LIBFOO_POST_PATCH_FIXUP
--        action1
--        action2
--endef
--
--LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP

18.22.1. Using the POST_RSYNC hook

The POST_RSYNC hook is run only for packages that use a local source, --either through the local site method or the OVERRIDE_SRCDIR --mechanism. In this case, package sources are copied using rsync from --the local location into the buildroot build directory. The rsync --command does not copy all files from the source directory, though. --Files belonging to a version control system, like the directories --.git, .hg, etc. are not copied. For most packages this is --sufficient, but a given package can perform additional actions using --the POST_RSYNC hook.

In principle, the hook can contain any command you want. One specific --use case, though, is the intentional copying of the version control --directory using rsync. The rsync command you use in the hook can, among --others, use the following variables:

  • --$(SRCDIR): the path to the overridden source directory --
  • --$(@D): the path to the build directory --

18.22.2. Target-finalize hook

Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. --These hooks are run after all packages are built, but before the --filesystem images are generated. They are seldom used, and your --package probably do not need them.

18.23. 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. --
  2. --Add $(TARGET_NLS_DEPENDENCIES) to the package -- <pkg>_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. --
  3. --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. --

18.24. Tips and tricks

18.24.1. Package name, config entry name and makefile variable relationship

In Buildroot, there is some relationship between:

  • --the package name, which is the package directory name (and the -- name of the *.mk file); --
  • --the config entry name that is declared in the Config.in file; --
  • --the makefile variable prefix. --

It is mandatory to maintain consistency between these elements, --using the following rules:

  • --the package directory and the *.mk name are the package name -- itself (e.g.: package/foo-bar_boo/foo-bar_boo.mk); --
  • --the make target name is the package name itself (e.g.: -- foo-bar_boo); --
  • --the config entry is the upper case package name with . and - -- characters substituted with _, prefixed with BR2_PACKAGE_ (e.g.: -- BR2_PACKAGE_FOO_BAR_BOO); --
  • --the *.mk file variable prefix is the upper case package name -- with . and - characters substituted with _ (e.g.: -- FOO_BAR_BOO_VERSION). --

18.24.2. How to check the coding style

Buildroot provides a script in utils/check-package that checks new or --changed files for coding style. It is not a complete language validator, --but it catches many common mistakes. It is meant to run in the actual --files you created or modified, before creating the patch for submission.

This script can be used for packages, filesystem makefiles, Config.in --files, etc. It does not check the files defining the package --infrastructures and some other files containing similar common code.

To use it, run the check-package script, by telling which files you --created or changed:

$ ./utils/check-package package/new-package/*

If you have the utils directory in your path you can also run:

$ cd package/new-package/
--$ check-package *

The tool can also be used for packages in a br2-external:

$ check-package -b /path/to/br2-ext-tree/package/my-package/*

18.24.3. How to test your package

Once you have added your new package, it is important that you test it --under various conditions: does it build for all architectures? Does it --build with the different C libraries? Does it need threads, NPTL? And --so on…

Buildroot runs autobuilders which --continuously test random configurations. However, these only build the --master branch of the git tree, and your new fancy package is not yet --there.

Buildroot provides a script in utils/test-pkg that uses the same base --configurations as used by the autobuilders so you can test your package --in the same conditions.

First, create a config snippet that contains all the necessary options --needed to enable your package, but without any architecture or toolchain --option. For example, let’s create a config snippet that just enables --libcurl, without any TLS backend:

$ cat libcurl.config
--BR2_PACKAGE_LIBCURL=y

If your package needs more configuration options, you can add them to the --config snippet. For example, here’s how you would test libcurl with --openssl as a TLS backend and the curl program:

$ cat libcurl.config
--BR2_PACKAGE_LIBCURL=y
--BR2_PACKAGE_LIBCURL_CURL=y
--BR2_PACKAGE_OPENSSL=y

Then run the test-pkg script, by telling it what config snippet to use --and what package to test:

$ ./utils/test-pkg -c libcurl.config -p libcurl

By default, test-pkg will build your package against a subset of the --toolchains used by the autobuilders, which has been selected by the --Buildroot developers as being the most useful and representative --subset. If you want to test all toolchains, pass the -a option. Note --that in any case, internal toolchains are excluded as they take too --long to build.

The output lists all toolchains that are tested and the corresponding --result (excerpt, results are fake):

$ ./utils/test-pkg -c libcurl.config -p libcurl
--                armv5-ctng-linux-gnueabi [ 1/11]: OK
--              armv7-ctng-linux-gnueabihf [ 2/11]: OK
--                        br-aarch64-glibc [ 3/11]: SKIPPED
--                           br-arcle-hs38 [ 4/11]: SKIPPED
--                            br-arm-basic [ 5/11]: FAILED
--                  br-arm-cortex-a9-glibc [ 6/11]: OK
--                   br-arm-cortex-a9-musl [ 7/11]: FAILED
--                   br-arm-cortex-m4-full [ 8/11]: OK
--                             br-arm-full [ 9/11]: OK
--                    br-arm-full-nothread [10/11]: FAILED
--                      br-arm-full-static [11/11]: OK
--11 builds, 2 skipped, 2 build failed, 1 legal-info failed

The results mean:

  • --OK: the build was successful. --
  • --SKIPPED: one or more configuration options listed in the config -- snippet were not present in the final configuration. This is due to -- options having dependencies not satisfied by the toolchain, such as -- for example a package that depends on BR2_USE_MMU with a noMMU -- toolchain. The missing options are reported in missing.config in -- the output build directory (~/br-test-pkg/TOOLCHAIN_NAME/ by -- default). --
  • --FAILED: the build failed. Inspect the logfile file in the output -- build directory to see what went wrong: --

    • --the actual build failed, --
    • --the legal-info failed, --
    • --one of the preliminary steps (downloading the config file, applying -- the configuration, running dirclean for the package) failed. --

When there are failures, you can just re-run the script with the same --options (after you fixed your package); the script will attempt to --re-build the package specified with -p for all toolchains, without --the need to re-build all the dependencies of that package.

The test-pkg script accepts a few options, for which you can get some --help by running:

$ ./utils/test-pkg -h

18.24.4. How to add a package from GitHub

Packages on GitHub often don’t have a download area with release tarballs. --However, it is possible to download tarballs directly from the repository --on GitHub. As GitHub is known to have changed download mechanisms in the --past, the github helper function should be used as shown below.

# Use a tag or a full commit ID
--FOO_VERSION = 1.0
--FOO_SITE = $(call github,<user>,<package>,v$(FOO_VERSION))

Notes

  • --The FOO_VERSION can either be a tag or a commit ID. --
  • --The tarball name generated by github matches the default one from -- Buildroot (e.g.: foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), -- so it is not necessary to specify it in the .mk file. --
  • --When using a commit ID as version, you should use the full 40 hex characters. --
  • --When the tag contains a prefix such as v in v1.0, then the -- VERSION variable should contain just 1.0, and the v should be -- added directly in the SITE variable, as illustrated above. This -- ensures that the VERSION variable value can be used to match -- against release-monitoring.org -- results. --

If the package you wish to add does have a release section on GitHub, the --maintainer may have uploaded a release tarball, or the release may just point --to the automatically generated tarball from the git tag. If there is a --release tarball uploaded by the maintainer, we prefer to use that since it --may be slightly different (e.g. it contains a configure script so we don’t --need to do AUTORECONF).

You can see on the release page if it’s an uploaded tarball or a git tag:

github_hash_mongrel2.png
  • --If it looks like the image above then it was uploaded by the -- maintainer and you should use that link (in that example: -- mongrel2-v1.9.2.tar.bz2) to specify FOO_SITE, and not use the -- github helper. --
  • --On the other hand, if there’s is only the "Source code" link, then -- it’s an automatically generated tarball and you should use the -- github helper function. --

18.24.5. How to add a package from Gitlab

In a similar way to the github macro described in --Section 18.24.4, “How to add a package from GitHubâ€, Buildroot also provides the gitlab macro --to download from Gitlab repositories. It can be used to download --auto-generated tarballs produced by Gitlab, either for specific tags --or commits:

# Use a tag or a full commit ID
--FOO_VERSION = 1.0
--FOO_SITE = $(call gitlab,<user>,<package>,v$(FOO_VERSION))

By default, it will use a .tar.gz tarball, but Gitlab also provides --.tar.bz2 tarballs, so by adding a <pkg>_SOURCE variable, this --.tar.bz2 tarball can be used:

# Use a tag or a full commit ID
--FOO_VERSION = 1.0
--FOO_SITE = $(call gitlab,<user>,<package>,v$(FOO_VERSION))
--FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2

If there is a specific tarball uploaded by the upstream developers in --https://gitlab.com/<project>/releases/, do not use this macro, but --rather use directly the link to the tarball.

18.25. Conclusion

As you can see, adding a software package to Buildroot is simply a --matter of writing a Makefile using an existing example and modifying it --according to the compilation process required by the package.

If you package software that might be useful for other people, don’t --forget to send a patch to the Buildroot mailing list (see --Section 22.5, “Submitting patchesâ€)!

Chapter 19. 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.

19.1. Providing patches

19.1.1. Downloaded

If it is necessary to apply a patch that is available for download, then add it --to the <packagename>_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 <packagename>_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 <packagename>.hash --file.

This method is typically used for packages from Debian.

19.1.2. 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 <number>-<description>.patch.

Notes

  • --The patch files coming with Buildroot should not contain any package version -- reference in their filename. --
  • --The field <number> 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 --
  • --Previously, it was mandatory for patches to be prefixed with the name of -- the package, like <package>-<number>-<description>.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. --

19.1.3. 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 Section 9.8, “Adding project-specific patches†for --details.

19.2. How patches are applied

  1. --Run the <packagename>_PRE_PATCH_HOOKS commands if defined; --
  2. --Cleanup the build directory, removing any existing *.rej files; --
  3. --If <packagename>_PATCH is defined, then patches from these -- tarballs are applied; --
  4. --If there are some *.patch files in the package’s Buildroot -- directory or in a package subdirectory named <packageversion>, -- 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: -- <number>-<description>.patch, where <number> refers to the -- apply order. --
  5. --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. --
  6. --Run the <packagename>_POST_PATCH_HOOKS commands if defined. --

If something goes wrong in the steps 3 or 4, then the build fails.

19.3. Format and licensing of the package patches

Patches are released under the same license as the software they apply --to (see Section 13.2, “Complying with the Buildroot licenseâ€).

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 <john.doe@noname.org>
--
----- 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"])

19.4. 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: <some commit id>

or

Fetch from: <some url>

It is also sensible to add a few words about any changes to the patch --that may have been necessary.

Chapter 20. Download infrastructure

TODO

Chapter 21. Debugging Buildroot

It is possible to instrument the steps Buildroot does when building --packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain --the path of one or more scripts (or other executables), in a --space-separated list, you want called before and after each step. The --scripts are called in sequence, with three parameters:

  • --start or end to denote the start (resp. the end) of a step; --
  • --the name of the step about to be started, or which just ended; --
  • --the name of the package. --

For example :

make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2"

The list of steps is:

  • --extract --
  • --patch --
  • --configure --
  • --build --
  • --install-host, when a host-package is installed in $(HOST_DIR) --
  • --install-target, when a target-package is installed in $(TARGET_DIR) --
  • --install-staging, when a target-package is installed in $(STAGING_DIR) --
  • --install-image, when a target-package installs files in $(BINARIES_DIR) --

The script has access to the following variables:

  • --BR2_CONFIG: the path to the Buildroot .config file --
  • --HOST_DIR, STAGING_DIR, TARGET_DIR: see -- Section 18.5.2, “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 --

Chapter 22. 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 --Chapter 5, 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 Chapter 3, Getting Buildroot --for more information on obtaining a Buildroot git tree.

22.1. Reproducing, analyzing and fixing bugs

A first way of contributing is to have a look at the open bug reports in --the 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.

22.2. 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: --

    1. --Check if you can reproduce the problem by building with the same -- configuration. You can do this manually, or use the -- 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. --
    2. --Analyze the problem and create a fix. --
    3. --Verify that the problem is really fixed by starting from a clean -- Buildroot tree and only applying your fix. --
    4. --Send the fix to the Buildroot mailing list (see -- Section 22.5, “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

22.3. 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 --Section 22.3.1, “Applying Patches from 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 Section 22.3.1, “Applying Patches from Patchwork†for more --information on using Buildroot’s Patchwork website to apply patches.

22.3.1. 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 <test-branch-name>
--$ wget -O - <mbox-url> | git am

Another option for applying patches is to create a bundle. A bundle is --a set of patches that you can group together using the patchwork --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.

22.4. 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 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.

22.5. 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.

22.5.1. 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 --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 <your@email.address> 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 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 --<packagename>: 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 <packagename>: bump to version <new --version>. If the new version only contains security updates compared --to the existing one, the summary should be <packagename>: security --bump to version <new 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 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 --Section 18.24.2, “How to check the coding style†for more information).

22.5.2. 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 Chapter 23, DEVELOPERS file and get-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.

22.5.3. 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 [4]; --
  • --whenever you feel it will help presenting your work, your choices, -- the review process, etc. --

22.5.4. 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 <your@email.address>
-----
--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.

22.5.5. 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 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 <john.doe@example.net>
--
-----
--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 <n> (where <n> is the --version number):

$ git format-patch -v4 -M -s -o outgoing origin/master

When you provide a new version of a patch, please mark the old one as --superseded in patchwork. You need to --create an account on 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 patchwork should --match the one you use for sending patches to the mailing list.

You can also add the --in-reply-to <message-id> 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 --patchwork. The advantage of --in-reply-to is that patchwork will automatically mark the previous --version of the patch as superseded.

22.6. Reporting issues/bugs or getting help

Before reporting any issue, please check in --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 bug tracker or by --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 Section 9.3, “Storing the Buildroot configurationâ€).

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/

22.7. 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.

22.7.1. 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.

22.7.2. 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.

22.7.3. 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 <name> 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:<name>-runtime-tests
  • --To trigger one or several test case jobs, push a branch that ends -- with the complete test case name -- (tests.init.test_busybox.TestInitSystemBusyboxRo) or with the name -- of a category of tests (tests.init.test_busybox): --
 $ git push gitlab HEAD:<name>-<test case name>

Example to run one test:

 $ git push gitlab HEAD:foo-tests.init.test_busybox.TestInitSystemBusyboxRo

Examples to run several tests part of the same group:

 $ git push gitlab HEAD:foo-tests.init.test_busybox
-- $ git push gitlab HEAD:foo-tests.init


[4] RFC: (Request for comments) change proposal

Chapter 23. DEVELOPERS file and get-developers

The main Buildroot directory contains a file named DEVELOPERS that --lists the developers involved with various areas of Buildroot. Thanks --to this file, the get-developers tool allows to:

  • --Calculate the list of developers to whom patches should be sent, by -- parsing the patches and matching the modified files with the -- relevant developers. See Section 22.5, “Submitting patches†for details. --
  • --Find which developers are taking care of a given architecture or -- package, so that they can be notified when a build failure occurs on -- this architecture or package. This is done in interaction with -- Buildroot’s autobuild infrastructure. --

We ask developers adding new packages, new boards, or generally new --functionality in Buildroot, to register themselves in the DEVELOPERS --file. As an example, we expect a developer contributing a new package --to include in his patch the appropriate modification to the --DEVELOPERS file.

The DEVELOPERS file format is documented in detail inside the file --itself.

The get-developers tool, located in utils/ allows to use --the DEVELOPERS file for various tasks:

  • --When passing one or several patches as command line argument, -- get-developers will return the appropriate git send-email -- command. If the -e option is passed, only the email addresses are -- printed in a format suitable for git send-email --cc-cmd. --
  • --When using the -a <arch> command line option, get-developers will -- return the list of developers in charge of the given architecture. --
  • --When using the -p <package> command line option, get-developers -- will return the list of developers in charge of the given package. --
  • --When using the -c command line option, get-developers will look -- at all files under version control in the Buildroot repository, and -- list the ones that are not handled by any developer. The purpose of -- this option is to help completing the DEVELOPERS file. --
  • --When using without any arguments, it validates the integrity of the -- DEVELOPERS file and will note WARNINGS for items that don’t match. --

Chapter 24. Release Engineering

24.1. Releases

The Buildroot project makes quarterly releases with monthly bugfix --releases. The first release of each year is a long term support --release, LTS.

  • --Quarterly releases: 2020.02, 2020.05, 2020.08, and 2020.11 --
  • --Bugfix releases: 2020.02.1, 2020.02.2, … --
  • --LTS releases: 2020.02, 2021.02, … --

Releases are supported until the first bugfix release of the next --release, e.g., 2020.05.x is EOL when 2020.08.1 is released.

LTS releases are supported until the first bugfix release of the next --LTS, e.g., 2020.02.x is supported until 2021.02.1 is released.

24.2. Development

Each release cycle consist of two months of development on the master --branch and one month stabilization before the release is made. During --this phase no new features are added to master, only bugfixes.

The stabilization phase starts with tagging -rc1, and every week until --the release, another release candidate is tagged.

To handle new features and version bumps during the stabilization phase, --a next branch may be created for these features. Once the current --release has been made, the next branch is merged into master and --the development cycle for the next release continues there.

Part IV. Appendix

Chapter 25. 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

Chapter 26. Makeusers syntax documentation

The syntax to create users is inspired by the makedev syntax, above, but --is specific to Buildroot.

The syntax for adding a user is a space-separated list of fields, one --user per line; the fields are:

username

uid

group

gid

password

home

shell

groups

comment

Where:

  • --username is the desired user name (aka login name) for the user. -- It can not be root, and must be unique. If set to -, then just a -- group will be created. --
  • --uid is the desired UID for the user. It must be unique, and not -- 0. If set to -1, then a unique UID will be computed by Buildroot -- in the range [1000…1999] --
  • --group is the desired name for the user’s main group. It can not -- be root. If the group does not exist, it will be created. --
  • --gid is the desired GID for the user’s main group. It must be unique, -- and not 0. If set to -1, and the group does not already exist, then -- a unique GID will be computed by Buildroot in the range [1000..1999] --
  • --password is the crypt(3)-encoded password. If prefixed with !, -- then login is disabled. If prefixed with =, then it is interpreted -- as clear-text, and will be crypt-encoded (using MD5). If prefixed with -- !=, then the password will be crypt-encoded (using MD5) and login -- will be disabled. If set to *, then login is not allowed. If set to -- -, then no password value will be set. --
  • --home is the desired home directory for the user. If set to -, no -- home directory will be created, and the user’s home will be /. -- Explicitly setting home to / is not allowed. --
  • --shell is the desired shell for the user. If set to -, then -- /bin/false is set as the user’s shell. --
  • --groups is the comma-separated list of additional groups the user -- should be part of. If set to -, then the user will be a member of -- no additional group. Missing groups will be created with an arbitrary -- gid. --
  • --comment (aka GECOS -- field) is an almost-free-form text. --

There are a few restrictions on the content of each field:

  • --except for comment, all fields are mandatory. --
  • --except for comment, fields may not contain spaces. --
  • --no field may contain a colon (:). --

If home is not -, then the home directory, and all files below, --will belong to the user and its main group.

Examples:

foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user

This will create this user:

  • --username (aka login name) is: foo --
  • --uid is computed by Buildroot --
  • --main group is: bar --
  • --main group gid is computed by Buildroot --
  • --clear-text password is: blabla, will be crypt(3)-encoded, and login is disabled. --
  • --home is: /home/foo --
  • --shell is: /bin/sh --
  • --foo is also a member of groups: alpha and bravo --
  • --comment is: Foo user --
test 8000 wheel -1 = - /bin/sh - Test user

This will create this user:

  • --username (aka login name) is: test --
  • --uid is : 8000 --
  • --main group is: wheel --
  • --main group gid is computed by Buildroot, and will use the value defined in the rootfs skeleton --
  • --password is empty (aka no password). --
  • --home is / but will not belong to test --
  • --shell is: /bin/sh --
  • --test is not a member of any additional groups --
  • --comment is: Test user -- --

Chapter 27. 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.

27.1. General approach

To migrate from an older Buildroot version, take the following steps.

  1. --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. --
  2. --Review the specific migration notes below and make the required -- adaptations to external packages and custom build scripts. --
  3. --Update Buildroot. --
  4. --Run make menuconfig starting from the existing .config. --
  5. --If anything is enabled in the Legacy menu, check its help text, -- unselect it, and save the configuration. --
  6. --For more details, review the git commit messages for the packages that -- you need. Change into the packages directory and run -- git log <old version>.. — <your packages>. --
  7. --Build in the new Buildroot environment. --
  8. --Fix build issues in external packages (usually due to updated -- dependencies). --
  9. --Run make graph-size. --
  10. --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. --
  11. --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. --

27.2. 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 Section 9.2, “Keeping customizations outside of Buildrootâ€).

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.

27.3. 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.

-\ No newline at end of file -diff --git a/docs.original/manual/manual.mk b/docs.original/manual/manual.mk -deleted file mode 100644 -index 1d03b213db..0000000000 ---- a/docs.original/manual/manual.mk -+++ /dev/null -@@ -1,10 +0,0 @@ --################################################################################ --# --# The Buildroot manual --# --################################################################################ -- --MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.txt) $(wildcard docs/images/*)) --MANUAL_RESOURCES = $(TOPDIR)/docs/images -- --$(eval $(call asciidoc-document)) -diff --git a/docs.original/manual/manual.pdf b/docs.original/manual/manual.pdf -deleted file mode 100644 -index a547426323..0000000000 -Binary files a/docs.original/manual/manual.pdf and /dev/null differ -diff --git a/docs.original/manual/manual.text b/docs.original/manual/manual.text -deleted file mode 100644 -index e31d3f86aa..0000000000 ---- a/docs.original/manual/manual.text -+++ /dev/null -@@ -1,8468 +0,0 @@ -- ----------------------------------------------------------------------- -- --The Buildroot user manual -- ----------------------------------------------------------------------- ----------------------------------------------------------------------- -- --Table of Contents -- -- --I. Getting started -- -- 1. About Buildroot -- 2. System requirements -- -- 2.1. Mandatory packages -- 2.2. Optional packages -- -- 3. Getting Buildroot -- 4. Buildroot quick start -- 5. Community resources -- --II. User guide -- -- 6. Buildroot configuration -- -- 6.1. Cross-compilation toolchain -- 6.2. /dev management -- 6.3. init system -- -- 7. Configuration of other components -- 8. General Buildroot usage -- -- 8.1. make tips -- 8.2. Understanding when a full rebuild is necessary -- 8.3. Understanding how to rebuild packages -- 8.4. Offline builds -- 8.5. Building out-of-tree -- 8.6. Environment variables -- 8.7. Dealing efficiently with filesystem images -- 8.8. Details about packages -- 8.9. Graphing the dependencies between packages -- 8.10. Graphing the build duration -- 8.11. Graphing the filesystem size contribution of packages -- 8.12. Top-level parallel build -- 8.13. Integration with Eclipse -- 8.14. Advanced usage -- -- 9. Project-specific customization -- -- 9.1. Recommended directory structure -- 9.2. Keeping customizations outside of Buildroot -- 9.3. Storing the Buildroot configuration -- 9.4. Storing the configuration of other components -- 9.5. Customizing the generated target filesystem -- 9.6. Adding custom user accounts -- 9.7. Customization after the images have been created -- 9.8. Adding project-specific patches -- 9.9. Adding project-specific packages -- 9.10. Quick guide to storing your project-specific -- customizations -- -- 10. Using SELinux in Buildroot -- -- 10.1. Enabling SELinux support -- 10.2. SELinux policy tweaking -- -- 11. Frequently Asked Questions & Troubleshooting -- -- 11.1. The boot hangs after Starting network… -- 11.2. Why is there no compiler on the target? -- 11.3. Why are there no development files on the target? -- 11.4. Why is there no documentation on the target? -- 11.5. Why are some packages not visible in the Buildroot -- config menu? -- 11.6. Why not use the target directory as a chroot directory? -- 11.7. Why doesn’t Buildroot generate binary packages (.deb, -- .ipkg…)? -- 11.8. How to speed-up the build process? -- -- 12. Known issues -- 13. Legal notice and licensing -- -- 13.1. Complying with open source licenses -- 13.2. Complying with the Buildroot license -- -- 14. Beyond Buildroot -- -- 14.1. Boot the generated images -- 14.2. Chroot -- --III. Developer guide -- -- 15. How Buildroot works -- 16. Coding style -- -- 16.1. Config.in file -- 16.2. The .mk file -- 16.3. The documentation -- 16.4. Support scripts -- -- 17. Adding support for a particular board -- 18. Adding new packages to Buildroot -- -- 18.1. Package directory -- 18.2. Config files -- 18.3. The .mk file -- 18.4. The .hash file -- 18.5. Infrastructure for packages with specific build systems -- 18.6. Infrastructure for autotools-based packages -- 18.7. Infrastructure for CMake-based packages -- 18.8. Infrastructure for Python packages -- 18.9. Infrastructure for LuaRocks-based packages -- 18.10. Infrastructure for Perl/CPAN packages -- 18.11. Infrastructure for virtual packages -- 18.12. Infrastructure for packages using kconfig for -- configuration files -- 18.13. Infrastructure for rebar-based packages -- 18.14. Infrastructure for Waf-based packages -- 18.15. Infrastructure for Meson-based packages -- 18.16. Integration of Cargo-based packages -- 18.17. Infrastructure for Go packages -- 18.18. Infrastructure for QMake-based packages -- 18.19. Infrastructure for packages building kernel modules -- 18.20. Infrastructure for asciidoc documents -- 18.21. Infrastructure specific to the Linux kernel package -- 18.22. Hooks available in the various build steps -- 18.23. Gettext integration and interaction with packages -- 18.24. Tips and tricks -- 18.25. Conclusion -- -- 19. Patching a package -- -- 19.1. Providing patches -- 19.2. How patches are applied -- 19.3. Format and licensing of the package patches -- 19.4. Integrating patches found on the Web -- -- 20. Download infrastructure -- 21. Debugging Buildroot -- 22. Contributing to Buildroot -- -- 22.1. Reproducing, analyzing and fixing bugs -- 22.2. Analyzing and fixing autobuild failures -- 22.3. Reviewing and testing patches -- 22.4. Work on items from the TODO list -- 22.5. Submitting patches -- 22.6. Reporting issues/bugs or getting help -- 22.7. Using the runtime tests framework -- -- 23. DEVELOPERS file and get-developers -- 24. Release Engineering -- -- 24.1. Releases -- 24.2. Development -- --IV. Appendix -- -- 25. Makedev syntax documentation -- 26. Makeusers syntax documentation -- 27. Migrating from older Buildroot versions -- -- 27.1. General approach -- 27.2. Migrating to 2016.11 -- 27.3. Migrating to 2017.08 -- --List of Examples -- --18.1. Config script: divine package --18.2. Config script: imagemagick package: -- -- ----------------------------------------------------------------------- -- ----------------------------------------------------------------------- -- --Buildroot 2021.08.2 manual generated on 2021-11-10 13:25:05 UTC from --git revision d815599e37 -- --The Buildroot manual is written by the Buildroot developers. It is --licensed under the GNU General Public License, version 2. Refer to --the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= --d815599e371d759b193de4207bec6f2701827db0] file in the Buildroot --sources for the full text of this license. -- --Copyright © 2004-2020 The Buildroot developers -- --Part I. Getting started -- --Table of Contents -- --1. About Buildroot --2. System requirements -- -- 2.1. Mandatory packages -- 2.2. Optional packages -- --3. Getting Buildroot --4. Buildroot quick start --5. Community resources -- --Chapter 1. About Buildroot -- --Buildroot is a tool that simplifies and automates the process of --building a complete Linux system for an embedded system, using --cross-compilation. -- --In order to achieve this, Buildroot is able to generate a --cross-compilation toolchain, a root filesystem, a Linux kernel image --and a bootloader for your target. Buildroot can be used for any --combination of these options, independently (you can for example use --an existing cross-compilation toolchain, and build only your root --filesystem with Buildroot). -- --Buildroot is useful mainly for people working with embedded systems. --Embedded systems often use processors that are not the regular x86 --processors everyone is used to having in his PC. They can be PowerPC --processors, MIPS processors, ARM processors, etc. -- --Buildroot supports numerous processors and their variants; it also --comes with default configurations for several boards available --off-the-shelf. Besides this, a number of third-party projects are --based on, or develop their BSP ^[1] or SDK ^[2] on top of Buildroot. -- -- ----------------------------------------------------------------------- -- --^[1] BSP: Board Support Package -- --^[2] SDK: Software Development Kit -- --Chapter 2. 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). -- --2.1. Mandatory packages -- -- * Build tools: -- -- + which -- + sed -- + make (version 3.81 or any later) -- + binutils -- + build-essential (only for Debian based systems) -- + 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 -- * Source fetching tools: -- -- + wget -- --2.2. 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 Chapter 20, Download infrastructure 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 -- + 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 -- --Chapter 3. Getting Buildroot -- --Buildroot releases are made every 3 months, in February, May, August --and November. Release numbers are in the format YYYY.MM, so for --example 2013.02, 2014.08. -- --Release tarballs are available at http://buildroot.org/downloads/. -- --For your convenience, a Vagrantfile [https://www.vagrantup.com/] is --available in support/misc/Vagrantfile in the Buildroot source tree to --quickly set up a virtual machine with the needed dependencies to get --started. -- --If you want to setup an isolated buildroot environment on Linux or --Mac Os X, paste this line onto your terminal: -- --curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up -- --If you are on Windows, paste this into your powershell: -- --(new-object System.Net.WebClient).DownloadFile( --"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); --vagrant up -- --If you want to follow development, you can use the daily snapshots or --make a clone of the Git repository. Refer to the Download page [http: --//buildroot.org/download] of the Buildroot website for more details. -- --Chapter 4. Buildroot quick start -- --Important: you can and should build everything as a normal user. --There is no need to be root to configure and use Buildroot. By --running all commands as a regular user, you protect your system --against packages behaving badly during compilation and installation. -- --The first step when using Buildroot is to create a configuration. --Buildroot has a nice configuration tool similar to the one you can --find in the Linux kernel [http://www.kernel.org/] or in BusyBox --[http://www.busybox.net/]. -- --From the buildroot directory, run -- -- $ make menuconfig -- --for the original curses-based configurator, or -- -- $ make nconfig -- --for the new curses-based configurator, or -- -- $ make xconfig -- --for the Qt-based configurator, or -- -- $ make gconfig -- --for the GTK-based configurator. -- --All of these "make" commands will need to build a configuration --utility (including the interface), so you may need to install --"development" packages for relevant libraries used by the --configuration utilities. Refer to Chapter 2, System requirements for --more details, specifically the optional requirements to get the --dependencies of your favorite interface. -- --For each menu entry in the configuration tool, you can find --associated help that describes the purpose of the entry. Refer to --Chapter 6, Buildroot configuration for details on some specific --configuration aspects. -- --Once everything is configured, the configuration tool generates a --.config file that contains the entire configuration. This file will --be read by the top-level Makefile. -- --To start the build process, simply run: -- -- $ make -- --By default, Buildroot does not support top-level parallel build, so --running make -jN is not necessary. There is however experimental --support for top-level parallel build, see Section 8.12, “Top-level --parallel buildâ€. -- --The make command will generally perform the following steps: -- -- * download source files (as required); -- * configure, build and install the cross-compilation toolchain, or -- simply import an external toolchain; -- * configure, build and install selected target packages; -- * build a kernel image, if selected; -- * build a bootloader image, if selected; -- * create a root filesystem in selected formats. -- --Buildroot output is stored in a single directory, output/. This --directory contains several subdirectories: -- -- * images/ where all the images (kernel image, bootloader and root -- filesystem images) are stored. These are the files you need to -- put on your target system. -- * build/ where all the components are built (this includes tools -- needed by Buildroot on the host and packages compiled for the -- target). This directory contains one subdirectory for each of -- these components. -- * host/ contains both the tools built for the host, and the sysroot -- of the target toolchain. The former is an installation of tools -- compiled for the host that are needed for the proper execution of -- Buildroot, including the cross-compilation toolchain. The latter -- is a hierarchy similar to a root filesystem hierarchy. It -- contains the headers and libraries of all user-space packages -- that provide and install libraries used by other packages. -- However, this directory is not intended to be the root filesystem -- for the target: it contains a lot of development files, -- unstripped binaries and libraries that make it far too big for an -- embedded system. These development files are used to compile -- libraries and applications for the target that depend on other -- libraries. -- * staging/ is a symlink to the target toolchain sysroot inside host -- /, which exists for backwards compatibility. -- * target/ which contains almost the complete root filesystem for -- the target: everything needed is present except the device files -- in /dev/ (Buildroot can’t create them because Buildroot doesn’t -- run as root and doesn’t want to run as root). Also, it doesn’t -- have the correct permissions (e.g. setuid for the busybox -- binary). Therefore, this directory should not be used on your -- target. Instead, you should use one of the images built in the -- images/ directory. If you need an extracted image of the root -- filesystem for booting over NFS, then use the tarball image -- generated in images/ and extract it as root. Compared to staging -- /, target/ contains only the files and libraries needed to run -- the selected target applications: the development files (headers, -- etc.) are not present, the binaries are stripped. -- --These commands, make menuconfig|nconfig|gconfig|xconfig and make, are --the basic ones that allow to easily and quickly generate images --fitting your needs, with all the features and applications you --enabled. -- --More details about the "make" command usage are given in Section 8.1, --“make tipsâ€. -- --Chapter 5. Community resources -- --Like any open source project, Buildroot has different ways to share --information in its community and outside. -- --Each of those ways may interest you if you are looking for some help, --want to understand Buildroot or contribute to the project. -- --Mailing List -- -- Buildroot has a mailing list for discussion and development. It -- is the main method of interaction for Buildroot users and -- developers. -- -- Only subscribers to the Buildroot mailing list are allowed to -- post to this list. You can subscribe via the mailing list info -- page [http://lists.buildroot.org/mailman/listinfo/buildroot]. -- -- Mails that are sent to the mailing list are also available in the -- mailing list archives, available through Mailman [http:// -- lists.buildroot.org/pipermail/buildroot] or at lore.kernel.org -- [https://lore.kernel.org/buildroot/]. -- --IRC -- -- The Buildroot IRC channel #buildroot [irc://irc.oftc.net/# -- buildroot] is hosted on OFTC [https://www.oftc.net/WebChat/]. It -- is a useful place to ask quick questions or discuss on certain -- topics. -- -- When asking for help on IRC, share relevant logs or pieces of -- code using a code sharing website, such as https://paste.ack.tf/. -- -- Note that for certain questions, posting to the mailing list may -- be better as it will reach more people, both developers and -- users. -- --Bug tracker -- Bugs in Buildroot can be reported via the mailing list or -- alternatively via the Buildroot bugtracker [https:// -- bugs.buildroot.org/buglist.cgi?product=buildroot]. Please refer -- to Section 22.6, “Reporting issues/bugs or getting help†before -- creating a bug report. --Wiki -- The Buildroot wiki page [http://elinux.org/Buildroot] is hosted -- on the eLinux [http://elinux.org] wiki. It contains some useful -- links, an overview of past and upcoming events, and a TODO list. --Patchwork -- -- Patchwork is a web-based patch tracking system designed to -- facilitate the contribution and management of contributions to an -- open-source project. Patches that have been sent to a mailing -- list are 'caught' by the system, and appear on a web page. Any -- comments posted that reference the patch are appended to the -- patch page too. For more information on Patchwork see http:// -- jk.ozlabs.org/projects/patchwork/. -- -- Buildroot’s Patchwork website is mainly for use by Buildroot’s -- maintainer to ensure patches aren’t missed. It is also used by -- Buildroot patch reviewers (see also Section 22.3.1, “Applying -- Patches from Patchworkâ€). However, since the website exposes -- patches and their corresponding review comments in a clean and -- concise web interface, it can be useful for all Buildroot -- developers. -- -- The Buildroot patch management interface is available at http:// -- patchwork.buildroot.org. -- --Part II. User guide -- --Table of Contents -- --6. Buildroot configuration -- -- 6.1. Cross-compilation toolchain -- 6.2. /dev management -- 6.3. init system -- --7. Configuration of other components --8. General Buildroot usage -- -- 8.1. make tips -- 8.2. Understanding when a full rebuild is necessary -- 8.3. Understanding how to rebuild packages -- 8.4. Offline builds -- 8.5. Building out-of-tree -- 8.6. Environment variables -- 8.7. Dealing efficiently with filesystem images -- 8.8. Details about packages -- 8.9. Graphing the dependencies between packages -- 8.10. Graphing the build duration -- 8.11. Graphing the filesystem size contribution of packages -- 8.12. Top-level parallel build -- 8.13. Integration with Eclipse -- 8.14. Advanced usage -- --9. Project-specific customization -- -- 9.1. Recommended directory structure -- 9.2. Keeping customizations outside of Buildroot -- 9.3. Storing the Buildroot configuration -- 9.4. Storing the configuration of other components -- 9.5. Customizing the generated target filesystem -- 9.6. Adding custom user accounts -- 9.7. Customization after the images have been created -- 9.8. Adding project-specific patches -- 9.9. Adding project-specific packages -- 9.10. Quick guide to storing your project-specific customizations -- --10. Using SELinux in Buildroot -- -- 10.1. Enabling SELinux support -- 10.2. SELinux policy tweaking -- --11. Frequently Asked Questions & Troubleshooting -- -- 11.1. The boot hangs after Starting network… -- 11.2. Why is there no compiler on the target? -- 11.3. Why are there no development files on the target? -- 11.4. Why is there no documentation on the target? -- 11.5. Why are some packages not visible in the Buildroot config -- menu? -- 11.6. Why not use the target directory as a chroot directory? -- 11.7. Why doesn’t Buildroot generate binary packages (.deb, -- .ipkg…)? -- 11.8. How to speed-up the build process? -- --12. Known issues --13. Legal notice and licensing -- -- 13.1. Complying with open source licenses -- 13.2. Complying with the Buildroot license -- --14. Beyond Buildroot -- -- 14.1. Boot the generated images -- 14.2. Chroot -- --Chapter 6. Buildroot configuration -- --All the configuration options in make *config have a help text --providing details about the option. -- --The make *config commands also offer a search tool. Read the help --message in the different frontend menus to know how to use it: -- -- * in menuconfig, the search tool is called by pressing /; -- * in xconfig, the search tool is called by pressing Ctrl + f. -- --The result of the search shows the help message of the matching --items. In menuconfig, numbers in the left column provide a shortcut --to the corresponding entry. Just type this number to directly jump to --the entry, or to the containing menu in case the entry is not --selectable due to a missing dependency. -- --Although the menu structure and the help text of the entries should --be sufficiently self-explanatory, a number of topics require --additional explanation that cannot easily be covered in the help text --and are therefore covered in the following sections. -- --6.1. Cross-compilation toolchain -- --A compilation toolchain is the set of tools that allows you to --compile code for your system. It consists of a compiler (in our case, --gcc), binary utils like assembler and linker (in our case, binutils) --and a C standard library (for example GNU Libc [http://www.gnu.org/ --software/libc/libc.html], uClibc-ng [http://www.uclibc-ng.org/]). -- --The system installed on your development station certainly already --has a compilation toolchain that you can use to compile an --application that runs on your system. If you’re using a PC, your --compilation toolchain runs on an x86 processor and generates code for --an x86 processor. Under most Linux systems, the compilation toolchain --uses the GNU libc (glibc) as the C standard library. This compilation --toolchain is called the "host compilation toolchain". The machine on --which it is running, and on which you’re working, is called the "host --system" ^[3]. -- --The compilation toolchain is provided by your distribution, and --Buildroot has nothing to do with it (other than using it to build a --cross-compilation toolchain and other tools that are run on the --development host). -- --As said above, the compilation toolchain that comes with your system --runs on and generates code for the processor in your host system. As --your embedded system has a different processor, you need a --cross-compilation toolchain - a compilation toolchain that runs on --your host system but generates code for your target system (and --target processor). For example, if your host system uses x86 and your --target system uses ARM, the regular compilation toolchain on your --host runs on x86 and generates code for x86, while the --cross-compilation toolchain runs on x86 and generates code for ARM. -- --Buildroot provides two solutions for the cross-compilation toolchain: -- -- * The internal toolchain backend, called Buildroot toolchain in the -- configuration interface. -- * The external toolchain backend, called External toolchain in the -- configuration interface. -- --The choice between these two solutions is done using the Toolchain --Type option in the Toolchain menu. Once one solution has been chosen, --a number of configuration options appear, they are detailed in the --following sections. -- --6.1.1. Internal toolchain backend -- --The internal toolchain backend is the backend where Buildroot builds --by itself a cross-compilation toolchain, before building the --userspace applications and libraries for your target embedded system. -- --This backend supports several C libraries: uClibc-ng [http:// --www.uclibc-ng.org], glibc [http://www.gnu.org/software/libc/ --libc.html] and musl [http://www.musl-libc.org]. -- --Once you have selected this backend, a number of options appear. The --most important ones allow to: -- -- * Change the version of the Linux kernel headers used to build the -- toolchain. This item deserves a few explanations. In the process -- of building a cross-compilation toolchain, the C library is being -- built. This library provides the interface between userspace -- applications and the Linux kernel. In order to know how to "talk" -- to the Linux kernel, the C library needs to have access to the -- Linux kernel headers (i.e. the .h files from the kernel), which -- define the interface between userspace and the kernel (system -- calls, data structures, etc.). Since this interface is backward -- compatible, the version of the Linux kernel headers used to build -- your toolchain do not need to match exactly the version of the -- Linux kernel you intend to run on your embedded system. They only -- need to have a version equal or older to the version of the Linux -- kernel you intend to run. If you use kernel headers that are more -- recent than the Linux kernel you run on your embedded system, -- then the C library might be using interfaces that are not -- provided by your Linux kernel. -- * Change the version of the GCC compiler, binutils and the C -- library. -- * Select a number of toolchain options (uClibc only): whether the -- toolchain should have RPC support (used mainly for NFS), -- wide-char support, locale support (for internationalization), C++ -- support or thread support. Depending on which options you choose, -- the number of userspace applications and libraries visible in -- Buildroot menus will change: many applications and libraries -- require certain toolchain options to be enabled. Most packages -- show a comment when a certain toolchain option is required to be -- able to enable those packages. If needed, you can further refine -- the uClibc configuration by running make uclibc-menuconfig. Note -- however that all packages in Buildroot are tested against the -- default uClibc configuration bundled in Buildroot: if you deviate -- from this configuration by removing features from uClibc, some -- packages may no longer build. -- --It is worth noting that whenever one of those options is modified, --then the entire toolchain and system must be rebuilt. See --Section 8.2, “Understanding when a full rebuild is necessaryâ€. -- --Advantages of this backend: -- -- * Well integrated with Buildroot -- * Fast, only builds what’s necessary -- --Drawbacks of this backend: -- -- * Rebuilding the toolchain is needed when doing make clean, which -- takes time. If you’re trying to reduce your build time, consider -- using the External toolchain backend. -- --6.1.2. External toolchain backend -- --The external toolchain backend allows to use existing pre-built --cross-compilation toolchains. Buildroot knows about a number of --well-known cross-compilation toolchains (from Linaro [http:// --www.linaro.org] for ARM, Sourcery CodeBench [http://www.mentor.com/ --embedded-software/sourcery-tools/sourcery-codebench/editions/ --lite-edition/] for ARM, x86-64, PowerPC, and MIPS, and is capable of --downloading them automatically, or it can be pointed to a custom --toolchain, either available for download or installed locally. -- --Then, you have three solutions to use an external toolchain: -- -- * Use a predefined external toolchain profile, and let Buildroot -- download, extract and install the toolchain. Buildroot already -- knows about a few CodeSourcery and Linaro toolchains. Just select -- the toolchain profile in Toolchain from the available ones. This -- is definitely the easiest solution. -- * Use a predefined external toolchain profile, but instead of -- having Buildroot download and extract the toolchain, you can tell -- Buildroot where your toolchain is already installed on your -- system. Just select the toolchain profile in Toolchain through -- the available ones, unselect Download toolchain automatically, -- and fill the Toolchain path text entry with the path to your -- cross-compiling toolchain. -- * Use a completely custom external toolchain. This is particularly -- useful for toolchains generated using crosstool-NG or with -- Buildroot itself. To do this, select the Custom toolchain -- solution in the Toolchain list. You need to fill the Toolchain -- path, Toolchain prefix and External toolchain C library options. -- Then, you have to tell Buildroot what your external toolchain -- supports. If your external toolchain uses the glibc library, you -- only have to tell whether your toolchain supports C++ or not and -- whether it has built-in RPC support. If your external toolchain -- uses the uClibc library, then you have to tell Buildroot if it -- supports RPC, wide-char, locale, program invocation, threads and -- C++. At the beginning of the execution, Buildroot will tell you -- if the selected options do not match the toolchain configuration. -- --Our external toolchain support has been tested with toolchains from --CodeSourcery and Linaro, toolchains generated by crosstool-NG [http:/ --/crosstool-ng.org], and toolchains generated by Buildroot itself. In --general, all toolchains that support the sysroot feature should work. --If not, do not hesitate to contact the developers. -- --We do not support toolchains or SDK generated by OpenEmbedded or --Yocto, because these toolchains are not pure toolchains (i.e. just --the compiler, binutils, the C and C++ libraries). Instead these --toolchains come with a very large set of pre-compiled libraries and --programs. Therefore, Buildroot cannot import the sysroot of the --toolchain, as it would contain hundreds of megabytes of pre-compiled --libraries that are normally built by Buildroot. -- --We also do not support using the distribution toolchain (i.e. the gcc --/binutils/C library installed by your distribution) as the toolchain --to build software for the target. This is because your distribution --toolchain is not a "pure" toolchain (i.e. only with the C/C++ --library), so we cannot import it properly into the Buildroot build --environment. So even if you are building a system for a x86 or x86_64 --target, you have to generate a cross-compilation toolchain with --Buildroot or crosstool-NG. -- --If you want to generate a custom toolchain for your project, that can --be used as an external toolchain in Buildroot, our recommendation is --to build it either with Buildroot itself (see Section 6.1.3, “Build --an external toolchain with Buildrootâ€) or with crosstool-NG [http:// --crosstool-ng.org]. -- --Advantages of this backend: -- -- * Allows to use well-known and well-tested cross-compilation -- toolchains. -- * Avoids the build time of the cross-compilation toolchain, which -- is often very significant in the overall build time of an -- embedded Linux system. -- --Drawbacks of this backend: -- -- * If your pre-built external toolchain has a bug, may be hard to -- get a fix from the toolchain vendor, unless you build your -- external toolchain by yourself using Buildroot or Crosstool-NG. -- --6.1.3. Build an external toolchain with Buildroot -- --The Buildroot internal toolchain option can be used to create an --external toolchain. Here are a series of steps to build an internal --toolchain and package it up for reuse by Buildroot itself (or other --projects). -- --Create a new Buildroot configuration, with the following details: -- -- * Select the appropriate Target options for your target CPU -- architecture -- * In the Toolchain menu, keep the default of Buildroot toolchain -- for Toolchain type, and configure your toolchain as desired -- * In the System configuration menu, select None as the Init system -- and none as /bin/sh -- * In the Target packages menu, disable BusyBox -- * In the Filesystem images menu, disable tar the root filesystem -- --Then, we can trigger the build, and also ask Buildroot to generate a --SDK. This will conveniently generate for us a tarball which contains --our toolchain: -- --make sdk -- --This produces the SDK tarball in $(O)/images, with a name similar to --arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz. Save this --tarball, as it is now the toolchain that you can re-use as an --external toolchain in other Buildroot projects. -- --In those other Buildroot projects, in the Toolchain menu: -- -- * Set Toolchain type to External toolchain -- * Set Toolchain to Custom toolchain -- * Set Toolchain origin to Toolchain to be downloaded and installed -- * Set Toolchain URL to file:///path/to/your/sdk/tarball.tar.gz -- --6.1.3.1. External toolchain wrapper -- --When using an external toolchain, Buildroot generates a wrapper --program, that transparently passes the appropriate options (according --to the configuration) to the external toolchain programs. In case you --need to debug this wrapper to check exactly what arguments are --passed, you can set the environment variable BR2_DEBUG_WRAPPER to --either one of: -- -- * 0, empty or not set: no debug -- * 1: trace all arguments on a single line -- * 2: trace one argument per line -- --6.2. /dev management -- --On a Linux system, the /dev directory contains special files, called --device files, that allow userspace applications to access the --hardware devices managed by the Linux kernel. Without these device --files, your userspace applications would not be able to use the --hardware devices, even if they are properly recognized by the Linux --kernel. -- --Under System configuration, /dev management, Buildroot offers four --different solutions to handle the /dev directory : -- -- * The first solution is Static using device table. This is the old -- classical way of handling device files in Linux. With this -- method, the device files are persistently stored in the root -- filesystem (i.e. they persist across reboots), and there is -- nothing that will automatically create and remove those device -- files when hardware devices are added or removed from the system. -- Buildroot therefore creates a standard set of device files using -- a device table, the default one being stored in system/ -- device_table_dev.txt in the Buildroot source code. This file is -- processed when Buildroot generates the final root filesystem -- image, and the device files are therefore not visible in the -- output/target directory. The BR2_ROOTFS_STATIC_DEVICE_TABLE -- option allows to change the default device table used by -- Buildroot, or to add an additional device table, so that -- additional device files are created by Buildroot during the -- build. So, if you use this method, and a device file is missing -- in your system, you can for example create a board// -- /device_table_dev.txt file that contains the -- description of your additional device files, and then you can set -- BR2_ROOTFS_STATIC_DEVICE_TABLE to system/device_table_dev.txt -- board///device_table_dev.txt. For more -- details about the format of the device table file, see -- Chapter 25, Makedev syntax documentation. -- * The second solution is Dynamic using devtmpfs only. devtmpfs is a -- virtual filesystem inside the Linux kernel that has been -- introduced in kernel 2.6.32 (if you use an older kernel, it is -- not possible to use this option). When mounted in /dev, this -- virtual filesystem will automatically make device files appear -- and disappear as hardware devices are added and removed from the -- system. This filesystem is not persistent across reboots: it is -- filled dynamically by the kernel. Using devtmpfs requires the -- following kernel configuration options to be enabled: -- CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT. When Buildroot is in -- charge of building the Linux kernel for your embedded device, it -- makes sure that those two options are enabled. However, if you -- build your Linux kernel outside of Buildroot, then it is your -- responsibility to enable those two options (if you fail to do so, -- your Buildroot system will not boot). -- * The third solution is Dynamic using devtmpfs + mdev. This method -- also relies on the devtmpfs virtual filesystem detailed above (so -- the requirement to have CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT -- enabled in the kernel configuration still apply), but adds the -- mdev userspace utility on top of it. mdev is a program part of -- BusyBox that the kernel will call every time a device is added or -- removed. Thanks to the /etc/mdev.conf configuration file, mdev -- can be configured to for example, set specific permissions or -- ownership on a device file, call a script or application whenever -- a device appears or disappear, etc. Basically, it allows -- userspace to react on device addition and removal events. mdev -- can for example be used to automatically load kernel modules when -- devices appear on the system. mdev is also important if you have -- devices that require a firmware, as it will be responsible for -- pushing the firmware contents to the kernel. mdev is a -- lightweight implementation (with fewer features) of udev. For -- more details about mdev and the syntax of its configuration file, -- see http://git.busybox.net/busybox/tree/docs/mdev.txt. -- * The fourth solution is Dynamic using devtmpfs + eudev. This -- method also relies on the devtmpfs virtual filesystem detailed -- above, but adds the eudev userspace daemon on top of it. eudev is -- a daemon that runs in the background, and gets called by the -- kernel when a device gets added or removed from the system. It is -- a more heavyweight solution than mdev, but provides higher -- flexibility. eudev is a standalone version of udev, the original -- userspace daemon used in most desktop Linux distributions, which -- is now part of Systemd. For more details, see http:// -- en.wikipedia.org/wiki/Udev. -- --The Buildroot developers recommendation is to start with the Dynamic --using devtmpfs only solution, until you have the need for userspace --to be notified when devices are added/removed, or if firmwares are --needed, in which case Dynamic using devtmpfs + mdev is usually a good --solution. -- --Note that if systemd is chosen as init system, /dev management will --be performed by the udev program provided by systemd. -- --6.3. init system -- --The init program is the first userspace program started by the kernel --(it carries the PID number 1), and is responsible for starting the --userspace services and programs (for example: web server, graphical --applications, other network servers, etc.). -- --Buildroot allows to use three different types of init systems, which --can be chosen from System configuration, Init system: -- -- * The first solution is BusyBox. Amongst many programs, BusyBox has -- an implementation of a basic init program, which is sufficient -- for most embedded systems. Enabling the BR2_INIT_BUSYBOX will -- ensure BusyBox will build and install its init program. This is -- the default solution in Buildroot. The BusyBox init program will -- read the /etc/inittab file at boot to know what to do. The syntax -- of this file can be found in http://git.busybox.net/busybox/tree/ -- examples/inittab (note that BusyBox inittab syntax is special: do -- not use a random inittab documentation from the Internet to learn -- about BusyBox inittab). The default inittab in Buildroot is -- stored in system/skeleton/etc/inittab. Apart from mounting a few -- important filesystems, the main job the default inittab does is -- to start the /etc/init.d/rcS shell script, and start a getty -- program (which provides a login prompt). -- * The second solution is systemV. This solution uses the old -- traditional sysvinit program, packed in Buildroot in package/ -- sysvinit. This was the solution used in most desktop Linux -- distributions, until they switched to more recent alternatives -- such as Upstart or Systemd. sysvinit also works with an inittab -- file (which has a slightly different syntax than the one from -- BusyBox). The default inittab installed with this init solution -- is located in package/sysvinit/inittab. -- * The third solution is systemd. systemd is the new generation init -- system for Linux. It does far more than traditional init -- programs: aggressive parallelization capabilities, uses socket -- and D-Bus activation for starting services, offers on-demand -- starting of daemons, keeps track of processes using Linux control -- groups, supports snapshotting and restoring of the system state, -- etc. systemd will be useful on relatively complex embedded -- systems, for example the ones requiring D-Bus and services -- communicating between each other. It is worth noting that systemd -- brings a fairly big number of large dependencies: dbus, udev and -- more. For more details about systemd, see http:// -- www.freedesktop.org/wiki/Software/systemd. -- --The solution recommended by Buildroot developers is to use the --BusyBox init as it is sufficient for most embedded systems. systemd --can be used for more complex situations. -- -- ----------------------------------------------------------------------- -- --^[3] This terminology differs from what is used by GNU configure, --where the host is the machine on which the application will run --(which is usually the same as target) -- --Chapter 7. Configuration of other components -- --Before attempting to modify any of the components below, make sure --you have already configured Buildroot itself, and have enabled the --corresponding package. -- --BusyBox -- -- If you already have a BusyBox configuration file, you can -- directly specify this file in the Buildroot configuration, using -- BR2_PACKAGE_BUSYBOX_CONFIG. Otherwise, Buildroot will start from -- a default BusyBox configuration file. -- -- To make subsequent changes to the configuration, use make -- busybox-menuconfig to open the BusyBox configuration editor. -- -- It is also possible to specify a BusyBox configuration file -- through an environment variable, although this is not -- recommended. Refer to Section 8.6, “Environment variables†for -- more details. -- --uClibc -- Configuration of uClibc is done in the same way as for BusyBox. -- The configuration variable to specify an existing configuration -- file is BR2_UCLIBC_CONFIG. The command to make subsequent changes -- is make uclibc-menuconfig. --Linux kernel -- -- If you already have a kernel configuration file, you can directly -- specify this file in the Buildroot configuration, using -- BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG. -- -- If you do not yet have a kernel configuration file, you can -- either start by specifying a defconfig in the Buildroot -- configuration, using BR2_LINUX_KERNEL_USE_DEFCONFIG, or start by -- creating an empty file and specifying it as custom configuration -- file, using BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG. -- -- To make subsequent changes to the configuration, use make -- linux-menuconfig to open the Linux configuration editor. -- --Barebox -- Configuration of Barebox is done in the same way as for the Linux -- kernel. The corresponding configuration variables are -- BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG and -- BR2_TARGET_BAREBOX_USE_DEFCONFIG. To open the configuration -- editor, use make barebox-menuconfig. --U-Boot -- Configuration of U-Boot (version 2015.04 or newer) is done in the -- same way as for the Linux kernel. The corresponding configuration -- variables are BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG and -- BR2_TARGET_UBOOT_USE_DEFCONFIG. To open the configuration editor, -- use make uboot-menuconfig. -- --Chapter 8. General Buildroot usage -- --8.1. make tips -- --This is a collection of tips that help you make the most of --Buildroot. -- --Display all commands executed by make:  -- -- $ make V=1 -- --Display the list of boards with a defconfig:  -- -- $ make list-defconfigs -- --Display all available targets:  -- -- $ make help -- --Not all targets are always available, some settings in the .config --file may hide some targets: -- -- * busybox-menuconfig only works when busybox is enabled; -- * linux-menuconfig and linux-savedefconfig only work when linux is -- enabled; -- * uclibc-menuconfig is only available when the uClibc C library is -- selected in the internal toolchain backend; -- * barebox-menuconfig and barebox-savedefconfig only work when the -- barebox bootloader is enabled. -- * uboot-menuconfig and uboot-savedefconfig only work when the -- U-Boot bootloader is enabled. -- --Cleaning: Explicit cleaning is required when any of the architecture --or toolchain configuration options are changed. -- --To delete all build products (including build directories, host, --staging and target trees, the images and the toolchain): -- -- $ make clean -- --Generating the manual: The present manual sources are located in the --docs/manual directory. To generate the manual: -- -- $ make manual-clean -- $ make manual -- --The manual outputs will be generated in output/docs/manual. -- --Notes -- -- * A few tools are required to build the documentation (see: -- Section 2.2, “Optional packagesâ€). -- --Resetting Buildroot for a new target: To delete all build products as --well as the configuration: -- -- $ make distclean -- --Notes. If ccache is enabled, running make clean or distclean does not --empty the compiler cache used by Buildroot. To delete it, refer to --Section 8.14.3, “Using ccache in Buildrootâ€. -- --Dumping the internal make variables: One can dump the variables known --to make, along with their values: -- -- $ make -s printvars VARS='VARIABLE1 VARIABLE2' -- VARIABLE1=value_of_variable -- VARIABLE2=value_of_variable -- --It is possible to tweak the output using some variables: -- -- * VARS will limit the listing to variables which names match the -- specified make-patterns - this must be set else nothing is -- printed -- * QUOTED_VARS, if set to YES, will single-quote the value -- * RAW_VARS, if set to YES, will print the unexpanded value -- --For example: -- -- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES -- BUSYBOX_DEPENDENCIES=skeleton toolchain -- BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain -- BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain -- BUSYBOX_FINAL_PATCH_DEPENDENCIES= -- BUSYBOX_RDEPENDENCIES=ncurses util-linux -- -- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES -- BUSYBOX_DEPENDENCIES='skeleton toolchain' -- BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' -- BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' -- BUSYBOX_FINAL_PATCH_DEPENDENCIES='' -- BUSYBOX_RDEPENDENCIES='ncurses util-linux' -- -- $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES -- BUSYBOX_DEPENDENCIES=skeleton toolchain -- BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) -- BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) -- BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) -- BUSYBOX_RDEPENDENCIES=ncurses util-linux -- --The output of quoted variables can be reused in shell scripts, for --example: -- -- $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) -- $ echo $BUSYBOX_DEPENDENCIES -- skeleton toolchain -- --8.2. Understanding when a full rebuild is necessary -- --Buildroot does not attempt to detect what parts of the system should --be rebuilt when the system configuration is changed through make --menuconfig, make xconfig or one of the other configuration tools. In --some cases, Buildroot should rebuild the entire system, in some --cases, only a specific subset of packages. But detecting this in a --completely reliable manner is very difficult, and therefore the --Buildroot developers have decided to simply not attempt to do this. -- --Instead, it is the responsibility of the user to know when a full --rebuild is necessary. As a hint, here are a few rules of thumb that --can help you understand how to work with Buildroot: -- -- * When the target architecture configuration is changed, a complete -- rebuild is needed. Changing the architecture variant, the binary -- format or the floating point strategy for example has an impact -- on the entire system. -- * When the toolchain configuration is changed, a complete rebuild -- generally is needed. Changing the toolchain configuration often -- involves changing the compiler version, the type of C library or -- its configuration, or some other fundamental configuration item, -- and these changes have an impact on the entire system. -- * When an additional package is added to the configuration, a full -- rebuild is not necessarily needed. Buildroot will detect that -- this package has never been built, and will build it. However, if -- this package is a library that can optionally be used by packages -- that have already been built, Buildroot will not automatically -- rebuild those. Either you know which packages should be rebuilt, -- and you can rebuild them manually, or you should do a full -- rebuild. For example, let’s suppose you have built a system with -- the ctorrent package, but without openssl. Your system works, but -- you realize you would like to have SSL support in ctorrent, so -- you enable the openssl package in Buildroot configuration and -- restart the build. Buildroot will detect that openssl should be -- built and will be build it, but it will not detect that ctorrent -- should be rebuilt to benefit from openssl to add OpenSSL support. -- You will either have to do a full rebuild, or rebuild ctorrent -- itself. -- * When a package is removed from the configuration, Buildroot does -- not do anything special. It does not remove the files installed -- by this package from the target root filesystem or from the -- toolchain sysroot. A full rebuild is needed to get rid of this -- package. However, generally you don’t necessarily need this -- package to be removed right now: you can wait for the next lunch -- break to restart the build from scratch. -- * When the sub-options of a package are changed, the package is not -- automatically rebuilt. After making such changes, rebuilding only -- this package is often sufficient, unless enabling the package -- sub-option adds some features to the package that are useful for -- another package which has already been built. Again, Buildroot -- does not track when a package should be rebuilt: once a package -- has been built, it is never rebuilt unless explicitly told to do -- so. -- * When a change to the root filesystem skeleton is made, a full -- rebuild is needed. However, when changes to the root filesystem -- overlay, a post-build script or a post-image script are made, -- there is no need for a full rebuild: a simple make invocation -- will take the changes into account. -- * When a package listed in FOO_DEPENDENCIES is rebuilt or removed, -- the package foo is not automatically rebuilt. For example, if a -- package bar is listed in FOO_DEPENDENCIES with FOO_DEPENDENCIES = -- bar and the configuration of the bar package is changed, the -- configuration change would not result in a rebuild of package foo -- automatically. In this scenario, you may need to either rebuild -- any packages in your build which reference bar in their -- DEPENDENCIES, or perform a full rebuild to ensure any bar -- dependent packages are up to date. -- --Generally speaking, when you’re facing a build error and you’re --unsure of the potential consequences of the configuration changes --you’ve made, do a full rebuild. If you get the same build error, then --you are sure that the error is not related to partial rebuilds of --packages, and if this error occurs with packages from the official --Buildroot, do not hesitate to report the problem! As your experience --with Buildroot progresses, you will progressively learn when a full --rebuild is really necessary, and you will save more and more time. -- --For reference, a full rebuild is achieved by running: -- --$ make clean all -- --8.3. Understanding how to rebuild packages -- --One of the most common questions asked by Buildroot users is how to --rebuild a given package or how to remove a package without rebuilding --everything from scratch. -- --Removing a package is unsupported by Buildroot without rebuilding --from scratch. This is because Buildroot doesn’t keep track of which --package installs what files in the output/staging and output/target --directories, or which package would be compiled differently depending --on the availability of another package. -- --The easiest way to rebuild a single package from scratch is to remove --its build directory in output/build. Buildroot will then re-extract, --re-configure, re-compile and re-install this package from scratch. --You can ask buildroot to do this with the make -dirclean --command. -- --On the other hand, if you only want to restart the build process of a --package from its compilation step, you can run make ---rebuild. It will restart the compilation and installation of the --package, but not from scratch: it basically re-executes make and make --install inside the package, so it will only rebuild files that --changed. -- --If you want to restart the build process of a package from its --configuration step, you can run make -reconfigure. It will --restart the configuration, compilation and installation of the --package. -- --While -rebuild implies -reinstall and ---reconfigure implies -rebuild, these targets as well as -- only act on the said package, and do not trigger --re-creating the root filesystem image. If re-creating the root --filesystem in necessary, one should in addition run make or make all. -- --Internally, Buildroot creates so-called stamp files to keep track of --which build steps have been completed for each package. They are --stored in the package build directory, output/build/- --/ and are named .stamp_. The commands detailed --above simply manipulate these stamp files to force Buildroot to --restart a specific set of steps of a package build process. -- --Further details about package special make targets are explained in --Section 8.14.5, “Package-specific make targetsâ€. -- --8.4. 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. -- --8.5. 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 -- --8.6. 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 Section 8.14.4, “Location -- of downloaded packages†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 Section 8.9, “Graphing the dependencies between -- packages†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 -- Section 8.11, “Graphing the filesystem size contribution of -- packages†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 -- --8.7. 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. -- --8.8. Details about packages -- --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 -- --8.9. Graphing the dependencies between packages -- --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 -- --8.10. Graphing the build 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 -- --8.11. 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 --Section 8.9, “Graphing the dependencies between packages†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 -- --8.12. 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: -- -- 1. Enable the option BR2_PER_PACKAGE_DIRECTORIES in the Buildroot -- configuration -- 2. 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. -- --8.13. Integration with Eclipse -- --While a part of the embedded Linux developers like classical text --editors like Vim or Emacs, and command-line based interfaces, a --number of other embedded Linux developers like richer graphical --interfaces to do their development work. Eclipse being one of the --most popular Integrated Development Environment, Buildroot integrates --with Eclipse in order to ease the development work of Eclipse users. -- --Our integration with Eclipse simplifies the compilation, remote --execution and remote debugging of applications and libraries that are --built on top of a Buildroot system. It does not integrate the --Buildroot configuration and build processes themselves with Eclipse. --Therefore, the typical usage model of our Eclipse integration would --be: -- -- * Configure your Buildroot system with make menuconfig, make -- xconfig or any other configuration interface provided with -- Buildroot. -- * Build your Buildroot system by running make. -- * Start Eclipse to develop, execute and debug your own custom -- applications and libraries, that will rely on the libraries built -- and installed by Buildroot. -- --The Buildroot Eclipse integration installation process and usage is --described in detail at https://github.com/mbats/ --eclipse-buildroot-bundle/wiki. -- --8.14. Advanced usage -- --8.14.1. Using the generated toolchain outside Buildroot -- --You may want to compile, for your target, your own programs or other --software that are not packaged in Buildroot. In order to do this you --can use the toolchain that was generated by Buildroot. -- --The toolchain generated by Buildroot is located by default in output/ --host/. The simplest way to use it is to add output/host/bin/ to your --PATH environment variable and then to use ARCH-linux-gcc, --ARCH-linux-objdump, ARCH-linux-ld, etc. -- --Alternatively, Buildroot can also export the toolchain and the --development files of all selected packages, as an SDK, by running the --command make sdk. This generates a tarball of the content of the host --directory output/host/, named _sdk-buildroot.tar.gz --(which can be overriden by setting the environment variable --BR2_SDK_PREFIX) and located in the output directory output/images/. -- --This tarball can then be distributed to application developers, when --they want to develop their applications that are not (yet) packaged --as a Buildroot package. -- --Upon extracting the SDK tarball, the user must run the script --relocate-sdk.sh (located at the top directory of the SDK), to make --sure all paths are updated with the new location. -- --Alternatively, if you just want to prepare the SDK without generating --the tarball (e.g. because you will just be moving the host directory, --or will be generating the tarball on your own), Buildroot also allows --you to just prepare the SDK with make prepare-sdk without actually --generating a tarball. -- --For your convenience, by selecting the option --BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a environment-setup --script installed in output/host/ and therefore in your SDK. This --script can be sourced with . your/sdk/path/environment-setup to --export a number of environment variables that will help cross-compile --your projects using the Buildroot SDK: the PATH will contain the SDK --binaries, standard autotools variables will be defined with the --appropriate values, and CONFIGURE_FLAGS will contain basic ./ --configure options to cross-compile autotools projects. It also --provides some useful commands. Note however that once this script is --sourced, the environment is setup only for cross-compilation, and no --longer for native compilation. -- --8.14.2. Using gdb in Buildroot -- --Buildroot allows to do cross-debugging, where the debugger runs on --the build machine and communicates with gdbserver on the target to --control the execution of the program. -- --To achieve this: -- -- * If you are using an internal toolchain (built by Buildroot), you -- must enable BR2_PACKAGE_HOST_GDB, BR2_PACKAGE_GDB and -- BR2_PACKAGE_GDB_SERVER. This ensures that both the cross gdb and -- gdbserver get built, and that gdbserver gets installed to your -- target. -- * If you are using an external toolchain, you should enable -- BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY, which will copy the -- gdbserver included with the external toolchain to the target. If -- your external toolchain does not have a cross gdb or gdbserver, -- it is also possible to let Buildroot build them, by enabling the -- same options as for the internal toolchain backend. -- --Now, to start debugging a program called foo, you should run on the --target: -- --gdbserver :2345 foo -- --This will cause gdbserver to listen on TCP port 2345 for a connection --from the cross gdb. -- --Then, on the host, you should start the cross gdb using the following --command line: -- --/output/host/bin/-gdb -ix /output/staging/usr/share/buildroot/gdbinit foo -- --Of course, foo must be available in the current directory, built with --debugging symbols. Typically you start this command from the --directory where foo is built (and not from output/target/ as the --binaries in that directory are stripped). -- --The /output/staging/usr/share/buildroot/gdbinit file will --tell the cross gdb where to find the libraries of the target. -- --Finally, to connect to the target from the cross gdb: -- --(gdb) target remote :2345 -- --8.14.3. Using ccache in Buildroot -- --ccache [http://ccache.samba.org] is a compiler cache. It stores the --object files resulting from each compilation process, and is able to --skip future compilation of the same source file (with same compiler --and same arguments) by using the pre-existing object files. When --doing almost identical builds from scratch a number of times, it can --nicely speed up the build process. -- --ccache support is integrated in Buildroot. You just have to enable --Enable compiler cache in Build options. This will automatically build --ccache and use it for every host and target compilation. -- --The cache is located in $HOME/.buildroot-ccache. It is stored outside --of Buildroot output directory so that it can be shared by separate --Buildroot builds. If you want to get rid of the cache, simply remove --this directory. -- --You can get statistics on the cache (its size, number of hits, --misses, etc.) by running make ccache-stats. -- --The make target ccache-options and the CCACHE_OPTIONS variable --provide more generic access to the ccache. For example -- --# set cache limit size --make CCACHE_OPTIONS="--max-size=5G" ccache-options -- --# zero statistics counters --make CCACHE_OPTIONS="--zero-stats" ccache-options -- --ccache makes a hash of the source files and of the compiler options. --If a compiler option is different, the cached object file will not be --used. Many compiler options, however, contain an absolute path to the --staging directory. Because of this, building in a different output --directory would lead to many cache misses. -- --To avoid this issue, buildroot has the Use relative paths option --(BR2_CCACHE_USE_BASEDIR). This will rewrite all absolute paths that --point inside the output directory into relative paths. Thus, changing --the output directory no longer leads to cache misses. -- --A disadvantage of the relative paths is that they also end up to be --relative paths in the object file. Therefore, for example, the --debugger will no longer find the file, unless you cd to the output --directory first. -- --See the ccache manual’s section on "Compiling in different --directories" [https://ccache.samba.org/manual.html# --_compiling_in_different_directories] for more details about this --rewriting of absolute paths. -- --8.14.4. Location of downloaded packages -- --The various tarballs that are downloaded by Buildroot are all stored --in BR2_DL_DIR, which by default is the dl directory. If you want to --keep a complete version of Buildroot which is known to be working --with the associated tarballs, you can make a copy of this directory. --This will allow you to regenerate the toolchain and the target --filesystem with exactly the same versions. -- --If you maintain several Buildroot trees, it might be better to have a --shared download location. This can be achieved by pointing the --BR2_DL_DIR environment variable to a directory. If this is set, then --the value of BR2_DL_DIR in the Buildroot configuration is overridden. --The following line should be added to <~/.bashrc>. -- -- export BR2_DL_DIR= -- --The download location can also be set in the .config file, with the --BR2_DL_DIR option. Unlike most options in the .config file, this --value is overridden by the BR2_DL_DIR environment variable. -- --8.14.5. Package-specific make targets -- --Running make builds and installs that particular package --and its dependencies. -- --For packages relying on the Buildroot infrastructure, there are --numerous special make targets that can be called independently like --this: -- --make - -- --The package build targets are (in the order they are executed): -- --+------------------------------------------------------------+ --|command/target |Description | --|---------------+--------------------------------------------| --| source |Fetch the source (download the tarball, | --| |clone the source repository, etc) | --|---------------+--------------------------------------------| --| depends |Build and install all dependencies required | --| |to build the package | --|---------------+--------------------------------------------| --| extract |Put the source in the package build | --| |directory (extract the tarball, copy the | --| |source, etc) | --|---------------+--------------------------------------------| --| patch |Apply the patches, if any | --|---------------+--------------------------------------------| --| configure |Run the configure commands, if any | --|---------------+--------------------------------------------| --| build |Run the compilation commands | --|---------------+--------------------------------------------| --|install-staging|target package: Run the installation of the | --| |package in the staging directory, if | --| |necessary | --|---------------+--------------------------------------------| --|install-target |target package: Run the installation of the | --| |package in the target directory, if | --| |necessary | --|---------------+--------------------------------------------| --| install |target package: Run the 2 previous | --| |installation commands | --| | | --| |host package: Run the installation of the | --| |package in the host directory | --+------------------------------------------------------------+ -- --Additionally, there are some other useful make targets: -- --+------------------------------------------------------------+ --| command/target |Description | --|-----------------------+------------------------------------| --| show-depends |Displays the first-order | --| |dependencies required to build the | --| |package | --|-----------------------+------------------------------------| --|show-recursive-depends |Recursively displays the | --| |dependencies required to build the | --| |package | --|-----------------------+------------------------------------| --| show-rdepends |Displays the first-order reverse | --| |dependencies of the package (i.e | --| |packages that directly depend on it)| --|-----------------------+------------------------------------| --|show-recursive-rdepends|Recursively displays the reverse | --| |dependencies of the package (i.e the| --| |packages that depend on it, directly| --| |or indirectly) | --|-----------------------+------------------------------------| --| graph-depends |Generate a dependency graph of the | --| |package, in the context of the | --| |current Buildroot configuration. See| --| |this section for more details about | --| |dependency graphs. | --|-----------------------+------------------------------------| --| graph-rdepends |Generate a graph of this package | --| |reverse dependencies (i.e the | --| |packages that depend on it, directly| --| |or indirectly) | --|-----------------------+------------------------------------| --| dirclean |Remove the whole package build | --| |directory | --|-----------------------+------------------------------------| --| reinstall |Re-run the install commands | --|-----------------------+------------------------------------| --| rebuild |Re-run the compilation commands - | --| |this only makes sense when using the| --| |OVERRIDE_SRCDIR feature or when you | --| |modified a file directly in the | --| |build directory | --|-----------------------+------------------------------------| --| reconfigure |Re-run the configure commands, then | --| |rebuild - this only makes sense when| --| |using the OVERRIDE_SRCDIR feature or| --| |when you modified a file directly in| --| |the build directory | --+------------------------------------------------------------+ -- --8.14.6. Using Buildroot during development -- --The normal operation of Buildroot is to download a tarball, extract --it, configure, compile and install the software component found --inside this tarball. The source code is extracted in output/build/ ---, which is a temporary directory: whenever make --clean is used, this directory is entirely removed, and re-created at --the next make invocation. Even when a Git or Subversion repository is --used as the input for the package source code, Buildroot creates a --tarball out of it, and then behaves as it normally does with --tarballs. -- --This behavior is well-suited when Buildroot is used mainly as an --integration tool, to build and integrate all the components of an --embedded Linux system. However, if one uses Buildroot during the --development of certain components of the system, this behavior is not --very convenient: one would instead like to make a small change to the --source code of one package, and be able to quickly rebuild the system --with Buildroot. -- --Making changes directly in output/build/- is not an --appropriate solution, because this directory is removed on make --clean. -- --Therefore, Buildroot provides a specific mechanism for this use case: --the _OVERRIDE_SRCDIR mechanism. Buildroot reads an override --file, which allows the user to tell Buildroot the location of the --source for certain packages. -- --The default location of the override file is $(CONFIG_DIR)/local.mk, --as defined by the BR2_PACKAGE_OVERRIDE_FILE configuration option. $ --(CONFIG_DIR) is the location of the Buildroot .config file, so --local.mk by default lives side-by-side with the .config file, which --means: -- -- * In the top-level Buildroot source directory for in-tree builds -- (i.e., when O= is not used) -- * In the out-of-tree directory for out-of-tree builds (i.e., when O -- = is used) -- --If a different location than these defaults is required, it can be --specified through the BR2_PACKAGE_OVERRIDE_FILE configuration option. -- --In this override file, Buildroot expects to find lines of the form: -- --_OVERRIDE_SRCDIR = /path/to/pkg1/sources --_OVERRIDE_SRCDIR = /path/to/pkg2/sources -- --For example: -- --LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ --BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ -- --When Buildroot finds that for a given package, an --_OVERRIDE_SRCDIR has been defined, it will no longer attempt to --download, extract and patch the package. Instead, it will directly --use the source code available in the specified directory and make --clean will not touch this directory. This allows to point Buildroot --to your own directories, that can be managed by Git, Subversion, or --any other version control system. To achieve this, Buildroot will use --rsync to copy the source code of the component from the specified --_OVERRIDE_SRCDIR to output/build/-custom/. -- --This mechanism is best used in conjunction with the make ---rebuild and make -reconfigure targets. A make -rebuild all --sequence will rsync the source code from _OVERRIDE_SRCDIR to --output/build/-custom (thanks to rsync, only the modified --files are copied), and restart the build process of just this --package. -- --In the example of the linux package above, the developer can then --make a source code change in /home/bob/linux and then run: -- --make linux-rebuild all -- --and in a matter of seconds gets the updated Linux kernel image in --output/images. Similarly, a change can be made to the BusyBox source --code in /home/bob/busybox, and after: -- --make busybox-rebuild all -- --the root filesystem image in output/images contains the updated --BusyBox. -- --Source trees for big projects often contain hundreds or thousands of --files which are not needed for building, but will slow down the --process of copying the sources with rsync. Optionally, it is possible --define _OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS to skip syncing certain --files from the source tree. For example, when working on the --webkitgtk package, the following will exclude the tests and in-tree --builds from a local WebKit source tree: -- --WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit --WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ -- --exclude JSTests --exclude ManualTests --exclude PerformanceTests \ -- --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ -- --exclude WebKit.xcworkspace --exclude Websites --exclude Examples -- --By default, Buildroot skips syncing of VCS artifacts (e.g., the .git --and .svn directories). Some packages prefer to have these VCS --directories available during build, for example for automatically --determining a precise commit reference for version information. To --undo this built-in filtering at a cost of a slower speed, add these --directories back: -- --LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git -- --Chapter 9. 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! -- --9.1. Recommended directory structure -- --When customizing Buildroot for your project, you will be creating one --or more project-specific files that need to be stored somewhere. --While most of these files could be placed in any location as their --path is to be specified in the Buildroot configuration, the Buildroot --developers recommend a specific directory structure which is --described in this section. -- --Orthogonal to this directory structure, you can choose where you --place this structure itself: either inside the Buildroot tree, or --outside of it using a br2-external tree. Both options are valid, the --choice is up to you. -- --+-- board/ --| +-- / --| +-- / --| +-- linux.config --| +-- busybox.config --| +-- --| +-- post_build.sh --| +-- post_image.sh --| +-- rootfs_overlay/ --| | +-- etc/ --| | +-- --| +-- patches/ --| +-- foo/ --| | +-- --| +-- libbar/ --| +-- --| --+-- configs/ --| +-- _defconfig --| --+-- package/ --| +-- / --| +-- Config.in (if not using a br2-external tree) --| +-- .mk (if not using a br2-external tree) --| +-- package1/ --| | +-- Config.in --| | +-- package1.mk --| +-- package2/ --| +-- Config.in --| +-- package2.mk --| --+-- Config.in (if using a br2-external tree) --+-- external.mk (if using a br2-external tree) --+-- external.desc (if using a br2-external tree) -- --Details on the files shown above are given further in this chapter. -- --Note: if you choose to place this structure outside of the Buildroot --tree but in a br2-external tree, the and possibly -- components may be superfluous and can be left out. -- --9.1.1. Implementing layered customizations -- --It is quite common for a user to have several related projects that --partly need the same customizations. Instead of duplicating these --customizations for each project, it is recommended to use a layered --customization approach, as explained in this section. -- --Almost all of the customization methods available in Buildroot, like --post-build scripts and root filesystem overlays, accept a --space-separated list of items. The specified items are always treated --in order, from left to right. By creating more than one such item, --one for the common customizations and another one for the really --project-specific customizations, you can avoid unnecessary --duplication. Each layer is typically embodied by a separate directory --inside board//. Depending on your projects, you could even --introduce more than two layers. -- --An example directory structure for where a user has two customization --layers common and fooboard is: -- --+-- board/ -- +-- / -- +-- common/ -- | +-- post_build.sh -- | +-- rootfs_overlay/ -- | | +-- ... -- | +-- patches/ -- | +-- ... -- | -- +-- fooboard/ -- +-- linux.config -- +-- busybox.config -- +-- -- +-- post_build.sh -- +-- rootfs_overlay/ -- | +-- ... -- +-- patches/ -- +-- ... -- --For example, if the user has the BR2_GLOBAL_PATCH_DIR configuration --option set as: -- --BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" -- --then first the patches from the common layer would be applied, --followed by the patches from the fooboard layer. -- --9.2. Keeping customizations outside of Buildroot -- --As already briefly mentioned in Section 9.1, “Recommended directory --structureâ€, you can place project-specific customizations in two --locations: -- -- * directly within the Buildroot tree, typically maintaining them -- using branches in a version control system so that upgrading to a -- newer Buildroot release is easy. -- * outside of the Buildroot tree, using the br2-external mechanism. -- This mechanism allows to keep package recipes, board support and -- configuration files outside of the Buildroot tree, while still -- having them nicely integrated in the build logic. We call this -- location a br2-external tree. This section explains how to use -- the br2-external mechanism and what to provide in a br2-external -- tree. -- --One can tell Buildroot to use one or more br2-external trees by --setting the BR2_EXTERNAL make variable set to the path(s) of the --br2-external tree(s) to use. It can be passed to any Buildroot make --invocation. It is automatically saved in the hidden .br2-external.mk --file in the output directory. Thanks to this, there is no need to --pass BR2_EXTERNAL at every make invocation. It can however be changed --at any time by passing a new value, and can be removed by passing an --empty value. -- --Note. The path to a br2-external tree can be either absolute or --relative. If it is passed as a relative path, it is important to note --that it is interpreted relative to the main Buildroot source --directory, not to the Buildroot output directory. -- --Note: If using an br2-external tree from before Buildroot 2016.11, --you need to convert it before you can use it with Buildroot 2016.11 --onward. See Section 27.2, “Migrating to 2016.11†for help on doing --so. -- --Some examples: -- --buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig -- --From now on, definitions from the /path/to/foo br2-external tree will --be used: -- --buildroot/ $ make --buildroot/ $ make legal-info -- --We can switch to another br2-external tree at any time: -- --buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig -- --We can also use multiple br2-external trees: -- --buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig -- --Or disable the usage of any br2-external tree: -- --buildroot/ $ make BR2_EXTERNAL= xconfig -- --9.2.1. Layout of a br2-external tree -- --A br2-external tree must contain at least those three files, --described in the following chapters: -- -- * external.desc -- * external.mk -- * Config.in -- --Apart from those mandatory files, there may be additional and --optional content that may be present in a br2-external tree, like the --configs/ or provides/ directories. They are described in the --following chapters as well. -- --A complete example br2-external tree layout is also described later. -- --9.2.1.1. The external.desc file -- --That file describes the br2-external tree: the name and description --for that br2-external tree. -- --The format for this file is line based, with each line starting by a --keyword, followed by a colon and one or more spaces, followed by the --value assigned to that keyword. There are two keywords currently --recognised: -- -- * name, mandatory, defines the name for that br2-external tree. -- That name must only use ASCII characters in the set [A-Za-z0-9_]; -- any other character is forbidden. Buildroot sets the variable -- BR2_EXTERNAL_$(NAME)_PATH to the absolute path of the -- br2-external tree, so that you can use it to refer to your -- br2-external tree. This variable is available both in Kconfig, so -- you can use it to source your Kconfig files (see below) and in -- the Makefile, so that you can use it to include other Makefiles -- (see below) or refer to other files (like data files) from your -- br2-external tree. -- -- Note: Since it is possible to use multiple br2-external trees at -- once, this name is used by Buildroot to generate variables for -- each of those trees. That name is used to identify your -- br2-external tree, so try to come up with a name that really -- describes your br2-external tree, in order for it to be -- relatively unique, so that it does not clash with another name -- from another br2-external tree, especially if you are planning on -- somehow sharing your br2-external tree with third parties or -- using br2-external trees from third parties. -- -- * desc, optional, provides a short description for that -- br2-external tree. It shall fit on a single line, is mostly -- free-form (see below), and is used when displaying information -- about a br2-external tree (e.g. above the list of defconfig -- files, or as the prompt in the menuconfig); as such, it should -- relatively brief (40 chars is probably a good upper limit). The -- description is available in the BR2_EXTERNAL_$(NAME)_DESC -- variable. -- --Examples of names and the corresponding BR2_EXTERNAL_$(NAME)_PATH --variables: -- -- * FOO → BR2_EXTERNAL_FOO_PATH -- * BAR_42 → BR2_EXTERNAL_BAR_42_PATH -- --In the following examples, it is assumed the name to be set to --BAR_42. -- --Note: Both BR2_EXTERNAL_$(NAME)_PATH and BR2_EXTERNAL_$(NAME)_DESC --are available in the Kconfig files and the Makefiles. They are also --exported in the environment so are available in post-build, --post-image and in-fakeroot scripts. -- --9.2.1.2. The Config.in and external.mk files -- --Those files (which may each be empty) can be used to define package --recipes (i.e. foo/Config.in and foo/foo.mk like for packages bundled --in Buildroot itself) or other custom configuration options or make --logic. -- --Buildroot automatically includes the Config.in from each br2-external --tree to make it appear in the top-level configuration menu, and --includes the external.mk from each br2-external tree with the rest of --the makefile logic. -- --The main usage of this is to store package recipes. The recommended --way to do this is to write a Config.in file that looks like: -- --source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" --source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" -- --Then, have an external.mk file that looks like: -- --include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) -- --And then in $(BR2_EXTERNAL_BAR_42_PATH)/package/package1 and $ --(BR2_EXTERNAL_BAR_42_PATH)/package/package2 create normal Buildroot --package recipes, as explained in Chapter 18, Adding new packages to --Buildroot. If you prefer, you can also group the packages in --subdirectories called and adapt the above paths --accordingly. -- --You can also define custom configuration options in Config.in and --custom make logic in external.mk. -- --9.2.1.3. The configs/ directory -- --One can store Buildroot defconfigs in the configs subdirectory of the --br2-external tree. Buildroot will automatically show them in the --output of make list-defconfigs and allow them to be loaded with the --normal make _defconfig command. They will be visible in the --make list-defconfigs output, below an External configs label that --contains the name of the br2-external tree they are defined in. -- --Note: If a defconfig file is present in more than one br2-external --tree, then the one from the last br2-external tree is used. It is --thus possible to override a defconfig bundled in Buildroot or another --br2-external tree. -- --9.2.1.4. The provides/ directory -- --For some packages, Buildroot provides a choice between two (or more) --implementations of API-compatible such packages. For example, there --is a choice to choose either libjpeg ot jpeg-turbo; there is one --between openssl or libressl; there is one to select one of the known, --pre-configured toolchains… -- --It is possible for a br2-external to extend those choices, by --providing a set of files that define those alternatives: -- -- * provides/toolchains.in defines the pre-configured toolchains, -- which will then be listed in the toolchain selection; -- * provides/jpeg.in defines the alternative libjpeg implementations; -- * provides/openssl.in defines the alternative openssl -- implementations; -- * provides/skeleton.in defines the alternative skeleton -- implementations; -- * provides/init.in defines the alternative init system -- implementations, this can be used to select a default skeleton -- for your init. -- --9.2.1.5. Free-form content -- --One can store all the board-specific configuration files there, such --as the kernel configuration, the root filesystem overlay, or any --other configuration file for which Buildroot allows to set the --location (by using the BR2_EXTERNAL_$(NAME)_PATH variable). For --example, you could set the paths to a global patch directory, to a --rootfs overlay and to the kernel configuration file as follows (e.g. --by running make menuconfig and filling in these options): -- --BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ --BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ --BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config -- --9.2.1.6. Additional Linux kernel extensions -- --Additional Linux kernel extensions (see Section 18.21.2, --“linux-kernel-extensionsâ€) can be added by storing them in the linux/ --directory at the root of a br2-external tree. -- --9.2.1.7. Example layout -- --Here is an example layout using all features of br2-external (the --sample content is shown for the file above it, when it is relevant to --explain the br2-external tree; this is all entirely made up just for --the sake of illustration, of course): -- --/path/to/br2-ext-tree/ -- |- external.desc -- | |name: BAR_42 -- | |desc: Example br2-external tree -- | `---- -- | -- |- Config.in -- | |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options" -- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" -- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" -- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in" -- | | -- | |config BAR_42_FLASH_ADDR -- | | hex "my-board flash address" -- | | default 0x10AD -- | `---- -- | -- |- external.mk -- | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) -- | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/toolchain/*/*.mk)) -- | | -- | |flash-my-board: -- | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ -- | | --image $(BINARIES_DIR)/image.bin \ -- | | --address $(BAR_42_FLASH_ADDR) -- | `---- -- | -- |- package/pkg-1/Config.in -- | |config BR2_PACKAGE_PKG_1 -- | | bool "pkg-1" -- | | help -- | | Some help about pkg-1 -- | `---- -- |- package/pkg-1/pkg-1.hash -- |- package/pkg-1/pkg-1.mk -- | |PKG_1_VERSION = 1.2.3 -- | |PKG_1_SITE = /some/where/to/get/pkg-1 -- | |PKG_1_LICENSE = blabla -- | | -- | |define PKG_1_INSTALL_INIT_SYSV -- | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ -- | | $(TARGET_DIR)/etc/init.d/S99my-daemon -- | |endef -- | | -- | |$(eval $(autotools-package)) -- | `---- -- |- package/pkg-1/S99my-daemon -- | -- |- package/pkg-2/Config.in -- |- package/pkg-2/pkg-2.hash -- |- package/pkg-2/pkg-2.mk -- | -- |- provides/jpeg.in -- | |config BR2_PACKAGE_MY_JPEG -- | | bool "my-jpeg" -- | `---- -- |- package/my-jpeg/Config.in -- | |config BR2_PACKAGE_PROVIDES_JPEG -- | | default "my-jpeg" if BR2_PACKAGE_MY_JPEG -- | `---- -- |- package/my-jpeg/my-jpeg.mk -- | |# This is a normal package .mk file -- | |MY_JPEG_VERSION = 1.2.3 -- | |MY_JPEG_SITE = https://example.net/some/place -- | |MY_JPEG_PROVIDES = jpeg -- | |$(eval $(autotools-package)) -- | `---- -- | -- |- provides/init.in -- | |config BR2_INIT_MINE -- | | bool "my custom init" -- | | select BR2_PACKAGE_MY_INIT -- | | select BR2_PACKAGE_SKELETON_INIT_MINE if BR2_ROOTFS_SKELETON_DEFAULT -- | `---- -- | -- |- provides/skeleton.in -- | |config BR2_ROOTFS_SKELETON_MINE -- | | bool "my custom skeleton" -- | | select BR2_PACKAGE_SKELETON_MINE -- | `---- -- |- package/skeleton-mine/Config.in -- | |config BR2_PACKAGE_SKELETON_MINE -- | | bool -- | | select BR2_PACKAGE_HAS_SKELETON -- | | -- | |config BR2_PACKAGE_PROVIDES_SKELETON -- | | default "skeleton-mine" if BR2_PACKAGE_SKELETON_MINE -- | `---- -- |- package/skeleton-mine/skeleton-mine.mk -- | |SKELETON_MINE_ADD_TOOLCHAIN_DEPENDENCY = NO -- | |SKELETON_MINE_ADD_SKELETON_DEPENDENCY = NO -- | |SKELETON_MINE_PROVIDES = skeleton -- | |SKELETON_MINE_INSTALL_STAGING = YES -- | |$(eval $(generic-package)) -- | `---- -- | -- |- provides/toolchains.in -- | |config BR2_TOOLCHAIN_EXTERNAL_MINE -- | | bool "my custom toolchain" -- | | depends on BR2_some_arch -- | | select BR2_INSTALL_LIBSTDCPP -- | `---- -- |- toolchain/toolchain-external-mine/Config.in.options -- | |if BR2_TOOLCHAIN_EXTERNAL_MINE -- | |config BR2_TOOLCHAIN_EXTERNAL_PREFIX -- | | default "arch-mine-linux-gnu" -- | |config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL -- | | default "toolchain-external-mine" -- | |endif -- | `---- -- |- toolchain/toolchain-external-mine/toolchain-external-mine.mk -- | |TOOLCHAIN_EXTERNAL_MINE_SITE = https://example.net/some/place -- | |TOOLCHAIN_EXTERNAL_MINE_SOURCE = my-toolchain.tar.gz -- | |$(eval $(toolchain-external-package)) -- | `---- -- | -- |- linux/Config.ext.in -- | |config BR2_LINUX_KERNEL_EXT_EXAMPLE_DRIVER -- | | bool "example-external-driver" -- | | help -- | | Example external driver -- | |--- -- |- linux/linux-ext-example-driver.mk -- | -- |- configs/my-board_defconfig -- | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" -- | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" -- | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" -- | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config" -- | `---- -- | -- |- patches/linux/0001-some-change.patch -- |- patches/linux/0002-some-other-change.patch -- |- patches/busybox/0001-fix-something.patch -- | -- |- board/my-board/kernel.config -- |- board/my-board/overlay/var/www/index.html -- |- board/my-board/overlay/var/www/my.css -- |- board/my-board/flash-image -- `- board/my-board/post-image.sh -- |#!/bin/sh -- |generate-my-binary-image \ -- | --root ${BINARIES_DIR}/rootfs.tar \ -- | --kernel ${BINARIES_DIR}/zImage \ -- | --dtb ${BINARIES_DIR}/my-board.dtb \ -- | --output ${BINARIES_DIR}/image.bin -- `---- -- --The br2-external tree will then be visible in the menuconfig (with --the layout expanded): -- --External options ---> -- *** Example br2-external tree (in /path/to/br2-ext-tree/) -- [ ] pkg-1 -- [ ] pkg-2 -- (0x10AD) my-board flash address -- --If you are using more than one br2-external tree, it would look like --(with the layout expanded and the second one with name FOO_27 but no --desc: field in external.desc): -- --External options ---> -- Example br2-external tree ---> -- *** Example br2-external tree (in /path/to/br2-ext-tree) -- [ ] pkg-1 -- [ ] pkg-2 -- (0x10AD) my-board flash address -- FOO_27 ---> -- *** FOO_27 (in /path/to/another-br2-ext) -- [ ] foo -- [ ] bar -- --Additionally, the jpeg provider will be visible in the jpeg choice: -- --Target packages ---> -- Libraries ---> -- Graphics ---> -- [*] jpeg support -- jpeg variant () ---> -- ( ) jpeg -- ( ) jpeg-turbo -- *** jpeg from: Example br2-external tree *** -- (X) my-jpeg -- *** jpeg from: FOO_27 *** -- ( ) another-jpeg -- --And similarly for the toolchains: -- --Toolchain ---> -- Toolchain () ---> -- ( ) Custom toolchain -- *** Toolchains from: Example br2-external tree *** -- (X) my custom toolchain -- --Note. The toolchain options in toolchain/toolchain-external-mine/ --Config.in.options will not appear in the Toolchain menu. They must be --explicitly included from within the br2-external’s top-level --Config.in and will thus appear in the External options menu. -- --9.3. Storing the Buildroot configuration -- --The Buildroot configuration can be stored using the command make --savedefconfig. -- --This strips the Buildroot configuration down by removing --configuration options that are at their default value. The result is --stored in a file called defconfig. If you want to save it in another --place, change the BR2_DEFCONFIG option in the Buildroot configuration --itself, or call make with make savedefconfig BR2_DEFCONFIG= --. -- --The recommended place to store this defconfig is configs/ --_defconfig. If you follow this recommendation, the configuration will --be listed in make help and can be set again by running make --_defconfig. -- --Alternatively, you can copy the file to any other place and rebuild --with make defconfig BR2_DEFCONFIG=. -- --9.4. Storing the configuration of other components -- --The configuration files for BusyBox, the Linux kernel, Barebox, --U-Boot and uClibc should be stored as well if changed. For each of --these components, a Buildroot configuration option exists to point to --an input configuration file, e.g. --BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. To store their configuration, --set these configuration options to a path where you want to save the --configuration files, and then use the helper targets described below --to actually store the configuration. -- --As explained in Section 9.1, “Recommended directory structureâ€, the --recommended path to store these configuration files is board/ --//foo.config. -- --Make sure that you create a configuration file before changing the --BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE etc. options. Otherwise, --Buildroot will try to access this config file, which doesn’t exist --yet, and will fail. You can create the configuration file by running --make linux-menuconfig etc. -- --Buildroot provides a few helper targets to make the saving of --configuration files easier. -- -- * make linux-update-defconfig saves the linux configuration to the -- path specified by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. It -- simplifies the config file by removing default values. However, -- this only works with kernels starting from 2.6.33. For earlier -- kernels, use make linux-update-config. -- * make busybox-update-config saves the busybox configuration to the -- path specified by BR2_PACKAGE_BUSYBOX_CONFIG. -- * make uclibc-update-config saves the uClibc configuration to the -- path specified by BR2_UCLIBC_CONFIG. -- * make barebox-update-defconfig saves the barebox configuration to -- the path specified by BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE. -- * make uboot-update-defconfig saves the U-Boot configuration to the -- path specified by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE. -- * For at91bootstrap3, no helper exists so you have to copy the -- config file manually to -- BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE. -- --9.5. 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 Section 9.1, “Recommended directory 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 Section 9.1, “Recommended directory 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 Section 18.5.2, -- “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 Section 8.2, “Understanding when a full rebuild -- is necessary†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 Section 9.5.1, -- “Setting file permissions and ownership and adding custom devices -- nodesâ€) or to create users (see Section 9.6, “Adding custom user -- accountsâ€) -- -- 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. -- --9.5.1. Setting file permissions and ownership and adding custom --devices nodes -- --Sometimes it is needed to set specific permissions or ownership on --files or device nodes. For example, certain files may need to be --owned by root. Since the post-build scripts are not run as root, you --cannot do such changes from there unless you use an explicit fakeroot --from the post-build script. -- --Instead, Buildroot provides support for so-called permission tables. --To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a --space-separated list of permission tables, regular text files --following the makedev syntax. -- --If you are using a static device table (i.e. not using devtmpfs, --mdev, or (e)udev) then you can add device nodes using the same --syntax, in so-called device tables. To use this feature, set config --option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of --device tables. -- --As shown in Section 9.1, “Recommended directory structureâ€, the --recommended location for such files is board///. -- --It should be noted that if the specific permissions or device nodes --are related to a specific application, you should set variables --FOO_PERMISSIONS and FOO_DEVICES in the package’s .mk file instead --(see Section 18.5.2, “generic-package referenceâ€). -- --9.6. Adding custom user accounts -- --Sometimes it is needed to add specific users in the target system. To --cover this requirement, Buildroot provides support for so-called --users tables. To use this feature, set config option --BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, --regular text files following the makeusers syntax. -- --As shown in Section 9.1, “Recommended directory structureâ€, the --recommended location for such files is board///. -- --It should be noted that if the custom users are related to a specific --application, you should set variable FOO_USERS in the package’s .mk --file instead (see Section 18.5.2, “generic-package referenceâ€). -- --9.7. Customization after the images have been created -- --While post-build scripts (Section 9.5, “Customizing the generated --target filesystemâ€) are run before building the filesystem image, --kernel and bootloader, post-image scripts can be used to perform some --specific actions after all images have been created. -- --Post-image scripts can for example be used to automatically extract --your root filesystem tarball in a location exported by your NFS --server, or to create a special firmware image that bundles your root --filesystem and kernel image, or any other custom action required for --your project. -- --To enable this feature, specify a space-separated list of post-image --scripts in config option BR2_ROOTFS_POST_IMAGE_SCRIPT (in the System --configuration menu). If you specify a relative path, it will be --relative to the root of the Buildroot tree. -- --Just like post-build scripts, post-image scripts are run with the --main Buildroot tree as current working directory. The path to the --images output directory 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. -- --Again just like for the post-build scripts, the scripts have access --to the environment variables BR2_CONFIG, HOST_DIR, STAGING_DIR, --TARGET_DIR, BUILD_DIR, BINARIES_DIR, CONFIG_DIR and BASE_DIR. -- --The post-image scripts will be executed as the user that executes --Buildroot, which should normally not be the root user. Therefore, any --action requiring root permissions in one of these scripts will --require special handling (usage of fakeroot or sudo), which is left --to the script developer. -- --9.8. 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: -- -- 1. 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. -- 2. 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 --Section 19.2, “How patches are applied†-- --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. -- --9.9. Adding project-specific packages -- --In general, any new package should be added directly in the package --directory and submitted to the Buildroot upstream project. How to add --packages to Buildroot in general is explained in full detail in --Chapter 18, Adding new packages to Buildroot and will not be repeated --here. However, your project may need some proprietary packages that --cannot be upstreamed. This section will explain how you can keep such --project-specific packages in a project-specific directory. -- --As shown in Section 9.1, “Recommended directory structureâ€, the --recommended location for project-specific packages is package/ --/. If you are using the br2-external tree feature (see --Section 9.2, “Keeping customizations outside of Buildrootâ€) the --recommended location is to put them in a sub-directory named package/ --in your br2-external tree. -- --However, Buildroot will not be aware of the packages in this --location, unless we perform some additional steps. As explained in --Chapter 18, Adding new packages to Buildroot, a package in Buildroot --basically consists of two files: a .mk file (describing how to build --the package) and a Config.in file (describing the configuration --options for this package). -- --Buildroot will automatically include the .mk files in first-level --subdirectories of the package directory (using the pattern package/*/ --*.mk). If we want Buildroot to include .mk files from deeper --subdirectories (like package//package1/) then we simply have --to add a .mk file in a first-level subdirectory that includes these --additional .mk files. Therefore, create a file package// --.mk with following contents (assuming you have only one --extra directory level below package//): -- --include $(sort $(wildcard package//*/*.mk)) -- --For the Config.in files, create a file package//Config.in --that includes the Config.in files of all your packages. An exhaustive --list has to be provided since wildcards are not supported in the --source command of kconfig. For example: -- --source "package//package1/Config.in" --source "package//package2/Config.in" -- --Include this new file package//Config.in from package/ --Config.in, preferably in a company-specific menu to make merges with --future Buildroot versions easier. -- --If using a br2-external tree, refer to Section 9.2, “Keeping --customizations outside of Buildroot†for how to fill in those files. -- --9.10. 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. -- 2. make linux-menuconfig to update the kernel config, similar for -- other configuration like busybox, uclibc, … -- 3. mkdir -p board// -- 4. 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 -- 5. 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 -- 6. 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. -- 7. Create a post-build script board/// -- post_build.sh. Set BR2_ROOTFS_POST_BUILD_SCRIPT to board/ -- //post_build.sh -- 8. 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. -- 9. If additional user accounts have to be created, create board/ -- //users_table.txt and add that path to -- BR2_ROOTFS_USERS_TABLES. --10. 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. --11. 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. --12. 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. --13. make savedefconfig to save the buildroot configuration. --14. cp defconfig configs/_defconfig -- --Chapter 10. Using SELinux in Buildroot -- --SELinux [https://selinuxproject.org] is a Linux kernel security --module enforcing access control policies. In addition to the --traditional file permissions and access control lists, SELinux allows --to write rules for users or processes to access specific functions of --resources (files, sockets…). -- --SELinux has three modes of operation: -- -- * Disabled: the policy is not applied -- * Permissive: the policy is applied, and non-authorized actions are -- simply logged. This mode is often used for troubleshooting -- SELinux issues. -- * Enforcing: the policy is applied, and non-authorized actions are -- denied -- --In Buildroot the mode of operation is controlled by the --BR2_PACKAGE_REFPOLICY_POLICY_STATE_* configuration options. The Linux --kernel also has various configuration options that affect how SELinux --is enabled (see security/selinux/Kconfig in the Linux kernel --sources). -- --By default in Buildroot the SELinux policy is provided by the --upstream refpolicy [https://github.com/SELinuxProject/refpolicy] --project, enabled with BR2_PACKAGE_REFPOLICY. -- --10.1. Enabling SELinux support -- --To have proper support for SELinux in a Buildroot generated system, --the following configuration options must be enabled: -- -- * BR2_PACKAGE_LIBSELINUX -- * BR2_PACKAGE_REFPOLICY -- --In addition, your filesystem image format must support extended --attributes. -- --10.2. SELinux policy tweaking -- --The SELinux refpolicy contains modules that can be enabled or --disabled when being built. Each module provide a number of SELinux --rules. In Buildroot the non-base modules are disabled by default and --several ways to enable such modules are provided: -- -- * Packages can enable a list of SELinux modules within the -- refpolicy using the _SELINUX_MODULES variable. -- * Packages can provide additional SELinux modules by putting them -- (.fc, .if and .te files) in package//selinux/. -- * Extra SELinux modules can be added in directories pointed by the -- BR2_REFPOLICY_EXTRA_MODULES_DIRS configuration option. -- * Additional modules in the refpolicy can be enabled if listed in -- the BR2_REFPOLICY_EXTRA_MODULES_DEPENDENCIES configuration -- option. -- --Buildroot also allows to completely override the refpolicy. This --allows to provide a full custom policy designed specifically for a --given system. When going this way, all of the above mechanisms are --disabled: no extra SElinux module is added to the policy, and all the --available modules within the custom policy are enabled and built into --the final binary policy. The custom policy must be a fork of the --official refpolicy [https://github.com/SELinuxProject/refpolicy]. -- --In order to fully override the refpolicy the following configuration --variables have to be set: -- -- * BR2_PACKAGE_REFPOLICY_CUSTOM_GIT -- * BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL -- * BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION -- --Chapter 11. Frequently Asked Questions & Troubleshooting -- --11.1. 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. -- --11.2. 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: -- -- * openembedded [http://www.openembedded.org] -- * yocto [https://www.yoctoproject.org] -- * emdebian [http://www.emdebian.org] -- * Fedora [https://fedoraproject.org/wiki/Architectures] -- * openSUSE ARM [http://en.opensuse.org/Portal:ARM] -- * Arch Linux ARM [http://archlinuxarm.org] -- * … -- --11.3. Why are there no development files on the target? -- --Since there is no compiler available on the target (see Section 11.2, --“Why is there no compiler on the 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. -- --11.4. 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: Section 11.2, “Why is there no compiler on the --target?â€). -- --11.5. 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 Section 8.1, “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 Section 8.1, “make --tips†for more explanations). -- --11.6. 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. -- --11.7. 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, Open Embedded [http:// -- openembedded.org/], or openWRT [https://openwrt.org/], 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. -- --11.8. 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: Section 8.14.3, “Using ccache -- in Buildrootâ€); -- * Learn about rebuilding only the few packages you actually care -- about (see Section 8.3, “Understanding how to rebuild packagesâ€), -- but beware that sometimes full rebuilds are anyway necessary (see -- Section 8.2, “Understanding when a full rebuild is necessaryâ€); -- * 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 Section 8.12, -- “Top-level parallel buildâ€. -- --Chapter 12. Known issues -- -- * It is not possible to pass extra linker options via -- BR2_TARGET_LDFLAGS if such options contain a $ sign. For example, -- the following is known to break: BR2_TARGET_LDFLAGS="-Wl,-rpath= -- '$ORIGIN/../lib'" -- * The libffi package is not supported on the SuperH 2 and ARC -- architectures. -- * The prboom package triggers a compiler failure with the SuperH 4 -- compiler from Sourcery CodeBench, version 2012.09. -- --Chapter 13. Legal notice and licensing -- --13.1. Complying with open source licenses -- --All of the end products of Buildroot (toolchain, root filesystem, --kernel, bootloaders) contain open source software, released under --various licenses. -- --Using open source software gives you the freedom to build rich --embedded systems, choosing from a wide range of packages, but also --imposes some obligations that you must know and honour. Some licenses --require you to publish the license text in the documentation of your --product. Others require you to redistribute the source code of the --software to those that receive your product. -- --The exact requirements of each license are documented in each --package, and it is your responsibility (or that of your legal office) --to comply with those requirements. To make this easier for you, --Buildroot can collect for you some material you will probably need. --To produce this material, after you have configured Buildroot with --make menuconfig, make xconfig or make gconfig, run: -- --make legal-info -- --Buildroot will collect legally-relevant material in your output --directory, under the legal-info/ subdirectory. There you will find: -- -- * A README file, that summarizes the produced material and contains -- warnings about material that Buildroot could not produce. -- * buildroot.config: this is the Buildroot configuration file that -- is usually produced with make menuconfig, and which is necessary -- to reproduce the build. -- * The source code for all packages; this is saved in the sources/ -- and host-sources/ subdirectories for target and host packages -- respectively. The source code for packages that set -- _REDISTRIBUTE = NO will not be saved. Patches that were applied -- are also saved, along with a file named series that lists the -- patches in the order they were applied. Patches are under the -- same license as the files that they modify. Note: Buildroot -- applies additional patches to Libtool scripts of autotools-based -- packages. These patches can be found under support/libtool in the -- Buildroot source and, due to technical limitations, are not saved -- with the package sources. You may need to collect them manually. -- * A manifest file (one for host and one for target packages) -- listing the configured packages, their version, license and -- related information. Some of this information might not be -- defined in Buildroot; such items are marked as "unknown". -- * The license texts of all packages, in the licenses/ and -- host-licenses/ subdirectories for target and host packages -- respectively. If the license file(s) are not defined in -- Buildroot, the file is not produced and a warning in the README -- indicates this. -- --Please note that the aim of the legal-info feature of Buildroot is to --produce all the material that is somehow relevant for legal --compliance with the package licenses. Buildroot does not try to --produce the exact material that you must somehow make public. --Certainly, more material is produced than is needed for a strict --legal compliance. For example, it produces the source code for --packages released under BSD-like licenses, that you are not required --to redistribute in source form. -- --Moreover, due to technical limitations, Buildroot does not produce --some material that you will or may need, such as the toolchain source --code for some of the external toolchains and the Buildroot source --code itself. When you run make legal-info, Buildroot produces --warnings in the README file to inform you of relevant material that --could not be saved. -- --Finally, keep in mind that the output of make legal-info is based on --declarative statements in each of the packages recipes. The Buildroot --developers try to do their best to keep those declarative statements --as accurate as possible, to the best of their knowledge. However, it --is very well possible that those declarative statements are not all --fully accurate nor exhaustive. You (or your legal department) have to --check the output of make legal-info before using it as your own --compliance delivery. See the NO WARRANTY clauses (clauses 11 and 12) --in the COPYING file at the root of the Buildroot distribution. -- --13.2. Complying with the Buildroot license -- --Buildroot itself is an open source software, released under the GNU --General Public License, version 2 [http://www.gnu.org/licenses/ --old-licenses/gpl-2.0.html] or (at your option) any later version, --with the exception of the package patches detailed below. However, --being a build system, it is not normally part of the end product: if --you develop the root filesystem, kernel, bootloader or toolchain for --a device, the code of Buildroot is only present on the development --machine, not in the device storage. -- --Nevertheless, the general view of the Buildroot developers is that --you should release the Buildroot source code along with the source --code of other packages when releasing a product that contains --GPL-licensed software. This is because the GNU GPL [http:// --www.gnu.org/licenses/old-licenses/gpl-2.0.html] defines the "complete --source code" for an executable work as "all the source code for all --modules it contains, plus any associated interface definition files, --plus the scripts used to control compilation and installation of the --executable". Buildroot is part of the scripts used to control --compilation and installation of the executable, and as such it is --considered part of the material that must be redistributed. -- --Keep in mind that this is only the Buildroot developers' opinion, and --you should consult your legal department or lawyer in case of any --doubt. -- --13.2.1. Patches to packages -- --Buildroot also bundles patch files, which are applied to the sources --of the various packages. Those patches are not covered by the license --of Buildroot. Instead, they are covered by the license of the --software to which the patches are applied. When said software is --available under multiple licenses, the Buildroot patches are only --provided under the publicly accessible licenses. -- --See Chapter 19, Patching a package for the technical details. -- --Chapter 14. Beyond Buildroot -- --14.1. Boot the generated images -- --14.1.1. NFS boot -- --To achieve NFS-boot, enable tar root filesystem in the Filesystem --images menu. -- --After a complete build, just run the following commands to setup the --NFS-root directory: -- --sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir -- --Remember to add this path to /etc/exports. -- --Then, you can execute a NFS-boot from your target. -- --14.1.2. Live CD -- --To build a live CD image, enable the iso image option in the --Filesystem images menu. Note that this option is only available on --the x86 and x86-64 architectures, and if you are building your kernel --with Buildroot. -- --You can build a live CD image with either IsoLinux, Grub or Grub 2 as --a bootloader, but only Isolinux supports making this image usable --both as a live CD and live USB (through the Build hybrid image --option). -- --You can test your live CD image using QEMU: -- --qemu-system-i386 -cdrom output/images/rootfs.iso9660 -- --Or use it as a hard-drive image if it is a hybrid ISO: -- --qemu-system-i386 -hda output/images/rootfs.iso9660 -- --It can be easily flashed to a USB drive with dd: -- --dd if=output/images/rootfs.iso9660 of=/dev/sdb -- --14.2. Chroot -- --If you want to chroot in a generated image, then there are few thing --you should be aware of: -- -- * you should setup the new root from the tar root filesystem image; -- * either the selected target architecture is compatible with your -- host machine, or you should use some qemu-* binary and correctly -- set it within the binfmt properties to be able to run the -- binaries built for the target on your host machine; -- * Buildroot does not currently provide host-qemu and binfmt -- correctly built and set for that kind of use. -- --Part III. Developer guide -- --Table of Contents -- --15. How Buildroot works --16. Coding style -- -- 16.1. Config.in file -- 16.2. The .mk file -- 16.3. The documentation -- 16.4. Support scripts -- --17. Adding support for a particular board --18. Adding new packages to Buildroot -- -- 18.1. Package directory -- 18.2. Config files -- 18.3. The .mk file -- 18.4. The .hash file -- 18.5. Infrastructure for packages with specific build systems -- 18.6. Infrastructure for autotools-based packages -- 18.7. Infrastructure for CMake-based packages -- 18.8. Infrastructure for Python packages -- 18.9. Infrastructure for LuaRocks-based packages -- 18.10. Infrastructure for Perl/CPAN packages -- 18.11. Infrastructure for virtual packages -- 18.12. Infrastructure for packages using kconfig for -- configuration files -- 18.13. Infrastructure for rebar-based packages -- 18.14. Infrastructure for Waf-based packages -- 18.15. Infrastructure for Meson-based packages -- 18.16. Integration of Cargo-based packages -- 18.17. Infrastructure for Go packages -- 18.18. Infrastructure for QMake-based packages -- 18.19. Infrastructure for packages building kernel modules -- 18.20. Infrastructure for asciidoc documents -- 18.21. Infrastructure specific to the Linux kernel package -- 18.22. Hooks available in the various build steps -- 18.23. Gettext integration and interaction with packages -- 18.24. Tips and tricks -- 18.25. Conclusion -- --19. Patching a package -- -- 19.1. Providing patches -- 19.2. How patches are applied -- 19.3. Format and licensing of the package patches -- 19.4. Integrating patches found on the Web -- --20. Download infrastructure --21. Debugging Buildroot --22. Contributing to Buildroot -- -- 22.1. Reproducing, analyzing and fixing bugs -- 22.2. Analyzing and fixing autobuild failures -- 22.3. Reviewing and testing patches -- 22.4. Work on items from the TODO list -- 22.5. Submitting patches -- 22.6. Reporting issues/bugs or getting help -- 22.7. Using the runtime tests framework -- --23. DEVELOPERS file and get-developers --24. Release Engineering -- -- 24.1. Releases -- 24.2. Development -- --Chapter 15. How Buildroot works -- --As mentioned above, Buildroot is basically a set of Makefiles that --download, configure, and compile software with the correct options. --It also includes patches for various software packages - mainly the --ones involved in the cross-compilation toolchain (gcc, binutils and --uClibc). -- --There is basically one Makefile per software package, and they are --named with the .mk extension. Makefiles are split into many different --parts. -- -- * The toolchain/ directory contains the Makefiles and associated -- files for all software related to the cross-compilation -- toolchain: binutils, gcc, gdb, kernel-headers and uClibc. -- * The arch/ directory contains the definitions for all the -- processor architectures that are supported by Buildroot. -- * The package/ directory contains the Makefiles and associated -- files for all user-space tools and libraries that Buildroot can -- compile and add to the target root filesystem. There is one -- sub-directory per package. -- * The linux/ directory contains the Makefiles and associated files -- for the Linux kernel. -- * The boot/ directory contains the Makefiles and associated files -- for the bootloaders supported by Buildroot. -- * The system/ directory contains support for system integration, -- e.g. the target filesystem skeleton and the selection of an init -- system. -- * The fs/ directory contains the Makefiles and associated files for -- software related to the generation of the target root filesystem -- image. -- --Each directory contains at least 2 files: -- -- * something.mk is the Makefile that downloads, configures, compiles -- and installs the package something. -- * Config.in is a part of the configuration tool description file. -- It describes the options related to the package. -- --The main Makefile performs the following steps (once the --configuration is done): -- -- * Create all the output directories: staging, target, build, etc. -- in the output directory (output/ by default, another value can be -- specified using O=) -- * Generate the toolchain target. When an internal toolchain is -- used, this means generating the cross-compilation toolchain. When -- an external toolchain is used, this means checking the features -- of the external toolchain and importing it into the Buildroot -- environment. -- * Generate all the targets listed in the TARGETS variable. This -- variable is filled by all the individual components' Makefiles. -- Generating these targets will trigger the compilation of the -- userspace packages (libraries, programs), the kernel, the -- bootloader and the generation of the root filesystem images, -- depending on the configuration. -- --Chapter 16. 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. -- --16.1. 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. -- --16.2. 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_PYTHON),y) -- LIBFOO_CONF_OPTS += --with-python-support -- LIBFOO_DEPENDENCIES += python -- else -- LIBFOO_CONF_OPTS += --without-python-support -- endif -- -- NO: -- -- LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support -- LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) -- -- + 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 -- --16.3. The documentation -- --The documentation uses the asciidoc [http://www.methods.co.nz/ --asciidoc/] format. -- --For further details about the asciidoc syntax, refer to http:// --www.methods.co.nz/asciidoc/userguide.html. -- --16.4. Support scripts -- --Some scripts in the support/ and utils/ directories are written in --Python and should follow the PEP8 Style Guide for Python Code [https: --//www.python.org/dev/peps/pep-0008/]. -- --Chapter 17. 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 Chapter 9, Project-specific --customization for more details. -- --Chapter 18. 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 Section 18.24.3, “How to test your packageâ€) and also check it --for coding style (see Section 18.24.2, “How to check the coding --styleâ€). -- --18.1. 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. -- --18.2. 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. -- --18.2.1. 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" -- --18.2.2. 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. -- --18.2.3. 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 Section 18.2.4, “Dependencies -- on target and 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" -- select BR2_PACKAGE_B -- depends on BR2_PACKAGE_A -- --config BR2_PACKAGE_E -- bool "Package E" -- select BR2_PACKAGE_D -- depends on BR2_PACKAGE_A -- --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 the coding style. -- --18.2.4. 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 -- --18.2.5. 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 -- --18.2.6. 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 -- --18.2.7. Dependencies on features provided by virtual packages -- --Some features can be provided by more than one package, such as the --openGL libraries. -- --See Section 18.11, “Infrastructure for virtual packages†for more on --the virtual packages. -- --18.3. The .mk file -- --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 tutorial and a 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 tutorial -- and 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 tutorial and reference. -- * Makefiles for Python modules: We have a dedicated infrastructure -- for Python modules that use either the distutils or the -- setuptools mechanism. We cover them through a tutorial and a -- reference. -- * Makefiles for Lua modules: We have a dedicated infrastructure for -- Lua modules available through the LuaRocks web site. We cover -- them through a tutorial and a reference. -- --Further formatting details: see the writing rules. -- --18.4. 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, none -- * the hash of the file: -- -- + for none, one or more non-space chars, usually just the -- string xxx -- + 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 Section 19.2, “How patches --are appliedâ€). -- --The none hash type is reserved to those archives downloaded from a --repository, like a git clone, a subversion checkout… -- --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 -- --# No hash for 1234: --none xxx libfoo-1234.tar.gz -- --# 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. -- --18.5. 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. -- --18.5.1. 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. -- --Example 18.1. 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 -- -- --Example 18.2. 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. -- --18.5.2. 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 -- 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 Section 18.24.4, “How to add a package from -- GitHub†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. 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://. -- + 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 Section 18.22.1, “Using the POST_RSYNC hookâ€. -- * 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_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 Section 18.11, “Infrastructure for virtual -- packagesâ€. -- * 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 Chapter 25, Makedev syntax documentation. 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 Chapter 25, Makedev syntax documentation. 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 Chapter 26, Makeusers -- syntax documentation. 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 the SPDX -- License List [https://spdx.org/licenses/], 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 Chapter 13, Legal notice and -- licensing 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 CPE identifier [https://nvd.nist.gov/ -- products/cpe]. 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 Section 8.12, “Top-level parallel build†for more -- details about per-package directory support. -- --Finally, you can also use hooks. See Section 18.22, “Hooks available --in the various build steps†for more information. -- --18.6. Infrastructure for autotools-based packages -- --18.6.1. 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. -- --18.6.2. 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 Section 18.22, “Hooks available in the -- various build steps†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. -- --18.7. Infrastructure for CMake-based packages -- --18.7.1. 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. -- --18.7.2. 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 Section 18.22, “Hooks available in the -- various build steps†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. -- --18.8. Infrastructure for Python packages -- --This infrastructure applies to Python packages that use the standard --Python setuptools mechanism as their build system, generally --recognizable by the usage of a setup.py script. -- --18.8.1. 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 two --supported ones are distutils 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. -- --18.8.2. 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). -- --Packages that are only compatible with one version of Python (as in: --Python 2 or Python 3) should depend on that version explicitely in --their Config.in file (BR2_PACKAGE_PYTHON for Python 2, --BR2_PACKAGE_PYTHON3 for Python 3). Packages that are compatible with --both versions should not explicitely depend on them in their --Config.in file, since that condition is already expressed for the --whole "External python modules" menu. -- --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 --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 two supported values are distutils and -- setuptools. If you don’t know which one is used in your package, -- look at the setup.py file in your package source code, and see -- whether it imports things from the distutils module or the -- setuptools module. -- --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 file. This is useful, -- if for example, the main setup.py 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 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) and -- HOST_PKG_PYTHON_SETUPTOOLS_ENV (for setuptools host packages). -- * PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to -- the Python setup.py script during the build step. 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 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) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host -- setuptools packages). -- * HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python -- interpreter. The usage of this variable is limited to host -- packages. The two supported value are python2 and python3. It -- will ensure the right host python package is available and will -- invoke it for the build. If some build steps are overloaded, the -- right python interpreter must be explicitly called in the -- commands. -- --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 Section 18.22, “Hooks available in the -- various build steps†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. -- --18.8.3. 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 here [https:// --pypi.python.org]. -- --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 -- --18.8.4. 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)) -- --18.9. Infrastructure for LuaRocks-based packages -- --18.9.1. luarocks-package tutorial -- --First, let’s see how to write a .mk file for a LuaRocks-based --package, with an example : -- --01: ################################################################################ --02: # --03: # lua-foo --04: # --05: ################################################################################ --06: --07: LUA_FOO_VERSION = 1.0.2-1 --08: LUA_FOO_NAME_UPSTREAM = foo --09: LUA_FOO_DEPENDENCIES = bar --10: --11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include --12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib --13: LUA_FOO_LICENSE = luaFoo license --14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING --15: --16: $(eval $(luarocks-package)) -- --On line 7, we declare the version of the package (the same as in the --rockspec, which is the concatenation of the upstream version and the --rockspec revision, separated by a hyphen -). -- --On line 8, we declare that the package is called "foo" on LuaRocks. --In Buildroot, we give Lua-related packages a name that starts with --"lua", so the Buildroot name is different from the upstream name. --LUA_FOO_NAME_UPSTREAM makes the link between the two names. -- --On line 9, we declare our dependencies against native libraries, so --that they are built before the build process of our package starts. -- --On lines 11-12, we tell Buildroot to pass custom options to LuaRocks --when it is building the package. -- --On lines 13-14, we specify the licensing terms for the package. -- --Finally, on line 16, we invoke the luarocks-package macro that --generates all the Makefile rules that actually allows the package to --be built. -- --Most of these details can be retrieved from the rock and rockspec. --So, this file and the Config.in file can be generated by running the --command luarocks buildroot foo lua-foo in the Buildroot directory. --This command runs a specific Buildroot addon of luarocks that will --automatically generate a Buildroot package. The result must still be --manually inspected and possibly modified. -- -- * The package/Config.in file has to be updated manually to include -- the generated Config.in files. -- --18.9.2. luarocks-package reference -- --LuaRocks is a deployment and management system for Lua modules, and --supports various build.type: builtin, make and cmake. In the context --of Buildroot, the luarocks-package infrastructure only supports the --builtin mode. LuaRocks packages that use the make or cmake build --mechanisms should instead be packaged using the generic-package and --cmake-package infrastructures in Buildroot, respectively. -- --The main macro of the LuaRocks package infrastructure is --luarocks-package: like generic-package it works by defining a number --of variables providing metadata information about the package, and --then calling luarocks-package. -- --Just like the generic infrastructure, the LuaRocks infrastructure --works by defining a number of variables before calling the --luarocks-package macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the LuaRocks infrastructure: --LUA_FOO_VERSION, LUA_FOO_SOURCE, LUA_FOO_SITE, LUA_FOO_DEPENDENCIES, --LUA_FOO_LICENSE, LUA_FOO_LICENSE_FILES. -- --Two of them are populated by the LuaRocks infrastructure (for the --download step). If your package is not hosted on the LuaRocks mirror --$(BR2_LUAROCKS_MIRROR), you can override them: -- -- * LUA_FOO_SITE, which defaults to $(BR2_LUAROCKS_MIRROR) -- * LUA_FOO_SOURCE, which defaults to $(lowercase -- LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock -- --A few additional variables, specific to the LuaRocks infrastructure, --are also defined. They can be overridden in specific cases. -- -- * LUA_FOO_NAME_UPSTREAM, which defaults to lua-foo, i.e. the -- Buildroot package name -- * LUA_FOO_ROCKSPEC, which defaults to $(lowercase -- LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec -- * LUA_FOO_SUBDIR, which defaults to $(LUA_FOO_NAME_UPSTREAM)-$ -- (LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION) -- * LUA_FOO_BUILD_OPTS contains additional build options for the -- luarocks build call. -- --18.10. Infrastructure for Perl/CPAN packages -- --18.10.1. perl-package tutorial -- --First, let’s see how to write a .mk file for a Perl/CPAN package, --with an example : -- --01: ################################################################################ --02: # --03: # perl-foo-bar --04: # --05: ################################################################################ --06: --07: PERL_FOO_BAR_VERSION = 0.02 --08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz --09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER --10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures --11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ --12: PERL_FOO_BAR_LICENSE_FILES = LICENSE --13: PERL_FOO_BAR_DISTNAME = Foo-Bar --14: --15: $(eval $(perl-package)) -- --On line 7, we declare the version of the package. -- --On line 8 and 9, we declare the name of the tarball and the location --of the tarball on a CPAN server. Buildroot will automatically --download the tarball from this location. -- --On line 10, we declare our dependencies, so that they are built --before the build process of our package starts. -- --On line 11 and 12, we give licensing details about the package (its --license on line 11, and the file containing the license text on line --12). -- --On line 13, the name of the distribution as needed by the script --utils/scancpan (in order to regenerate/upgrade these package files). -- --Finally, on line 15, we invoke the perl-package macro that generates --all the Makefile rules that actually allow the package to be built. -- --Most of these data can be retrieved from https://metacpan.org/. So, --this file and the Config.in can be generated by running the script --utils/scancpan Foo-Bar in the Buildroot directory (or in a --br2-external tree). This script creates a Config.in file and --foo-bar.mk file for the requested package, and also recursively for --all dependencies specified by CPAN. You should still manually edit --the result. In particular, the following things should be checked. -- -- * If the perl module links with a shared library that is provided -- by another (non-perl) package, this dependency is not added -- automatically. It has to be added manually to -- PERL_FOO_BAR_DEPENDENCIES. -- * The package/Config.in file has to be updated manually to include -- the generated Config.in files. As a hint, the scancpan script -- prints out the required source "…" statements, sorted -- alphabetically. -- --18.10.2. perl-package reference -- --As a policy, packages that provide Perl/CPAN modules should all be --named perl- in Buildroot. -- --This infrastructure handles various Perl build systems : --ExtUtils-MakeMaker (EUMM), Module-Build (MB) and Module-Build-Tiny. --Build.PL is preferred by default when a package provides a --Makefile.PL and a Build.PL. -- --The main macro of the Perl/CPAN package infrastructure is --perl-package. It is similar to the generic-package macro. The ability --to have target and host packages is also available, with the --host-perl-package macro. -- --Just like the generic infrastructure, the Perl/CPAN infrastructure --works by defining a number of variables before calling the --perl-package macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the Perl/CPAN --infrastructure: PERL_FOO_VERSION, PERL_FOO_SOURCE, PERL_FOO_PATCH, --PERL_FOO_SITE, PERL_FOO_SUBDIR, PERL_FOO_DEPENDENCIES, --PERL_FOO_INSTALL_TARGET. -- --Note that setting PERL_FOO_INSTALL_STAGING to YES has no effect --unless a PERL_FOO_INSTALL_STAGING_CMDS variable is defined. The perl --infrastructure doesn’t define these commands since Perl modules --generally don’t need to be installed to the staging directory. -- --A few additional variables, specific to the Perl/CPAN 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. -- -- * PERL_FOO_PREFER_INSTALLER/HOST_PERL_FOO_PREFER_INSTALLER, -- specifies the preferred installation method. Possible values are -- EUMM (for Makefile.PL based installation using -- ExtUtils-MakeMaker) and MB (for Build.PL based installation using -- Module-Build). This variable is only used when the package -- provides both installation methods. -- * PERL_FOO_CONF_ENV/HOST_PERL_FOO_CONF_ENV, to specify additional -- environment variables to pass to the perl Makefile.PL or perl -- Build.PL. By default, empty. -- * PERL_FOO_CONF_OPTS/HOST_PERL_FOO_CONF_OPTS, to specify additional -- configure options to pass to the perl Makefile.PL or perl -- Build.PL. By default, empty. -- * PERL_FOO_BUILD_OPTS/HOST_PERL_FOO_BUILD_OPTS, to specify -- additional options to pass to make pure_all or perl Build build -- in the build step. By default, empty. -- * PERL_FOO_INSTALL_TARGET_OPTS, to specify additional options to -- pass to make pure_install or perl Build install in the install -- step. By default, empty. -- * HOST_PERL_FOO_INSTALL_OPTS, to specify additional options to pass -- to make pure_install or perl Build install in the install step. -- By default, empty. -- --18.11. Infrastructure for virtual packages -- --In Buildroot, a virtual package is a package whose functionalities --are provided by one or more packages, referred to as providers. The --virtual package management is an extensible mechanism allowing the --user to choose the provider used in the rootfs. -- --For example, OpenGL ES is an API for 2D and 3D graphics on embedded --systems. The implementation of this API is different for the --Allwinner Tech Sunxi and the Texas Instruments OMAP35xx platforms. So --libgles will be a virtual package and sunxi-mali and ti-gfx will be --the providers. -- --18.11.1. virtual-package tutorial -- --In the following example, we will explain how to add a new virtual --package (something-virtual) and a provider for it (some-provider). -- --First, let’s create the virtual package. -- --18.11.2. Virtual package’s Config.in file -- --The Config.in file of virtual package something-virtual should --contain: -- --01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL --02: bool --03: --04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL --05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL --06: string -- --In this file, we declare two options, --BR2_PACKAGE_HAS_SOMETHING_VIRTUAL and --BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL, whose values will be used by --the providers. -- --18.11.3. Virtual package’s .mk file -- --The .mk for the virtual package should just evaluate the --virtual-package macro: -- --01: ################################################################################ --02: # --03: # something-virtual --04: # --05: ################################################################################ --06: --07: $(eval $(virtual-package)) -- --The ability to have target and host packages is also available, with --the host-virtual-package macro. -- --18.11.4. Provider’s Config.in file -- --When adding a package as a provider, only the Config.in file requires --some modifications. -- --The Config.in file of the package some-provider, which provides the --functionalities of something-virtual, should contain: -- --01: config BR2_PACKAGE_SOME_PROVIDER --02: bool "some-provider" --03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL --04: help --05: This is a comment that explains what some-provider is. --06: --07: http://foosoftware.org/some-provider/ --08: --09: if BR2_PACKAGE_SOME_PROVIDER --10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL --11: default "some-provider" --12: endif -- --On line 3, we select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL, and on line --11, we set the value of BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL to the --name of the provider, but only if it is selected. -- --18.11.5. Provider’s .mk file -- --The .mk file should also declare an additional variable --SOME_PROVIDER_PROVIDES to contain the names of all the virtual --packages it is an implementation of: -- --01: SOME_PROVIDER_PROVIDES = something-virtual -- --Of course, do not forget to add the proper build and runtime --dependencies for this package! -- --18.11.6. Notes on depending on a virtual package -- --When adding a package that requires a certain FEATURE provided by a --virtual package, you have to use depends on BR2_PACKAGE_HAS_FEATURE, --like so: -- --config BR2_PACKAGE_HAS_FEATURE -- bool -- --config BR2_PACKAGE_FOO -- bool "foo" -- depends on BR2_PACKAGE_HAS_FEATURE -- --18.11.7. Notes on depending on a specific provider -- --If your package really requires a specific provider, then you’ll have --to make your package depends on this provider; you can not select a --provider. -- --Let’s take an example with two providers for a FEATURE: -- --config BR2_PACKAGE_HAS_FEATURE -- bool -- --config BR2_PACKAGE_FOO -- bool "foo" -- select BR2_PACKAGE_HAS_FEATURE -- --config BR2_PACKAGE_BAR -- bool "bar" -- select BR2_PACKAGE_HAS_FEATURE -- --And you are adding a package that needs FEATURE as provided by foo, --but not as provided by bar. -- --If you were to use select BR2_PACKAGE_FOO, then the user would still --be able to select BR2_PACKAGE_BAR in the menuconfig. This would --create a configuration inconsistency, whereby two providers of the --same FEATURE would be enabled at once, one explicitly set by the --user, the other implicitly by your select. -- --Instead, you have to use depends on BR2_PACKAGE_FOO, which avoids any --implicit configuration inconsistency. -- --18.12. Infrastructure for packages using kconfig for configuration --files -- --A popular way for a software package to handle user-specified --configuration is kconfig. Among others, it is used by the Linux --kernel, Busybox, and Buildroot itself. The presence of a .config file --and a menuconfig target are two well-known symptoms of kconfig being --used. -- --Buildroot features an infrastructure for packages that use kconfig --for their configuration. This infrastructure provides the necessary --logic to expose the package’s menuconfig target as foo-menuconfig in --Buildroot, and to handle the copying back and forth of the --configuration file in a correct way. -- --The kconfig-package infrastructure is based on the generic-package --infrastructure. All variables supported by generic-package are --available in kconfig-package as well. See Section 18.5.2, --“generic-package reference†for more details. -- --In order to use the kconfig-package infrastructure for a Buildroot --package, the minimally required lines in the .mk file, in addition to --the variables required by the generic-package infrastructure, are: -- --FOO_KCONFIG_FILE = reference-to-source-configuration-file -- --$(eval $(kconfig-package)) -- --This snippet creates the following make targets: -- -- * foo-menuconfig, which calls the package’s menuconfig target -- * foo-update-config, which copies the configuration back to the -- source configuration file. It is not possible to use this target -- when fragment files are set. -- * foo-update-defconfig, which copies the configuration back to the -- source configuration file. The configuration file will only list -- the options that differ from the default values. It is not -- possible to use this target when fragment files are set. -- * foo-diff-config, which outputs the differences between the -- current configuration and the one defined in the Buildroot -- configuration for this kconfig package. The output is useful to -- identify the configuration changes that may have to be propagated -- to configuration fragments for example. -- --and ensures that the source configuration file is copied to the build --directory at the right moment. -- --There are two options to specify a configuration file to use, either --FOO_KCONFIG_FILE (as in the example, above) or FOO_KCONFIG_DEFCONFIG. --It is mandatory to provide either, but not both: -- -- * FOO_KCONFIG_FILE specifies the path to a defconfig or full-config -- file to be used to configure the package. -- * FOO_KCONFIG_DEFCONFIG specifies the defconfig make rule to call -- to configure the package. -- --In addition to these minimally required lines, several optional --variables can be set to suit the needs of the package under --consideration: -- -- * FOO_KCONFIG_EDITORS: a space-separated list of kconfig editors to -- support, for example menuconfig xconfig. By default, menuconfig. -- * FOO_KCONFIG_FRAGMENT_FILES: a space-separated list of -- configuration fragment files that are merged to the main -- configuration file. Fragment files are typically used when there -- is a desire to stay in sync with an upstream (def)config file, -- with some minor modifications. -- * FOO_KCONFIG_OPTS: extra options to pass when calling the kconfig -- editors. This may need to include $(FOO_MAKE_OPTS), for example. -- By default, empty. -- * FOO_KCONFIG_FIXUP_CMDS: a list of shell commands needed to fixup -- the configuration file after copying it or running a kconfig -- editor. Such commands may be needed to ensure a configuration -- consistent with other configuration of Buildroot, for example. By -- default, empty. -- * FOO_KCONFIG_DOTCONFIG: path (with filename) of the .config file, -- relative to the package source tree. The default, .config, should -- be well suited for all packages that use the standard kconfig -- infrastructure as inherited from the Linux kernel; some packages -- use a derivative of kconfig that use a different location. -- * FOO_KCONFIG_DEPENDENCIES: the list of packages (most probably, -- host packages) that need to be built before this package’s -- kconfig is interpreted. Seldom used. By default, empty. -- * FOO_KCONFIG_SUPPORTS_DEFCONFIG: whether the package’s kconfig -- system supports using defconfig files; few packages do not. By -- default, YES. -- --18.13. Infrastructure for rebar-based packages -- --18.13.1. rebar-package tutorial -- --First, let’s see how to write a .mk file for a rebar-based package, --with an example : -- --01: ################################################################################ --02: # --03: # erlang-foobar --04: # --05: ################################################################################ --06: --07: ERLANG_FOOBAR_VERSION = 1.0 --08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz --09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download --10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb --11: --12: $(eval $(rebar-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 declare our dependencies, so that they are built --before the build process of our package starts. -- --Finally, on line 12, we invoke the rebar-package macro that generates --all the Makefile rules that actually allows the package to be built. -- --18.13.2. rebar-package reference -- --The main macro of the rebar package infrastructure is rebar-package. --It is similar to the generic-package macro. The ability to have host --packages is also available, with the host-rebar-package macro. -- --Just like the generic infrastructure, the rebar infrastructure works --by defining a number of variables before calling the rebar-package --macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the rebar infrastructure: --ERLANG_FOOBAR_VERSION, ERLANG_FOOBAR_SOURCE, ERLANG_FOOBAR_PATCH, --ERLANG_FOOBAR_SITE, ERLANG_FOOBAR_SUBDIR, ERLANG_FOOBAR_DEPENDENCIES, --ERLANG_FOOBAR_INSTALL_STAGING, ERLANG_FOOBAR_INSTALL_TARGET, --ERLANG_FOOBAR_LICENSE and ERLANG_FOOBAR_LICENSE_FILES. -- --A few additional variables, specific to the rebar 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. -- -- * ERLANG_FOOBAR_USE_AUTOCONF, to specify that the package uses -- autoconf at the configuration step. When a package sets this -- variable to YES, the autotools infrastructure is used. -- -- Note. You can also use some of the variables from the autotools -- infrastructure: ERLANG_FOOBAR_CONF_ENV, ERLANG_FOOBAR_CONF_OPTS, -- ERLANG_FOOBAR_AUTORECONF, ERLANG_FOOBAR_AUTORECONF_ENV and -- ERLANG_FOOBAR_AUTORECONF_OPTS. -- -- * ERLANG_FOOBAR_USE_BUNDLED_REBAR, to specify that the package has -- a bundled version of rebar and that it shall be used. Valid -- values are YES or NO (the default). -- -- Note. If the package bundles a rebar utility, but can use the -- generic one that Buildroot provides, just say NO (i.e., do not -- specify this variable). Only set if it is mandatory to use the -- rebar utility bundled in this package. -- -- * ERLANG_FOOBAR_REBAR_ENV, to specify additional environment -- variables to pass to the rebar utility. -- * ERLANG_FOOBAR_KEEP_DEPENDENCIES, to keep the dependencies -- described in the rebar.config file. Valid values are YES or NO -- (the default). Unless this variable is set to YES, the rebar -- infrastructure removes such dependencies in a post-patch hook to -- ensure rebar does not download nor compile them. -- --With the rebar infrastructure, all the steps required to build and --install the packages are already defined, and they generally work --well for most rebar-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 Section 18.22, “Hooks available in the -- various build steps†for details. -- * By overriding one of the steps. For example, even if the rebar -- infrastructure is used, if the package .mk file defines its own -- ERLANG_FOOBAR_BUILD_CMDS variable, it will be used instead of the -- default rebar one. However, using this method should be -- restricted to very specific cases. Do not use it in the general -- case. -- --18.14. Infrastructure for Waf-based packages -- --18.14.1. waf-package tutorial -- --First, let’s see how to write a .mk file for a Waf-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_CONF_OPTS = --enable-bar --disable-baz --11: LIBFOO_DEPENDENCIES = bar --12: --13: $(eval $(waf-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 what options to enable for libfoo. -- --On line 11, we tell Buildroot the dependencies of libfoo. -- --Finally, on line line 13, we invoke the waf-package macro that --generates all the Makefile rules that actually allows the package to --be built. -- --18.14.2. waf-package reference -- --The main macro of the Waf package infrastructure is waf-package. It --is similar to the generic-package macro. -- --Just like the generic infrastructure, the Waf infrastructure works by --defining a number of variables before calling the waf-package macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the Waf infrastructure: --LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, --LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, --LIBFOO_INSTALL_TARGET. -- --An additional variable, specific to the Waf infrastructure, can also --be defined. -- -- * LIBFOO_SUBDIR may contain the name of a subdirectory inside the -- package that contains the main wscript file. This is useful, if -- for example, the main wscript 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_NEEDS_EXTERNAL_WAF can be set to YES or NO to tell -- Buildroot to use the bundled waf executable. If set to NO, the -- default, then Buildroot will use the waf executable provided in -- the package source tree; if set to YES, then Buildroot will -- download, install waf as a host tool and use it to build the -- package. -- * LIBFOO_WAF_OPTS, to specify additional options to pass to the waf -- script at every step of the package build process: configure, -- build and installation. By default, empty. -- * LIBFOO_CONF_OPTS, to specify additional options to pass to the -- waf script for the configuration step. By default, empty. -- * LIBFOO_BUILD_OPTS, to specify additional options to pass to the -- waf script during the build step. By default, empty. -- * LIBFOO_INSTALL_STAGING_OPTS, to specify additional options to -- pass to the waf script during the staging installation step. By -- default, empty. -- * LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass -- to the waf script during the target installation step. By -- default, empty. -- --18.15. Infrastructure for Meson-based packages -- --18.15.1. meson-package tutorial -- --Meson [http://mesonbuild.com] is an open source build system meant to --be both extremely fast, and, even more importantly, as user friendly --as possible. It uses Ninja [https://ninja-build.org] as a companion --tool to perform the actual build operations. -- --Let’s see how to write a .mk file for a Meson-based package, with an --example: -- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.0 --08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz --09: FOO_SITE = http://www.foosoftware.org/download --10: FOO_LICENSE = GPL-3.0+ --11: FOO_LICENSE_FILES = COPYING --12: FOO_INSTALL_STAGING = YES --13: --14: FOO_DEPENDENCIES = host-pkgconf bar --15: --16: ifeq ($(BR2_PACKAGE_BAZ),y) --17: FOO_CONF_OPTS += -Dbaz=true --18: FOO_DEPENDENCIES += baz --19: else --20: FOO_CONF_OPTS += -Dbaz=false --21: endif --22: --23: $(eval $(meson-package)) -- --The Makefile starts with the definition of the standard variables for --package declaration (lines 7 to 11). -- --On line line 23, we invoke the meson-package macro that generates all --the Makefile rules that actually allows the package to be built. -- --In the example, host-pkgconf and bar are declared as dependencies in --FOO_DEPENDENCIES at line 14 because the Meson build file of foo uses --pkg-config to determine the compilation flags and libraries of --package bar. -- --Note that it is not necessary to add host-meson in the --FOO_DEPENDENCIES variable of a package, since this basic dependency --is automatically added as needed by the Meson package infrastructure. -- --If the "baz" package is selected, then support for the "baz" feature --in "foo" is activated by adding -Dbaz=true to FOO_CONF_OPTS at line --17, as specified in the meson_options.txt file in "foo" source tree. --The "baz" package is also added to FOO_DEPENDENCIES. Note that the --support for baz is explicitly disabled at line 20, if the package is --not selected. -- --To sum it up, to add a new meson-based package, the Makefile example --can be copied verbatim then edited to replace all occurences of FOO --with the uppercase name of the new package and update the values of --the standard variables. -- --18.15.2. meson-package reference -- --The main macro of the Meson package infrastructure is meson-package. --It is similar to the generic-package macro. The ability to have --target and host packages is also available, with the --host-meson-package macro. -- --Just like the generic infrastructure, the Meson infrastructure works --by defining a number of variables before calling the meson-package --macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the Meson infrastructure: --FOO_VERSION, FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, --FOO_DEPENDENCIES, FOO_INSTALL_STAGING, FOO_INSTALL_TARGET. -- --A few additional variables, specific to the Meson infrastructure, can --also be defined. Many of them are only useful in very specific cases, --typical packages will therefore only use a few of them. -- -- * FOO_SUBDIR may contain the name of a subdirectory inside the -- package that contains the main meson.build file. This is useful, -- if for example, the main meson.build file is not at the root of -- the tree extracted by the tarball. If HOST_FOO_SUBDIR is not -- specified, it defaults to FOO_SUBDIR. -- * FOO_CONF_ENV, to specify additional environment variables to pass -- to meson for the configuration step. By default, empty. -- * FOO_CONF_OPTS, to specify additional options to pass to meson for -- the configuration step. By default, empty. -- * FOO_CFLAGS, to specify compiler arguments added to the package -- specific cross-compile.conf file c_args property. By default, the -- value of TARGET_CFLAGS. -- * FOO_CXXFLAGS, to specify compiler arguments added to the package -- specific cross-compile.conf file cpp_args property. By default, -- the value of TARGET_CXXFLAGS. -- * FOO_LDFLAGS, to specify compiler arguments added to the package -- specific cross-compile.conf file c_link_args and cpp_link_args -- properties. By default, the value of TARGET_LDFLAGS. -- * FOO_MESON_EXTRA_BINARIES, to specify a space-separated list of -- programs to add to the [binaries] section of the meson -- cross-compilation.conf configuration file. The format is -- program-name='/path/to/program', with no space around the = sign, -- and with the path of the program between single quotes. By -- default, empty. Note that Buildroot already sets the correct -- values for c, cpp, ar, strip, and pkgconfig. -- * FOO_MESON_EXTRA_PROPERTIES, to specify a space-separated list of -- properties to add to the [properties] section of the meson -- cross-compilation.conf configuration file. The format is -- property-name= with no space around the = sign, and with -- single quotes around string values. By default, empty. Note that -- Buildroot already sets values for needs_exe_wrapper, c_args, -- c_link_args, cpp_args, cpp_link_args, sys_root, and -- pkg_config_libdir. -- * FOO_NINJA_ENV, to specify additional environment variables to -- pass to ninja, meson companion tool in charge of the build -- operations. By default, empty. -- * FOO_NINJA_OPTS, to specify a space-separated list of targets to -- build. By default, empty, to build the default target(s). -- --18.16. Integration of Cargo-based packages -- --Cargo is the package manager for the Rust programming language. It --allows the user to build programs or libraries written in Rust, but --it also downloads and manages their dependencies, to ensure --repeatable builds. Cargo packages are called "crates". -- --18.16.1. Cargo-based package’s Config.in file -- --The Config.in file of Cargo-based package foo should contain: -- --01: config BR2_PACKAGE_FOO --02: bool "foo" --03: depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS --04: select BR2_PACKAGE_HOST_RUSTC --05: help --06: This is a comment that explains what foo is. --07: --08: http://foosoftware.org/foo/ -- --18.16.2. Cargo-based package’s .mk file -- --Buildroot does not (yet) provide a dedicated package infrastructure --for Cargo-based packages. So, we will explain how to write a .mk file --for such a package. Let’s start with an example: -- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.0 --08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz --09: FOO_SITE = http://www.foosoftware.org/download --10: FOO_LICENSE = GPL-3.0+ --11: FOO_LICENSE_FILES = COPYING --12: --13: FOO_DEPENDENCIES = host-rustc --14: --15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo --16: --17: FOO_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(FOO_CARGO_MODE) --18: --19: FOO_CARGO_OPTS = \ --20: $(if $(BR2_ENABLE_DEBUG),,--release) \ --21: --target=$(RUSTC_TARGET_NAME) \ --22: --manifest-path=$(@D)/Cargo.toml --23: --24: define FOO_BUILD_CMDS --25: $(TARGET_MAKE_ENV) $(FOO_CARGO_ENV) \ --26: cargo build $(FOO_CARGO_OPTS) --27: endef --28: --29: define FOO_INSTALL_TARGET_CMDS --30: $(INSTALL) -D -m 0755 $(@D)/$(FOO_BIN_DIR)/foo \ --31: $(TARGET_DIR)/usr/bin/foo --32: endef --33: --34: $(eval $(generic-package)) -- --The Makefile starts with the definition of the standard variables for --package declaration (lines 7 to 11). -- --As seen in line 34, it is based on the generic-package infrastructure --. So, it defines the variables required by this particular --infrastructure, where Cargo is invoked: -- -- * FOO_BUILD_CMDS: Cargo is invoked to perform the build. The -- options required to configure the cross-compilation of the -- package are passed via FOO_CONF_OPTS. -- * FOO_INSTALL_TARGET_CMDS: The binary executable generated is -- installed on the target. -- --In order to have Cargo available for the build, FOO_DEPENDENCIES --needs to contain host-cargo. -- --To sum it up, to add a new Cargo-based package, the Makefile example --can be copied verbatim then edited to replace all occurences of FOO --with the uppercase name of the new package and update the values of --the standard variables. -- --18.16.3. About Dependencies Management -- --A crate can depend on other libraries from crates.io or git --repositories, listed in its Cargo.toml file. Before starting a build, --Cargo usually downloads automatically them. This step can also be --performed independently, via the cargo fetch command. -- --Cargo maintains a local cache of the registry index and of git --checkouts of the crates, whose location is given by $CARGO_HOME. As --seen in the package Makefile example at line 15, this environment --variable is set to $(HOST_DIR)/share/cargo. -- --This dependency download mechanism is not convenient when performing --an offline build, as Cargo will fail to fetch the dependencies. In --that case, it is advised to generate a tarball of the dependencies --using the cargo vendor and add it to FOO_EXTRA_DOWNLOADS. -- --18.17. Infrastructure for Go packages -- --This infrastructure applies to Go packages that use the standard --build system and use bundled dependencies. -- --18.17.1. golang-package tutorial -- --First, let’s see how to write a .mk file for a go package, with an --example : -- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.0 --08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)) --09: FOO_LICENSE = BSD-3-Clause --10: FOO_LICENSE_FILES = LICENSE --11: --12: $(eval $(golang-package)) -- --On line 7, we declare the version of the package. -- --On line 8, we declare the upstream location of the package, here --fetched from Github, since a large number of Go packages are hosted --on Github. -- --On line 9 and 10, we give licensing details about the package. -- --Finally, on line 12, we invoke the golang-package macro that --generates all the Makefile rules that actually allow the package to --be built. -- --18.17.2. golang-package reference -- --In their Config.in file, packages using the golang-package --infrastructure should depend on --BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS because Buildroot will --automatically add a dependency on host-go to such packages. If you --need CGO support in your package, you must add a dependency on --BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS. -- --The main macro of the Go package infrastructure is golang-package. It --is similar to the generic-package macro. The ability to build host --packages is also available, with the host-golang-package macro. Host --packages built by host-golang-package macro should depend on --BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS. -- --Just like the generic infrastructure, the Go infrastructure works by --defining a number of variables before calling the golang-package. -- --All the package metadata information variables that exist in the --generic package infrastructure also exist in the Go infrastructure: --FOO_VERSION, FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, --FOO_DEPENDENCIES, FOO_LICENSE, FOO_LICENSE_FILES, --FOO_INSTALL_STAGING, etc. -- --Note that it is not necessary to add host-go in the FOO_DEPENDENCIES --variable of a package, since this basic dependency is automatically --added as needed by the Go package infrastructure. -- --A few additional variables, specific to the Go 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. -- -- * The package must specify its Go module name in the FOO_GOMOD -- variable. If not specified, it defaults to URL-domain/ -- 1st-part-of-URL/2nd-part-of-URL, e.g FOO_GOMOD will take the -- value github.com/bar/foo for a package that specifies FOO_SITE = -- $(call github,bar,foo,$(FOO_VERSION)). The Go package -- infrastructure will automatically generate a minimal go.mod file -- in the package source tree if it doesn’t exist. -- * FOO_LDFLAGS and FOO_TAGS can be used to pass respectively the -- LDFLAGS or the TAGS to the go build command. -- * FOO_BUILD_TARGETS can be used to pass the list of targets that -- should be built. If FOO_BUILD_TARGETS is not specified, it -- defaults to .. We then have two cases: -- -- + FOO_BUILD_TARGETS is .. In this case, we assume only one -- binary will be produced, and that by default we name it after -- the package name. If that is not appropriate, the name of the -- produced binary can be overridden using FOO_BIN_NAME. -- + FOO_BUILD_TARGETS is not .. In this case, we iterate over the -- values to build each target, and for each produced a binary -- that is the non-directory component of the target. For -- example if FOO_BUILD_TARGETS = cmd/docker cmd/dockerd the -- binaries produced are docker and dockerd. -- * FOO_INSTALL_BINS can be used to pass the list of binaries that -- should be installed in /usr/bin on the target. If -- FOO_INSTALL_BINS is not specified, it defaults to the lower-case -- name of package. -- --With the Go infrastructure, all the steps required to build and --install the packages are already defined, and they generally work --well for most Go-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 Section 18.22, “Hooks available in the -- various build steps†for details. -- * By overriding one of the steps. For example, even if the Go -- infrastructure is used, if the package .mk file defines its own -- FOO_BUILD_CMDS variable, it will be used instead of the default -- Go one. However, using this method should be restricted to very -- specific cases. Do not use it in the general case. -- --18.18. Infrastructure for QMake-based packages -- --18.18.1. qmake-package tutorial -- --First, let’s see how to write a .mk file for a QMake-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_CONF_OPTS = QT_CONFIG+=bar QT_CONFIG-=baz --11: LIBFOO_DEPENDENCIES = bar --12: --13: $(eval $(qmake-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 what options to enable for libfoo. -- --On line 11, we tell Buildroot the dependencies of libfoo. -- --Finally, on line line 13, we invoke the qmake-package macro that --generates all the Makefile rules that actually allows the package to --be built. -- --18.18.2. qmake-package reference -- --The main macro of the QMake package infrastructure is qmake-package. --It is similar to the generic-package macro. -- --Just like the generic infrastructure, the QMake infrastructure works --by defining a number of variables before calling the qmake-package --macro. -- --First, all the package metadata information variables that exist in --the generic infrastructure also exist in the QMake infrastructure: --LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, --LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, --LIBFOO_INSTALL_TARGET. -- --An additional variable, specific to the QMake infrastructure, can --also be defined. -- -- * LIBFOO_CONF_ENV, to specify additional environment variables to -- pass to the qmake script for the configuration step. By default, -- empty. -- * LIBFOO_CONF_OPTS, to specify additional options to pass to the -- qmake script for the configuration step. By default, empty. -- * LIBFOO_MAKE_ENV, to specify additional environment variables to -- the make command during the build and install steps. By default, -- empty. -- * LIBFOO_MAKE_OPTS, to specify additional targets to pass to the -- make command during the build step. By default, empty. -- * LIBFOO_INSTALL_STAGING_OPTS, to specify additional targets to -- pass to the make command during the staging installation step. By -- default, install. -- * LIBFOO_INSTALL_TARGET_OPTS, to specify additional targets to pass -- to the make command during the target installation step. By -- default, install. -- * LIBFOO_SYNC_QT_HEADERS, to run syncqt.pl before qmake. Some -- packages need this to have a properly populated include directory -- before running the build. -- --18.19. Infrastructure for packages building kernel modules -- --Buildroot offers a helper infrastructure to make it easy to write --packages that build and install Linux kernel modules. Some packages --only contain a kernel module, other packages contain programs and --libraries in addition to kernel modules. Buildroot’s helper --infrastructure supports either case. -- --18.19.1. kernel-module tutorial -- --Let’s start with an example on how to prepare a simple package that --only builds a kernel module, and no other component: -- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.2.3 --08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz --09: FOO_SITE = http://www.foosoftware.org/download --10: FOO_LICENSE = GPL-2.0 --11: FOO_LICENSE_FILES = COPYING --12: --13: $(eval $(kernel-module)) --14: $(eval $(generic-package)) -- --Lines 7-11 define the usual meta-data to specify the version, archive --name, remote URI where to find the package source, licensing --information. -- --On line 13, we invoke the kernel-module helper infrastructure, that --generates all the appropriate Makefile rules and variables to build --that kernel module. -- --Finally, on line 14, we invoke the generic-package infrastructure. -- --The dependency on linux is automatically added, so it is not needed --to specify it in FOO_DEPENDENCIES. -- --What you may have noticed is that, unlike other package --infrastructures, we explicitly invoke a second infrastructure. This --allows a package to build a kernel module, but also, if needed, use --any one of other package infrastructures to build normal userland --components (libraries, executables…). Using the kernel-module --infrastructure on its own is not sufficient; another package --infrastructure must be used. -- --Let’s look at a more complex example: -- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: FOO_VERSION = 1.2.3 --08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz --09: FOO_SITE = http://www.foosoftware.org/download --10: FOO_LICENSE = GPL-2.0 --11: FOO_LICENSE_FILES = COPYING --12: --13: FOO_MODULE_SUBDIRS = driver/base --14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) --15: --16: ifeq ($(BR2_PACKAGE_LIBBAR),y) --17: FOO_DEPENDENCIES = libbar --18: FOO_CONF_OPTS = --enable-bar --19: FOO_MODULE_SUBDIRS += driver/bar --20: else --21: FOO_CONF_OPTS = --disable-bar --22: endif --23: --24: $(eval $(kernel-module)) --26: $(eval $(autotools-package)) -- --Here, we see that we have an autotools-based package, that also --builds the kernel module located in sub-directory driver/base and, if --libbar is enabled, the kernel module located in sub-directory driver/ --bar, and defines the variable KVERSION to be passed to the Linux --buildsystem when building the module(s). -- --18.19.2. kernel-module reference -- --The main macro for the kernel module infrastructure is kernel-module. --Unlike other package infrastructures, it is not stand-alone, and --requires any of the other *-package macros be called after it. -- --The kernel-module macro defines post-build and post-target-install --hooks to build the kernel modules. If the package’s .mk needs access --to the built kernel modules, it should do so in a post-build hook, --registered after the call to kernel-module. Similarly, if the --package’s .mk needs access to the kernel module after it has been --installed, it should do so in a post-install hook, registered after --the call to kernel-module. Here’s an example: -- --$(eval $(kernel-module)) -- --define FOO_DO_STUFF_WITH_KERNEL_MODULE -- # Do something with it... --endef --FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE -- --$(eval $(generic-package)) -- --Finally, unlike the other package infrastructures, there is no --host-kernel-module variant to build a host kernel module. -- --The following additional variables can optionally be defined to --further configure the build of the kernel module: -- -- * FOO_MODULE_SUBDIRS may be set to one or more sub-directories -- (relative to the package source top-directory) where the kernel -- module sources are. If empty or not set, the sources for the -- kernel module(s) are considered to be located at the top of the -- package source tree. -- * FOO_MODULE_MAKE_OPTS may be set to contain extra variable -- definitions to pass to the Linux buildsystem. -- --You may also reference (but you may not set!) those variables: -- -- * LINUX_DIR contains the path to where the Linux kernel has been -- extracted and built. -- * LINUX_VERSION contains the version string as configured by the -- user. -- * LINUX_VERSION_PROBED contains the real version string of the -- kernel, retrieved with running make -C $(LINUX_DIR) kernelrelease -- * KERNEL_ARCH contains the name of the current architecture, like -- arm, mips… -- --18.20. Infrastructure for asciidoc documents -- --The Buildroot manual, which you are currently reading, is entirely --written using the AsciiDoc [http://asciidoc.org/] 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 --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. -- --18.20.1. 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 $(pkgdir)/*)) --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. -- --18.20.2. 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 Section 18.22, “Hooks available --in the various build steps†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. ditaa [http:// -- ditaa.sourceforge.net/] or aafigure [https://pythonhosted.org/ -- aafigure/]). -- * FOO_CHECK_DEPENDENCIES__HOOKS, to run additional tests for -- the specified format (see the list of rendered formats, -- above). -- --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 $(pkgdir)/*)) --08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/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)) -- --18.21. Infrastructure specific to the Linux kernel package -- --The Linux kernel package can use some specific infrastructures based --on package hooks for building Linux kernel tools or/and building --Linux kernel extensions. -- --18.21.1. linux-kernel-tools -- --Buildroot offers a helper infrastructure to build some userspace --tools for the target available within the Linux kernel sources. Since --their source code is part of the kernel source code, a special --package, linux-tools, exists and re-uses the sources of the Linux --kernel that runs on the target. -- --Let’s look at an example of a Linux tool. For a new Linux tool named --foo, create a new menu entry in the existing package/linux-tools/ --Config.in. This file will contain the option descriptions related to --each kernel tool that will be used and displayed in the configuration --tool. It would basically look like: -- --01: config BR2_PACKAGE_LINUX_TOOLS_FOO --02: bool "foo" --03: select BR2_PACKAGE_LINUX_TOOLS --04: help --05: This is a comment that explains what foo kernel tool is. --06: --07: http://foosoftware.org/foo/ -- --The name of the option starts with the prefix --BR2_PACKAGE_LINUX_TOOLS_, followed by the uppercase name of the tool --(like is done for packages). -- --Note. Unlike other packages, the linux-tools package options appear --in the linux kernel menu, under the Linux Kernel Tools sub-menu, not --under the Target packages main menu. -- --Then for each linux tool, add a new .mk.in file named package/ --linux-tools/linux-tool-foo.mk.in. It would basically look like: -- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: LINUX_TOOLS += foo --08: --09: FOO_DEPENDENCIES = libbbb --10: --11: define FOO_BUILD_CMDS --12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo --13: endef --14: --15: define FOO_INSTALL_STAGING_CMDS --16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ --17: DESTDIR=$(STAGING_DIR) \ --18: foo_install --19: endef --20: --21: define FOO_INSTALL_TARGET_CMDS --22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ --23: DESTDIR=$(TARGET_DIR) \ --24: foo_install --25: endef -- --On line 7, we register the Linux tool foo to the list of available --Linux tools. -- --On line 9, we specify the list of dependencies this tool relies on. --These dependencies are added to the Linux package dependencies list --only when the foo tool is selected. -- --The rest of the Makefile, lines 11-25 defines what should be done at --the different steps of the Linux tool build process like for a --generic package. They will actually be used only when the foo tool is --selected. The only supported commands are _BUILD_CMDS, --_INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS. -- --Note. One must not call $(eval $(generic-package)) or any other --package infrastructure! Linux tools are not packages by themselves, --they are part of the linux-tools package. -- --18.21.2. linux-kernel-extensions -- --Some packages provide new features that require the Linux kernel tree --to be modified. This can be in the form of patches to be applied on --the kernel tree, or in the form of new files to be added to the tree. --The Buildroot’s Linux kernel extensions infrastructure provides a --simple solution to automatically do this, just after the kernel --sources are extracted and before the kernel patches are applied. --Examples of extensions packaged using this mechanism are the --real-time extensions Xenomai and RTAI, as well as the set of --out-of-tree LCD screens drivers fbtft. -- --Let’s look at an example on how to add a new Linux extension foo. -- --First, create the package foo that provides the extension: this --package is a standard package; see the previous chapters on how to --create such a package. This package is in charge of downloading the --sources archive, checking the hash, defining the licence informations --and building user space tools if any. -- --Then create the Linux extension proper: create a new menu entry in --the existing linux/Config.ext.in. This file contains the option --descriptions related to each kernel extension that will be used and --displayed in the configuration tool. It would basically look like: -- --01: config BR2_LINUX_KERNEL_EXT_FOO --02: bool "foo" --03: help --04: This is a comment that explains what foo kernel extension is. --05: --06: http://foosoftware.org/foo/ -- --Then for each linux extension, add a new .mk file named linux/ --linux-ext-foo.mk. It should basically contain: -- --01: ################################################################################ --02: # --03: # foo --04: # --05: ################################################################################ --06: --07: LINUX_EXTENSIONS += foo --08: --09: define FOO_PREPARE_KERNEL --10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) --11: endef -- --On line 7, we add the Linux extension foo to the list of available --Linux extensions. -- --On line 9-11, we define what should be done by the extension to --modify the Linux kernel tree; this is specific to the linux extension --and can use the variables defined by the foo package, like: $ --(FOO_DIR) or $(FOO_VERSION)… as well as all the Linux variables, --like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… --See the definition of those kernel variables. -- --18.22. Hooks available in the various build steps -- --The generic infrastructure (and as a result also the derived --autotools and cmake infrastructures) allow packages to specify hooks. --These define further actions to perform after existing steps. Most --hooks aren’t really useful for generic packages, since the .mk file --already has full control over the actions performed in each step of --the package construction. -- --The following hook points are available: -- -- * LIBFOO_PRE_DOWNLOAD_HOOKS -- * LIBFOO_POST_DOWNLOAD_HOOKS -- * LIBFOO_PRE_EXTRACT_HOOKS -- * LIBFOO_POST_EXTRACT_HOOKS -- * LIBFOO_PRE_RSYNC_HOOKS -- * LIBFOO_POST_RSYNC_HOOKS -- * LIBFOO_PRE_PATCH_HOOKS -- * LIBFOO_POST_PATCH_HOOKS -- * LIBFOO_PRE_CONFIGURE_HOOKS -- * LIBFOO_POST_CONFIGURE_HOOKS -- * LIBFOO_PRE_BUILD_HOOKS -- * LIBFOO_POST_BUILD_HOOKS -- * LIBFOO_PRE_INSTALL_HOOKS (for host packages only) -- * LIBFOO_POST_INSTALL_HOOKS (for host packages only) -- * LIBFOO_PRE_INSTALL_STAGING_HOOKS (for target packages only) -- * LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) -- * LIBFOO_PRE_INSTALL_TARGET_HOOKS (for target packages only) -- * LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) -- * LIBFOO_PRE_INSTALL_IMAGES_HOOKS -- * LIBFOO_POST_INSTALL_IMAGES_HOOKS -- * LIBFOO_PRE_LEGAL_INFO_HOOKS -- * LIBFOO_POST_LEGAL_INFO_HOOKS -- --These variables are lists of variable names containing actions to be --performed at this hook point. This allows several hooks to be --registered at a given hook point. Here is an example: -- --define LIBFOO_POST_PATCH_FIXUP -- action1 -- action2 --endef -- --LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP -- --18.22.1. Using the POST_RSYNC hook -- --The POST_RSYNC hook is run only for packages that use a local source, --either through the local site method or the OVERRIDE_SRCDIR --mechanism. In this case, package sources are copied using rsync from --the local location into the buildroot build directory. The rsync --command does not copy all files from the source directory, though. --Files belonging to a version control system, like the directories --.git, .hg, etc. are not copied. For most packages this is sufficient, --but a given package can perform additional actions using the --POST_RSYNC hook. -- --In principle, the hook can contain any command you want. One specific --use case, though, is the intentional copying of the version control --directory using rsync. The rsync command you use in the hook can, --among others, use the following variables: -- -- * $(SRCDIR): the path to the overridden source directory -- * $(@D): the path to the build directory -- --18.22.2. Target-finalize hook -- --Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. --These hooks are run after all packages are built, but before the --filesystem images are generated. They are seldom used, and your --package probably do not need them. -- --18.23. 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. -- 2. 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. -- 3. 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. -- --18.24. Tips and tricks -- --18.24.1. Package name, config entry name and makefile variable --relationship -- --In Buildroot, there is some relationship between: -- -- * the package name, which is the package directory name (and the -- name of the *.mk file); -- * the config entry name that is declared in the Config.in file; -- * the makefile variable prefix. -- --It is mandatory to maintain consistency between these elements, using --the following rules: -- -- * the package directory and the *.mk name are the package name -- itself (e.g.: package/foo-bar_boo/foo-bar_boo.mk); -- * the make target name is the package name itself (e.g.: -- foo-bar_boo); -- * the config entry is the upper case package name with . and - -- characters substituted with _, prefixed with BR2_PACKAGE_ (e.g.: -- BR2_PACKAGE_FOO_BAR_BOO); -- * the *.mk file variable prefix is the upper case package name with -- . and - characters substituted with _ (e.g.: -- FOO_BAR_BOO_VERSION). -- --18.24.2. How to check the coding style -- --Buildroot provides a script in utils/check-package that checks new or --changed files for coding style. It is not a complete language --validator, but it catches many common mistakes. It is meant to run in --the actual files you created or modified, before creating the patch --for submission. -- --This script can be used for packages, filesystem makefiles, Config.in --files, etc. It does not check the files defining the package --infrastructures and some other files containing similar common code. -- --To use it, run the check-package script, by telling which files you --created or changed: -- --$ ./utils/check-package package/new-package/* -- --If you have the utils directory in your path you can also run: -- --$ cd package/new-package/ --$ check-package * -- --The tool can also be used for packages in a br2-external: -- --$ check-package -b /path/to/br2-ext-tree/package/my-package/* -- --18.24.3. How to test your package -- --Once you have added your new package, it is important that you test --it under various conditions: does it build for all architectures? --Does it build with the different C libraries? Does it need threads, --NPTL? And so on… -- --Buildroot runs autobuilders [http://autobuild.buildroot.org/] which --continuously test random configurations. However, these only build --the master branch of the git tree, and your new fancy package is not --yet there. -- --Buildroot provides a script in utils/test-pkg that uses the same base --configurations as used by the autobuilders so you can test your --package in the same conditions. -- --First, create a config snippet that contains all the necessary --options needed to enable your package, but without any architecture --or toolchain option. For example, let’s create a config snippet that --just enables libcurl, without any TLS backend: -- --$ cat libcurl.config --BR2_PACKAGE_LIBCURL=y -- --If your package needs more configuration options, you can add them to --the config snippet. For example, here’s how you would test libcurl --with openssl as a TLS backend and the curl program: -- --$ cat libcurl.config --BR2_PACKAGE_LIBCURL=y --BR2_PACKAGE_LIBCURL_CURL=y --BR2_PACKAGE_OPENSSL=y -- --Then run the test-pkg script, by telling it what config snippet to --use and what package to test: -- --$ ./utils/test-pkg -c libcurl.config -p libcurl -- --By default, test-pkg will build your package against a subset of the --toolchains used by the autobuilders, which has been selected by the --Buildroot developers as being the most useful and representative --subset. If you want to test all toolchains, pass the -a option. Note --that in any case, internal toolchains are excluded as they take too --long to build. -- --The output lists all toolchains that are tested and the corresponding --result (excerpt, results are fake): -- --$ ./utils/test-pkg -c libcurl.config -p libcurl -- armv5-ctng-linux-gnueabi [ 1/11]: OK -- armv7-ctng-linux-gnueabihf [ 2/11]: OK -- br-aarch64-glibc [ 3/11]: SKIPPED -- br-arcle-hs38 [ 4/11]: SKIPPED -- br-arm-basic [ 5/11]: FAILED -- br-arm-cortex-a9-glibc [ 6/11]: OK -- br-arm-cortex-a9-musl [ 7/11]: FAILED -- br-arm-cortex-m4-full [ 8/11]: OK -- br-arm-full [ 9/11]: OK -- br-arm-full-nothread [10/11]: FAILED -- br-arm-full-static [11/11]: OK --11 builds, 2 skipped, 2 build failed, 1 legal-info failed -- --The results mean: -- -- * OK: the build was successful. -- * SKIPPED: one or more configuration options listed in the config -- snippet were not present in the final configuration. This is due -- to options having dependencies not satisfied by the toolchain, -- such as for example a package that depends on BR2_USE_MMU with a -- noMMU toolchain. The missing options are reported in -- missing.config in the output build directory (~/br-test-pkg/ -- TOOLCHAIN_NAME/ by default). -- * FAILED: the build failed. Inspect the logfile file in the output -- build directory to see what went wrong: -- -- + the actual build failed, -- + the legal-info failed, -- + one of the preliminary steps (downloading the config file, -- applying the configuration, running dirclean for the package) -- failed. -- --When there are failures, you can just re-run the script with the same --options (after you fixed your package); the script will attempt to --re-build the package specified with -p for all toolchains, without --the need to re-build all the dependencies of that package. -- --The test-pkg script accepts a few options, for which you can get some --help by running: -- --$ ./utils/test-pkg -h -- --18.24.4. How to add a package from GitHub -- --Packages on GitHub often don’t have a download area with release --tarballs. However, it is possible to download tarballs directly from --the repository on GitHub. As GitHub is known to have changed download --mechanisms in the past, the github helper function should be used as --shown below. -- --# Use a tag or a full commit ID --FOO_VERSION = 1.0 --FOO_SITE = $(call github,,,v$(FOO_VERSION)) -- --Notes -- -- * The FOO_VERSION can either be a tag or a commit ID. -- * The tarball name generated by github matches the default one from -- Buildroot (e.g.: -- foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), so it is -- not necessary to specify it in the .mk file. -- * When using a commit ID as version, you should use the full 40 hex -- characters. -- * When the tag contains a prefix such as v in v1.0, then the -- VERSION variable should contain just 1.0, and the v should be -- added directly in the SITE variable, as illustrated above. This -- ensures that the VERSION variable value can be used to match -- against release-monitoring.org [http://www.release-monitoring.org -- /] results. -- --If the package you wish to add does have a release section on GitHub, --the maintainer may have uploaded a release tarball, or the release --may just point to the automatically generated tarball from the git --tag. If there is a release tarball uploaded by the maintainer, we --prefer to use that since it may be slightly different (e.g. it --contains a configure script so we don’t need to do AUTORECONF). -- --You can see on the release page if it’s an uploaded tarball or a git --tag: -- -- * If it looks like the image above then it was uploaded by the -- maintainer and you should use that link (in that example: -- mongrel2-v1.9.2.tar.bz2) to specify FOO_SITE, and not use the -- github helper. -- * On the other hand, if there’s is only the "Source code" link, -- then it’s an automatically generated tarball and you should use -- the github helper function. -- --18.24.5. How to add a package from Gitlab -- --In a similar way to the github macro described in Section 18.24.4, --“How to add a package from GitHubâ€, Buildroot also provides the --gitlab macro to download from Gitlab repositories. It can be used to --download auto-generated tarballs produced by Gitlab, either for --specific tags or commits: -- --# Use a tag or a full commit ID --FOO_VERSION = 1.0 --FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) -- --By default, it will use a .tar.gz tarball, but Gitlab also provides --.tar.bz2 tarballs, so by adding a _SOURCE variable, this --.tar.bz2 tarball can be used: -- --# Use a tag or a full commit ID --FOO_VERSION = 1.0 --FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) --FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2 -- --If there is a specific tarball uploaded by the upstream developers in --https://gitlab.com//releases/, do not use this macro, but --rather use directly the link to the tarball. -- --18.25. Conclusion -- --As you can see, adding a software package to Buildroot is simply a --matter of writing a Makefile using an existing example and modifying --it according to the compilation process required by the package. -- --If you package software that might be useful for other people, don’t --forget to send a patch to the Buildroot mailing list (see --Section 22.5, “Submitting patchesâ€)! -- --Chapter 19. 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. -- --19.1. Providing patches -- --19.1.1. 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. -- --19.1.2. 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 -- * 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. -- --19.1.3. 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 Section 9.8, “Adding project-specific --patches†for details. -- --19.2. How patches are applied -- -- 1. Run the _PRE_PATCH_HOOKS commands if defined; -- 2. Cleanup the build directory, removing any existing *.rej files; -- 3. If _PATCH is defined, then patches from these -- tarballs are applied; -- 4. 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. -- 5. 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. -- 6. Run the _POST_PATCH_HOOKS commands if defined. -- --If something goes wrong in the steps 3 or 4, then the build fails. -- --19.3. Format and licensing of the package patches -- --Patches are released under the same license as the software they --apply to (see Section 13.2, “Complying with the Buildroot licenseâ€). -- --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"]) -- --19.4. 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. -- --Chapter 20. Download infrastructure -- --TODO -- --Chapter 21. Debugging Buildroot -- --It is possible to instrument the steps Buildroot does when building --packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain --the path of one or more scripts (or other executables), in a --space-separated list, you want called before and after each step. The --scripts are called in sequence, with three parameters: -- -- * start or end to denote the start (resp. the end) of a step; -- * the name of the step about to be started, or which just ended; -- * the name of the package. -- --For example : -- --make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" -- --The list of steps is: -- -- * extract -- * patch -- * configure -- * build -- * install-host, when a host-package is installed in $(HOST_DIR) -- * install-target, when a target-package is installed in $ -- (TARGET_DIR) -- * install-staging, when a target-package is installed in $ -- (STAGING_DIR) -- * install-image, when a target-package installs files in $ -- (BINARIES_DIR) -- --The script has access to the following variables: -- -- * BR2_CONFIG: the path to the Buildroot .config file -- * HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 18.5.2, -- “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 -- --Chapter 22. 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 Chapter 5, 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 Chapter 3, --Getting Buildroot for more information on obtaining a Buildroot git --tree. -- --22.1. Reproducing, analyzing and fixing bugs -- --A first way of contributing is to have a look at the open bug reports --in the Buildroot bug tracker [https://bugs.buildroot.org/buglist.cgi? --product=buildroot]. 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. -- --22.2. 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: -- -- 1. Check if you can reproduce the problem by building with the -- same configuration. You can do this manually, or use the -- br-reproduce-build [http://git.buildroot.org/buildroot-test/ -- tree/utils/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. -- 2. Analyze the problem and create a fix. -- 3. Verify that the problem is really fixed by starting from a -- clean Buildroot tree and only applying your fix. -- 4. Send the fix to the Buildroot mailing list (see Section 22.5, -- “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 -- --22.3. 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 --Section 22.3.1, “Applying Patches from 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 Section 22.3.1, “Applying Patches from --Patchwork†for more information on using Buildroot’s Patchwork --website to apply patches. -- --22.3.1. 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. -- --22.4. 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 Buildroot TODO list [http://elinux.org/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. -- --22.5. 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. -- --22.5.1. 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 in the Pro Git book --[https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History]. --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 --the Developer Certificate of Origin [http://developercertificate.org --/] 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 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 --Section 18.24.2, “How to check the coding style†for more --information). -- --22.5.2. 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 Chapter 23, DEVELOPERS file and --get-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. -- --22.5.3. 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 ^[4]; -- * whenever you feel it will help presenting your work, your -- choices, the review process, etc. -- --22.5.4. 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. -- --22.5.5. 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 patchwork [http://patchwork.buildroot.org], 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 patchwork [http://patchwork.buildroot.org]. You need to --create an account on patchwork [http://patchwork.buildroot.org] 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 patchwork [http:// --patchwork.buildroot.org] 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 patchwork [http:// --patchwork.buildroot.org]. The advantage of in-reply-to is that --patchwork will automatically mark the previous version of the patch --as superseded. -- --22.6. Reporting issues/bugs or getting help -- --Before reporting any issue, please check in 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 bug tracker or by 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 Section 9.3, “Storing the Buildroot configurationâ€). -- --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/ -- --22.7. 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. -- --22.7.1. 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. -- --22.7.2. 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. -- --22.7.3. 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 -- -- ----------------------------------------------------------------------- -- --^[4] RFC: (Request for comments) change proposal -- --Chapter 23. DEVELOPERS file and get-developers -- --The main Buildroot directory contains a file named DEVELOPERS that --lists the developers involved with various areas of Buildroot. Thanks --to this file, the get-developers tool allows to: -- -- * Calculate the list of developers to whom patches should be sent, -- by parsing the patches and matching the modified files with the -- relevant developers. See Section 22.5, “Submitting patches†for -- details. -- * Find which developers are taking care of a given architecture or -- package, so that they can be notified when a build failure occurs -- on this architecture or package. This is done in interaction with -- Buildroot’s autobuild infrastructure. -- --We ask developers adding new packages, new boards, or generally new --functionality in Buildroot, to register themselves in the DEVELOPERS --file. As an example, we expect a developer contributing a new package --to include in his patch the appropriate modification to the --DEVELOPERS file. -- --The DEVELOPERS file format is documented in detail inside the file --itself. -- --The get-developers tool, located in utils/ allows to use the --DEVELOPERS file for various tasks: -- -- * When passing one or several patches as command line argument, -- get-developers will return the appropriate git send-email -- command. If the -e option is passed, only the email addresses are -- printed in a format suitable for git send-email --cc-cmd. -- * When using the -a command line option, get-developers will -- return the list of developers in charge of the given -- architecture. -- * When using the -p command line option, get-developers -- will return the list of developers in charge of the given -- package. -- * When using the -c command line option, get-developers will look -- at all files under version control in the Buildroot repository, -- and list the ones that are not handled by any developer. The -- purpose of this option is to help completing the DEVELOPERS file. -- * When using without any arguments, it validates the integrity of -- the DEVELOPERS file and will note WARNINGS for items that don’t -- match. -- --Chapter 24. Release Engineering -- --24.1. Releases -- --The Buildroot project makes quarterly releases with monthly bugfix --releases. The first release of each year is a long term support --release, LTS. -- -- * Quarterly releases: 2020.02, 2020.05, 2020.08, and 2020.11 -- * Bugfix releases: 2020.02.1, 2020.02.2, … -- * LTS releases: 2020.02, 2021.02, … -- --Releases are supported until the first bugfix release of the next --release, e.g., 2020.05.x is EOL when 2020.08.1 is released. -- --LTS releases are supported until the first bugfix release of the next --LTS, e.g., 2020.02.x is supported until 2021.02.1 is released. -- --24.2. Development -- --Each release cycle consist of two months of development on the master --branch and one month stabilization before the release is made. During --this phase no new features are added to master, only bugfixes. -- --The stabilization phase starts with tagging -rc1, and every week --until the release, another release candidate is tagged. -- --To handle new features and version bumps during the stabilization --phase, a next branch may be created for these features. Once the --current release has been made, the next branch is merged into master --and the development cycle for the next release continues there. -- --Part IV. Appendix -- --Table of Contents -- --25. Makedev syntax documentation --26. Makeusers syntax documentation --27. Migrating from older Buildroot versions -- -- 27.1. General approach -- 27.2. Migrating to 2016.11 -- 27.3. Migrating to 2017.08 -- --Chapter 25. 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 -- --Chapter 26. Makeusers syntax documentation -- --The syntax to create users is inspired by the makedev syntax, above, --but is specific to Buildroot. -- --The syntax for adding a user is a space-separated list of fields, one --user per line; the fields are: -- --+---------------------------------------------------------+ --|username|uid|group|gid|password|home|shell|groups|comment| --+---------------------------------------------------------+ -- --Where: -- -- * username is the desired user name (aka login name) for the user. -- It can not be root, and must be unique. If set to -, then just a -- group will be created. -- * uid is the desired UID for the user. It must be unique, and not -- 0. If set to -1, then a unique UID will be computed by Buildroot -- in the range [1000…1999] -- * group is the desired name for the user’s main group. It can not -- be root. If the group does not exist, it will be created. -- * gid is the desired GID for the user’s main group. It must be -- unique, and not 0. If set to -1, and the group does not already -- exist, then a unique GID will be computed by Buildroot in the -- range [1000..1999] -- * password is the crypt(3)-encoded password. If prefixed with !, -- then login is disabled. If prefixed with =, then it is -- interpreted as clear-text, and will be crypt-encoded (using MD5). -- If prefixed with !=, then the password will be crypt-encoded -- (using MD5) and login will be disabled. If set to *, then login -- is not allowed. If set to -, then no password value will be set. -- * home is the desired home directory for the user. If set to -, no -- home directory will be created, and the user’s home will be /. -- Explicitly setting home to / is not allowed. -- * shell is the desired shell for the user. If set to -, then /bin/ -- false is set as the user’s shell. -- * groups is the comma-separated list of additional groups the user -- should be part of. If set to -, then the user will be a member of -- no additional group. Missing groups will be created with an -- arbitrary gid. -- * comment (aka GECOS [https://en.wikipedia.org/wiki/Gecos_field] -- field) is an almost-free-form text. -- --There are a few restrictions on the content of each field: -- -- * except for comment, all fields are mandatory. -- * except for comment, fields may not contain spaces. -- * no field may contain a colon (:). -- --If home is not -, then the home directory, and all files below, will --belong to the user and its main group. -- --Examples: -- --foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user -- --This will create this user: -- -- * username (aka login name) is: foo -- * uid is computed by Buildroot -- * main group is: bar -- * main group gid is computed by Buildroot -- * clear-text password is: blabla, will be crypt(3)-encoded, and -- login is disabled. -- * home is: /home/foo -- * shell is: /bin/sh -- * foo is also a member of groups: alpha and bravo -- * comment is: Foo user -- --test 8000 wheel -1 = - /bin/sh - Test user -- --This will create this user: -- -- * username (aka login name) is: test -- * uid is : 8000 -- * main group is: wheel -- * main group gid is computed by Buildroot, and will use the value -- defined in the rootfs skeleton -- * password is empty (aka no password). -- * home is / but will not belong to test -- * shell is: /bin/sh -- * test is not a member of any additional groups -- * comment is: Test user -- --Chapter 27. 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. -- --27.1. General approach -- --To migrate from an older Buildroot version, take the following steps. -- -- 1. 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. -- 2. Review the specific migration notes below and make the required -- adaptations to external packages and custom build scripts. -- 3. Update Buildroot. -- 4. Run make menuconfig starting from the existing .config. -- 5. If anything is enabled in the Legacy menu, check its help text, -- unselect it, and save the configuration. -- 6. For more details, review the git commit messages for the packages -- that you need. Change into the packages directory and run git log -- .. — . -- 7. Build in the new Buildroot environment. -- 8. Fix build issues in external packages (usually due to updated -- dependencies). -- 9. Run make graph-size. --10. 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. --11. 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. -- --27.2. 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 --Section 9.2, “Keeping customizations outside of Buildrootâ€). -- --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. -- --27.3. 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.original/manual/manual.txt b/docs.original/manual/manual.txt -deleted file mode 100644 -index b5cc044805..0000000000 ---- a/docs.original/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::selinux-support.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.original/manual/migrating.txt b/docs.original/manual/migrating.txt -deleted file mode 100644 -index cb1f5eacc9..0000000000 ---- a/docs.original/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.original/manual/package-make-target.txt b/docs.original/manual/package-make-target.txt -deleted file mode 100644 -index 795c7d46de..0000000000 ---- a/docs.original/manual/package-make-target.txt -+++ /dev/null -@@ -1,96 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[pkg-build-steps]] -- --==== Package-specific _make_ targets -- --Running +make + builds and installs that particular package --and its dependencies. -- --For packages relying on the Buildroot infrastructure, there are --numerous special make targets that can be called independently like --this: -- -------------- --make - -------------- -- --The package build targets are (in the order they are executed): -- --[width="90%",cols="^1,4",options="header"] --|=================================================== --| command/target | Description -- --| +source+ | Fetch the source (download the tarball, clone --the source repository, etc) -- --| +depends+ | Build and install all dependencies required to --build the package -- --| +extract+ | Put the source in the package build directory --(extract the tarball, copy the source, etc) -- --| +patch+ | Apply the patches, if any -- --| +configure+ | Run the configure commands, if any -- --| +build+ | Run the compilation commands -- --| +install-staging+ | --*target package:* Run the installation of the package in the --staging directory, if necessary -- --| +install-target+ | --*target package:* Run the installation of the package in the --target directory, if necessary -- --| +install+ | --*target package:* Run the 2 previous installation commands -- --*host package:* Run the installation of the package in the host --directory -- --|=================================================== -- --Additionally, there are some other useful make targets: -- --[width="90%",cols="^1,4",options="header"] --|=================================================== --| command/target | Description -- --| +show-depends+ | Displays the first-order dependencies required to build the --package -- --| +show-recursive-depends+ | Recursively displays the dependencies -- required to build the package -- --| +show-rdepends+ | Displays the first-order reverse dependencies of -- the package (i.e packages that directly depend on it) -- --| +show-recursive-rdepends+ | Recursively displays the reverse -- dependencies of the package (i.e the packages that depend on it, -- directly or indirectly) -- --| +graph-depends+ | Generate a dependency graph of the package, in the --context of the current Buildroot configuration. See --xref:graph-depends[this section] for more details about dependency --graphs. -- --| +graph-rdepends+ | Generate a graph of this package reverse -- dependencies (i.e the packages that depend on it, directly or -- indirectly) -- --| +dirclean+ | Remove the whole package build directory -- --| +reinstall+ | Re-run the install commands -- --| +rebuild+ | Re-run the compilation commands - this only makes --sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file --directly in the build directory -- --| +reconfigure+ | Re-run the configure commands, then rebuild - this only --makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a --file directly in the build directory -- --|=================================================== -diff --git a/docs.original/manual/patch-policy.txt b/docs.original/manual/patch-policy.txt -deleted file mode 100644 -index e704a0d3f3..0000000000 ---- a/docs.original/manual/patch-policy.txt -+++ /dev/null -@@ -1,162 +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+ --- 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.original/manual/prerequisite.txt b/docs.original/manual/prerequisite.txt -deleted file mode 100644 -index 4e614cfa1b..0000000000 ---- a/docs.original/manual/prerequisite.txt -+++ /dev/null -@@ -1,96 +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) --** +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+ -- --* 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+ --** +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.original/manual/quickstart.txt b/docs.original/manual/quickstart.txt -deleted file mode 100644 -index 80569e85f4..0000000000 ---- a/docs.original/manual/quickstart.txt -+++ /dev/null -@@ -1,125 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --== Buildroot quick start -- --*Important*: you can and should *build everything as a normal user*. There --is no need to be root to configure and use Buildroot. By running all --commands as a regular user, you protect your system against packages --behaving badly during compilation and installation. -- --The first step when using Buildroot is to create a configuration. --Buildroot has a nice configuration tool similar to the one you can --find in the http://www.kernel.org/[Linux kernel] or in --http://www.busybox.net/[BusyBox]. -- --From the buildroot directory, run -- ---------------------- -- $ make menuconfig ---------------------- -- --for the original curses-based configurator, or -- ---------------------- -- $ make nconfig ---------------------- -- --for the new curses-based configurator, or -- ---------------------- -- $ make xconfig ---------------------- -- --for the Qt-based configurator, or -- ---------------------- -- $ make gconfig ---------------------- -- --for the GTK-based configurator. -- --All of these "make" commands will need to build a configuration --utility (including the interface), so you may need to install --"development" packages for relevant libraries used by the --configuration utilities. Refer to xref:requirement[] for more details, --specifically the xref:requirement-optional[optional requirements] --to get the dependencies of your favorite interface. -- --For each menu entry in the configuration tool, you can find associated --help that describes the purpose of the entry. Refer to xref:configure[] --for details on some specific configuration aspects. -- --Once everything is configured, the configuration tool generates a --+.config+ file that contains the entire configuration. This file will be --read by the top-level Makefile. -- --To start the build process, simply run: -- ---------------------- -- $ make ---------------------- -- --By default, Buildroot does not support top-level parallel build, so --running +make -jN+ is not necessary. There is however experimental --support for top-level parallel build, see --xref:top-level-parallel-build[]. -- --The `make` command will generally perform the following steps: -- --* download source files (as required); --* configure, build and install the cross-compilation toolchain, or -- simply import an external toolchain; --* configure, build and install selected target packages; --* build a kernel image, if selected; --* build a bootloader image, if selected; --* create a root filesystem in selected formats. -- --Buildroot output is stored in a single directory, +output/+. --This directory contains several subdirectories: -- --* +images/+ where all the images (kernel image, bootloader and root -- filesystem images) are stored. These are the files you need to put -- on your target system. -- --* +build/+ where all the components are built (this includes tools -- needed by Buildroot on the host and packages compiled for the -- target). This directory contains one subdirectory for each of these -- components. -- --* +host/+ contains both the tools built for the host, and the sysroot -- of the target toolchain. The former is an installation of tools -- compiled for the host that are needed for the proper execution of -- Buildroot, including the cross-compilation toolchain. The latter -- is a hierarchy similar to a root filesystem hierarchy. It contains -- the headers and libraries of all user-space packages that provide -- and install libraries used by other packages. However, this -- directory is 'not' intended to be the root filesystem for the target: -- it contains a lot of development files, unstripped binaries and -- libraries that make it far too big for an embedded system. These -- development files are used to compile libraries and applications for -- the target that depend on other libraries. -- --* +staging/+ is a symlink to the target toolchain sysroot inside -- +host/+, which exists for backwards compatibility. -- --* +target/+ which contains 'almost' the complete root filesystem for -- the target: everything needed is present except the device files in -- +/dev/+ (Buildroot can't create them because Buildroot doesn't run -- as root and doesn't want to run as root). Also, it doesn't have the correct -- permissions (e.g. setuid for the busybox binary). Therefore, this directory -- *should not be used on your target*. Instead, you should use one of -- the images built in the +images/+ directory. If you need an -- extracted image of the root filesystem for booting over NFS, then -- use the tarball image generated in +images/+ and extract it as -- root. Compared to +staging/+, +target/+ contains only the files and -- libraries needed to run the selected target applications: the -- development files (headers, etc.) are not present, the binaries are -- stripped. -- --These commands, +make menuconfig|nconfig|gconfig|xconfig+ and +make+, are the --basic ones that allow to easily and quickly generate images fitting --your needs, with all the features and applications you enabled. -- --More details about the "make" command usage are given in --xref:make-tips[]. -diff --git a/docs.original/manual/rebuilding-packages.txt b/docs.original/manual/rebuilding-packages.txt -deleted file mode 100644 -index 06d3855148..0000000000 ---- a/docs.original/manual/rebuilding-packages.txt -+++ /dev/null -@@ -1,136 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[full-rebuild]] --=== Understanding when a full rebuild is necessary -- --Buildroot does not attempt to detect what parts of the system should --be rebuilt when the system configuration is changed through +make --menuconfig+, +make xconfig+ or one of the other configuration --tools. In some cases, Buildroot should rebuild the entire system, in --some cases, only a specific subset of packages. But detecting this in --a completely reliable manner is very difficult, and therefore the --Buildroot developers have decided to simply not attempt to do this. -- --Instead, it is the responsibility of the user to know when a full --rebuild is necessary. As a hint, here are a few rules of thumb that --can help you understand how to work with Buildroot: -- -- * When the target architecture configuration is changed, a complete -- rebuild is needed. Changing the architecture variant, the binary -- format or the floating point strategy for example has an impact on -- the entire system. -- -- * When the toolchain configuration is changed, a complete rebuild -- generally is needed. Changing the toolchain configuration often -- involves changing the compiler version, the type of C library or -- its configuration, or some other fundamental configuration item, -- and these changes have an impact on the entire system. -- -- * When an additional package is added to the configuration, a full -- rebuild is not necessarily needed. Buildroot will detect that this -- package has never been built, and will build it. However, if this -- package is a library that can optionally be used by packages that -- have already been built, Buildroot will not automatically rebuild -- those. Either you know which packages should be rebuilt, and you -- can rebuild them manually, or you should do a full rebuild. For -- example, let's suppose you have built a system with the +ctorrent+ -- package, but without +openssl+. Your system works, but you realize -- you would like to have SSL support in +ctorrent+, so you enable the -- +openssl+ package in Buildroot configuration and restart the -- build. Buildroot will detect that +openssl+ should be built and -- will be build it, but it will not detect that +ctorrent+ should be -- rebuilt to benefit from +openssl+ to add OpenSSL support. You will -- either have to do a full rebuild, or rebuild +ctorrent+ itself. -- -- * When a package is removed from the configuration, Buildroot does -- not do anything special. It does not remove the files installed by -- this package from the target root filesystem or from the toolchain -- _sysroot_. A full rebuild is needed to get rid of this -- package. However, generally you don't necessarily need this package -- to be removed right now: you can wait for the next lunch break to -- restart the build from scratch. -- -- * When the sub-options of a package are changed, the package is not -- automatically rebuilt. After making such changes, rebuilding only -- this package is often sufficient, unless enabling the package -- sub-option adds some features to the package that are useful for -- another package which has already been built. Again, Buildroot does -- not track when a package should be rebuilt: once a package has been -- built, it is never rebuilt unless explicitly told to do so. -- -- * When a change to the root filesystem skeleton is made, a full -- rebuild is needed. However, when changes to the root filesystem -- overlay, a post-build script or a post-image script are made, -- there is no need for a full rebuild: a simple +make+ invocation -- will take the changes into account. -- -- * When a package listed in +FOO_DEPENDENCIES+ is rebuilt or removed, -- the package +foo+ is not automatically rebuilt. For example, if a -- package +bar+ is listed in +FOO_DEPENDENCIES+ with +FOO_DEPENDENCIES -- = bar+ and the configuration of the +bar+ package is changed, the -- configuration change would not result in a rebuild of package +foo+ -- automatically. In this scenario, you may need to either rebuild any -- packages in your build which reference +bar+ in their +DEPENDENCIES+, -- or perform a full rebuild to ensure any +bar+ dependent packages are -- up to date. -- --Generally speaking, when you're facing a build error and you're unsure --of the potential consequences of the configuration changes you've --made, do a full rebuild. If you get the same build error, then you are --sure that the error is not related to partial rebuilds of packages, --and if this error occurs with packages from the official Buildroot, do --not hesitate to report the problem! As your experience with Buildroot --progresses, you will progressively learn when a full rebuild is really --necessary, and you will save more and more time. -- --For reference, a full rebuild is achieved by running: -- ----------------- --$ make clean all ----------------- -- --[[rebuild-pkg]] --=== Understanding how to rebuild packages -- --One of the most common questions asked by Buildroot users is how to --rebuild a given package or how to remove a package without rebuilding --everything from scratch. -- --Removing a package is unsupported by Buildroot without --rebuilding from scratch. This is because Buildroot doesn't keep track --of which package installs what files in the +output/staging+ and --+output/target+ directories, or which package would be compiled differently --depending on the availability of another package. -- --The easiest way to rebuild a single package from scratch is to remove --its build directory in +output/build+. Buildroot will then re-extract, --re-configure, re-compile and re-install this package from scratch. You --can ask buildroot to do this with the +make -dirclean+ command. -- --On the other hand, if you only want to restart the build process of a --package from its compilation step, you can run +make -rebuild+. It --will restart the compilation and installation of the package, but not from --scratch: it basically re-executes +make+ and +make install+ inside the package, --so it will only rebuild files that changed. -- --If you want to restart the build process of a package from its configuration --step, you can run +make -reconfigure+. It will restart the --configuration, compilation and installation of the package. -- --While +-rebuild+ implies +-reinstall+ and --+-reconfigure+ implies +-rebuild+, these targets as well --as ++ only act on the said package, and do not trigger re-creating --the root filesystem image. If re-creating the root filesystem in necessary, --one should in addition run +make+ or +make all+. -- --Internally, Buildroot creates so-called _stamp files_ to keep track of --which build steps have been completed for each package. They are --stored in the package build directory, --+output/build/-/+ and are named --+.stamp_+. The commands detailed above simply manipulate --these stamp files to force Buildroot to restart a specific set of --steps of a package build process. -- --Further details about package special make targets are explained in --xref:pkg-build-steps[]. -diff --git a/docs.original/manual/release-engineering.txt b/docs.original/manual/release-engineering.txt -deleted file mode 100644 -index 0cf38183f9..0000000000 ---- a/docs.original/manual/release-engineering.txt -+++ /dev/null -@@ -1,34 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[RELENG]] --== Release Engineering --=== Releases -- --The Buildroot project makes quarterly releases with monthly bugfix --releases. The first release of each year is a long term support --release, LTS. -- -- - Quarterly releases: 2020.02, 2020.05, 2020.08, and 2020.11 -- - Bugfix releases: 2020.02.1, 2020.02.2, ... -- - LTS releases: 2020.02, 2021.02, ... -- --Releases are supported until the first bugfix release of the next --release, e.g., 2020.05.x is EOL when 2020.08.1 is released. -- --LTS releases are supported until the first bugfix release of the next --LTS, e.g., 2020.02.x is supported until 2021.02.1 is released. -- --=== Development -- --Each release cycle consist of two months of development on the +master+ --branch and one month stabilization before the release is made. During --this phase no new features are added to +master+, only bugfixes. -- --The stabilization phase starts with tagging +-rc1+, and every week until --the release, another release candidate is tagged. -- --To handle new features and version bumps during the stabilization phase, --a +next+ branch may be created for these features. Once the current --release has been made, the +next+ branch is merged into +master+ and --the development cycle for the next release continues there. -diff --git a/docs.original/manual/resources.txt b/docs.original/manual/resources.txt -deleted file mode 100644 -index e90a49b2ab..0000000000 ---- a/docs.original/manual/resources.txt -+++ /dev/null -@@ -1,71 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[community-resources]] --== Community resources -- --Like any open source project, Buildroot has different ways to share --information in its community and outside. -- --Each of those ways may interest you if you are looking for some help, --want to understand Buildroot or contribute to the project. -- --Mailing List:: --+ --Buildroot has a mailing list for discussion and development. It is the --main method of interaction for Buildroot users and developers. --+ --Only subscribers to the Buildroot mailing list are allowed to post to --this list. You can subscribe via the --http://lists.buildroot.org/mailman/listinfo/buildroot[mailing list info --page]. --+ --Mails that are sent to the mailing list are also available in the --mailing list archives, available through --http://lists.buildroot.org/pipermail/buildroot[Mailman] or at --https://lore.kernel.org/buildroot/[lore.kernel.org]. -- --IRC:: --+ --The Buildroot IRC channel irc://irc.oftc.net/#buildroot[#buildroot] is --hosted on https://www.oftc.net/WebChat/[OFTC]. It is a useful place to --ask quick questions or discuss on certain topics. --+ --When asking for help on IRC, share relevant logs or pieces of code --using a code sharing website, such as https://paste.ack.tf/. --+ --Note that for certain questions, posting to the mailing list may be --better as it will reach more people, both developers and users. -- --Bug tracker:: --+ --Bugs in Buildroot can be reported via the mailing list or alternatively --via the https://bugs.buildroot.org/buglist.cgi?product=buildroot[Buildroot --bugtracker]. Please refer to xref:reporting-bugs[] before creating a bug --report. -- --Wiki:: --+ --http://elinux.org/Buildroot[The Buildroot wiki page] is hosted on --the http://elinux.org[eLinux] wiki. It contains some useful links, an --overview of past and upcoming events, and a TODO list. -- --Patchwork:: --+ --Patchwork is a web-based patch tracking system designed to facilitate --the contribution and management of contributions to an open-source --project. Patches that have been sent to a mailing list are \'caught' by --the system, and appear on a web page. Any comments posted that --reference the patch are appended to the patch page too. For more --information on Patchwork see --http://jk.ozlabs.org/projects/patchwork/[]. --+ --Buildroot's Patchwork website is mainly for use by Buildroot's --maintainer to ensure patches aren't missed. It is also used by Buildroot --patch reviewers (see also xref:apply-patches-patchwork[]). --However, since the website exposes patches and their corresponding --review comments in a clean and concise web interface, it can be useful --for all Buildroot developers. --+ --The Buildroot patch management interface is available at --http://patchwork.buildroot.org[]. -diff --git a/docs.original/manual/selinux-support.txt b/docs.original/manual/selinux-support.txt -deleted file mode 100644 -index 21137ae6c3..0000000000 ---- a/docs.original/manual/selinux-support.txt -+++ /dev/null -@@ -1,74 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[selinux]] --== Using SELinux in Buildroot -- --https://selinuxproject.org[SELinux] is a Linux kernel security module --enforcing access control policies. In addition to the traditional file --permissions and access control lists, +SELinux+ allows to write rules --for users or processes to access specific functions of resources --(files, sockets...). -- --_SELinux_ has three modes of operation: -- --* _Disabled_: the policy is not applied --* _Permissive_: the policy is applied, and non-authorized actions are -- simply logged. This mode is often used for troubleshooting SELinux -- issues. --* _Enforcing_: the policy is applied, and non-authorized actions are -- denied -- --In Buildroot the mode of operation is controlled by the --+BR2_PACKAGE_REFPOLICY_POLICY_STATE_*+ configuration options. The --Linux kernel also has various configuration options that affect how --+SELinux+ is enabled (see +security/selinux/Kconfig+ in the Linux --kernel sources). -- --By default in Buildroot the +SELinux+ policy is provided by the --upstream https://github.com/SELinuxProject/refpolicy[refpolicy] --project, enabled with +BR2_PACKAGE_REFPOLICY+. -- --[[enabling-selinux]] --=== Enabling SELinux support -- --To have proper support for +SELinux+ in a Buildroot generated system, --the following configuration options must be enabled: -- --* +BR2_PACKAGE_LIBSELINUX+ --* +BR2_PACKAGE_REFPOLICY+ -- --In addition, your filesystem image format must support extended --attributes. -- --[[selinux-policy-tweaking]] --=== SELinux policy tweaking -- --The +SELinux refpolicy+ contains modules that can be enabled or --disabled when being built. Each module provide a number of +SELinux+ --rules. In Buildroot the non-base modules are disabled by default and --several ways to enable such modules are provided: -- --- Packages can enable a list of +SELinux+ modules within the +refpolicy+ using -- the +_SELINUX_MODULES+ variable. --- Packages can provide additional +SELinux+ modules by putting them (.fc, .if -- and .te files) in +package//selinux/+. --- Extra +SELinux+ modules can be added in directories pointed by the -- +BR2_REFPOLICY_EXTRA_MODULES_DIRS+ configuration option. --- Additional modules in the +refpolicy+ can be enabled if listed in the -- +BR2_REFPOLICY_EXTRA_MODULES_DEPENDENCIES+ configuration option. -- --Buildroot also allows to completely override the +refpolicy+. This --allows to provide a full custom policy designed specifically for a --given system. When going this way, all of the above mechanisms are --disabled: no extra +SElinux+ module is added to the policy, and all --the available modules within the custom policy are enabled and built --into the final binary policy. The custom policy must be a fork of the --official https://github.com/SELinuxProject/refpolicy[refpolicy]. -- --In order to fully override the +refpolicy+ the following configuration --variables have to be set: -- --- +BR2_PACKAGE_REFPOLICY_CUSTOM_GIT+ --- +BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL+ --- +BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION+ -diff --git a/docs.original/manual/using-buildroot-debugger.txt b/docs.original/manual/using-buildroot-debugger.txt -deleted file mode 100644 -index 9a8a7dfbaf..0000000000 ---- a/docs.original/manual/using-buildroot-debugger.txt -+++ /dev/null -@@ -1,53 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --==== Using +gdb+ in Buildroot -- --Buildroot allows to do cross-debugging, where the debugger runs on the --build machine and communicates with +gdbserver+ on the target to --control the execution of the program. -- --To achieve this: -- --* If you are using an _internal toolchain_ (built by Buildroot), you -- must enable +BR2_PACKAGE_HOST_GDB+, +BR2_PACKAGE_GDB+ and -- +BR2_PACKAGE_GDB_SERVER+. This ensures that both the cross gdb and -- gdbserver get built, and that gdbserver gets installed to your target. -- --* If you are using an _external toolchain_, you should enable -- +BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY+, which will copy the -- gdbserver included with the external toolchain to the target. If your -- external toolchain does not have a cross gdb or gdbserver, it is also -- possible to let Buildroot build them, by enabling the same options as -- for the _internal toolchain backend_. -- --Now, to start debugging a program called +foo+, you should run on the --target: -- ------------------------------ --gdbserver :2345 foo ------------------------------ -- --This will cause +gdbserver+ to listen on TCP port 2345 for a connection --from the cross gdb. -- --Then, on the host, you should start the cross gdb using the following --command line: -- ------------------------------ --/output/host/bin/-gdb -ix /output/staging/usr/share/buildroot/gdbinit foo ------------------------------ -- --Of course, +foo+ must be available in the current directory, built --with debugging symbols. Typically you start this command from the --directory where +foo+ is built (and not from +output/target/+ as the --binaries in that directory are stripped). -- --The +/output/staging/usr/share/buildroot/gdbinit+ file will tell the --cross gdb where to find the libraries of the target. -- --Finally, to connect to the target from the cross gdb: -- ------------------------------ --(gdb) target remote :2345 ------------------------------ -diff --git a/docs.original/manual/using-buildroot-development.txt b/docs.original/manual/using-buildroot-development.txt -deleted file mode 100644 -index da6dd822fb..0000000000 ---- a/docs.original/manual/using-buildroot-development.txt -+++ /dev/null -@@ -1,121 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --==== Using Buildroot during development -- --The normal operation of Buildroot is to download a tarball, extract --it, configure, compile and install the software component found inside --this tarball. The source code is extracted in --+output/build/-+, which is a temporary directory: --whenever +make clean+ is used, this directory is entirely removed, and --re-created at the next +make+ invocation. Even when a Git or --Subversion repository is used as the input for the package source --code, Buildroot creates a tarball out of it, and then behaves as it --normally does with tarballs. -- --This behavior is well-suited when Buildroot is used mainly as an --integration tool, to build and integrate all the components of an --embedded Linux system. However, if one uses Buildroot during the --development of certain components of the system, this behavior is not --very convenient: one would instead like to make a small change to the --source code of one package, and be able to quickly rebuild the system --with Buildroot. -- --Making changes directly in +output/build/-+ is not --an appropriate solution, because this directory is removed on +make --clean+. -- --Therefore, Buildroot provides a specific mechanism for this use case: --the +_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_ --file, which allows the user to tell Buildroot the location of the --source for certain packages. -- --The default location of the override file is +$(CONFIG_DIR)/local.mk+, --as defined by the +BR2_PACKAGE_OVERRIDE_FILE+ configuration option. --+$(CONFIG_DIR)+ is the location of the Buildroot +.config+ file, so --+local.mk+ by default lives side-by-side with the +.config+ file, --which means: -- --* In the top-level Buildroot source directory for in-tree builds -- (i.e., when +O=+ is not used) --* In the out-of-tree directory for out-of-tree builds (i.e., when -- +O=+ is used) -- --If a different location than these defaults is required, it can be --specified through the +BR2_PACKAGE_OVERRIDE_FILE+ configuration --option. -- --In this _override_ file, Buildroot expects to find lines of the form: -- -------------------- --_OVERRIDE_SRCDIR = /path/to/pkg1/sources --_OVERRIDE_SRCDIR = /path/to/pkg2/sources -------------------- -- --For example: -- -------------------- --LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ --BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ -------------------- -- --When Buildroot finds that for a given package, an --+_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to --download, extract and patch the package. Instead, it will directly use --the source code available in the specified directory and +make clean+ --will not touch this directory. This allows to point Buildroot to your --own directories, that can be managed by Git, Subversion, or any other --version control system. To achieve this, Buildroot will use _rsync_ to --copy the source code of the component from the specified --+_OVERRIDE_SRCDIR+ to +output/build/-custom/+. -- --This mechanism is best used in conjunction with the +make ---rebuild+ and +make -reconfigure+ targets. A +make ---rebuild all+ sequence will _rsync_ the source code from --+_OVERRIDE_SRCDIR+ to +output/build/-custom+ (thanks to --_rsync_, only the modified files are copied), and restart the build --process of just this package. -- --In the example of the +linux+ package above, the developer can then --make a source code change in +/home/bob/linux+ and then run: -- ------------------------- --make linux-rebuild all ------------------------- -- --and in a matter of seconds gets the updated Linux kernel image in --+output/images+. Similarly, a change can be made to the BusyBox source --code in +/home/bob/busybox+, and after: -- ------------------------- --make busybox-rebuild all ------------------------- -- --the root filesystem image in +output/images+ contains the updated --BusyBox. -- --Source trees for big projects often contain hundreds or thousands of --files which are not needed for building, but will slow down the process --of copying the sources with _rsync_. Optionally, it is possible define --+_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS+ to skip syncing certain files --from the source tree. For example, when working on the +webkitgtk+ --package, the following will exclude the tests and in-tree builds from --a local WebKit source tree: -- -------------------- --WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit --WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ -- --exclude JSTests --exclude ManualTests --exclude PerformanceTests \ -- --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ -- --exclude WebKit.xcworkspace --exclude Websites --exclude Examples -------------------- -- --By default, Buildroot skips syncing of VCS artifacts (e.g., the *.git* and --*.svn* directories). Some packages prefer to have these VCS directories --available during build, for example for automatically determining a precise --commit reference for version information. To undo this built-in filtering at a --cost of a slower speed, add these directories back: -- -------------------- --LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git -------------------- -diff --git a/docs.original/manual/using-buildroot-toolchain.txt b/docs.original/manual/using-buildroot-toolchain.txt -deleted file mode 100644 -index 09408ef05a..0000000000 ---- a/docs.original/manual/using-buildroot-toolchain.txt -+++ /dev/null -@@ -1,48 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --==== Using the generated toolchain outside Buildroot -- --You may want to compile, for your target, your own programs or other --software that are not packaged in Buildroot. In order to do this you --can use the toolchain that was generated by Buildroot. -- --The toolchain generated by Buildroot is located by default in --+output/host/+. The simplest way to use it is to add --+output/host/bin/+ to your PATH environment variable and then to --use +ARCH-linux-gcc+, +ARCH-linux-objdump+, +ARCH-linux-ld+, etc. -- --Alternatively, Buildroot can also export the toolchain and the development --files of all selected packages, as an SDK, by running the command --+make sdk+. This generates a tarball of the content of the host directory --+output/host/+, named +_sdk-buildroot.tar.gz+ (which can be --overriden by setting the environment variable +BR2_SDK_PREFIX+) and --located in the output directory +output/images/+. -- --This tarball can then be distributed to application developers, when --they want to develop their applications that are not (yet) packaged as --a Buildroot package. -- --Upon extracting the SDK tarball, the user must run the script --+relocate-sdk.sh+ (located at the top directory of the SDK), to make --sure all paths are updated with the new location. -- --Alternatively, if you just want to prepare the SDK without generating --the tarball (e.g. because you will just be moving the +host+ directory, --or will be generating the tarball on your own), Buildroot also allows --you to just prepare the SDK with +make prepare-sdk+ without actually --generating a tarball. -- --For your convenience, by selecting the option --+BR2_PACKAGE_HOST_ENVIRONMENT_SETUP+, you can get a --+environment-setup+ script installed in +output/host/+ and therefore --in your SDK. This script can be sourced with --+. your/sdk/path/environment-setup+ to export a number of environment --variables that will help cross-compile your projects using the --Buildroot SDK: the +PATH+ will contain the SDK binaries, standard --_autotools_ variables will be defined with the appropriate values, and --+CONFIGURE_FLAGS+ will contain basic +./configure+ options to --cross-compile _autotools_ projects. It also provides some useful --commands. Note however that once this script is sourced, the --environment is setup only for cross-compilation, and no longer for --native compilation. -diff --git a/docs.original/manual/writing-rules.txt b/docs.original/manual/writing-rules.txt -deleted file mode 100644 -index 3b809d5c48..0000000000 ---- a/docs.original/manual/writing-rules.txt -+++ /dev/null -@@ -1,151 +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_PYTHON),y) --LIBFOO_CONF_OPTS += --with-python-support --LIBFOO_DEPENDENCIES += python --else --LIBFOO_CONF_OPTS += --without-python-support --endif ----------------------- --+ --NO: --+ ----------------------- --LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support --LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) ----------------------- -- --** 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 ----------------------- -- --=== The documentation -- --The documentation uses the --http://www.methods.co.nz/asciidoc/[asciidoc] format. -- --For further details about the asciidoc syntax, refer to --http://www.methods.co.nz/asciidoc/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.original/website/.htaccess b/docs.original/website/.htaccess -deleted file mode 100644 -index b02beb8854..0000000000 ---- a/docs.original/website/.htaccess -+++ /dev/null -@@ -1,62 +0,0 @@ --# BEGIN Compress text files -- -- -- SetOutputFilter DEFLATE -- -- --# END Compress text files -- --# BEGIN Expire headers -- -- ExpiresActive On -- ExpiresDefault "access plus 1 seconds" -- ExpiresByType image/x-icon "access plus 2592000 seconds" -- ExpiresByType image/jpeg "access plus 2592000 seconds" -- ExpiresByType image/png "access plus 2592000 seconds" -- ExpiresByType image/gif "access plus 2592000 seconds" -- ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" -- ExpiresByType text/css "access plus 604800 seconds" -- ExpiresByType text/javascript "access plus 216000 seconds" -- ExpiresByType application/javascript "access plus 216000 seconds" -- ExpiresByType application/x-javascript "access plus 216000 seconds" -- ExpiresByType text/html "access plus 600 seconds" -- ExpiresByType application/xhtml+xml "access plus 600 seconds" -- --# END Expire headers -- --# BEGIN Cache-Control Headers -- -- -- Header set Cache-Control "max-age=2592000, public" -- -- -- Header set Cache-Control "max-age=604800, public" -- -- -- Header set Cache-Control "max-age=216000, private" -- -- -- Header set Cache-Control "max-age=600, private, must-revalidate" -- -- --# END Cache-Control Headers -- --# BEGIN Turn ETags Off -- -- Header unset ETag -- --FileETag None --# END Turn ETags Off -- --# BEGIN gzip -- --mod_gzip_on Yes --mod_gzip_dechunk Yes --mod_gzip_item_include file .(html?|txt|css|js)$ --mod_gzip_item_include handler ^cgi-script$ --mod_gzip_item_include mime ^text/.* --mod_gzip_item_include mime ^application/x-javascript.* --mod_gzip_item_exclude mime ^image/.* --mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* -- --# END gzip -diff --git a/docs.original/website/association.html b/docs.original/website/association.html -deleted file mode 100644 -index 0215f85874..0000000000 ---- a/docs.original/website/association.html -+++ /dev/null -@@ -1,122 +0,0 @@ -- -- --
--
--
--
--
Association
--
-- --

The Buildroot open-source project is supported by a -- non-profit organization called the Buildroot -- Association. The goal of this non-profit -- organization is to engage actions to promote, help -- develop and democratise the Buildroot project.

-- --

This non-profit organization is registered as a legal -- entity in France, more precisely as an association loi -- 1901.

-- --

This organization can receive funding from members, -- donors and sponsors. This funding is then used to pay for:

-- --
    --
  • the meeting rooms used during the Buildroot -- Developers Meeting twice per year;
  • --
  • travel expenses for contributors -- willing to attend the Buildroot Developers -- Meeting, and not covered by their employer to do -- so;
  • --
  • renting servers and services used to host the -- Buildroot infrastructure.
  • --
-- --

The bylaws of the association are available -- in French -- (official) and -- 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 -- from the French authorities.

-- --

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

--
--
-- --
--
Becoming a member
--
-- --

To become a member, an individual or a company simply has -- to pay its yearly membership. For an individual, the minimum -- membership fee per year is 10 EUR. For a company, the -- minimum membership fee per year is 150 EUR. Individuals and -- companies are free to give more than the minimum -- required.

-- --

The membership is valid for the current civil year, i.e -- any membership fee paid in 2019 is valid through December 31, -- 2019.

-- --

Once the membership fee is received, it will be listed in -- the -- 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.

-- --

There are two possibilities to pay the membership -- fee:

-- --
    -- --
  • A direct wire-transfer to the association bank -- account. Since the bank account is located in France, this -- is completely free of charge for any person or company -- located in the European Union. The IBAN number of the -- association bank account is FR53 2004 1010 1615 0958 -- 0P03 772.
  • -- --
  • A Paypal payment to the association Paypal account, -- whose address -- is buildroot-association@buildroot.org.
  • -- --
-- --
--
-- --
--
Sponsoring the project
--
-- --

Companies willing to help the Buildroot project can do so -- by making a donation to the Buildroot -- Association. In exchange for these donations, companies -- will be listed on our Sponsors -- page and will be thanked in our release announcements.

-- --

As the Buildroot Association is a legal entity -- registered in France, it is able to deliver a bill and/or -- receipt.

-- --

Please -- contact buildroot-association@buildroot.org -- if you are a company interested in making a donation.

-- --
--
-- --
--
--
-- -- -diff --git a/docs.original/website/contribute.html b/docs.original/website/contribute.html -deleted file mode 100644 -index aa1cf93f1b..0000000000 ---- a/docs.original/website/contribute.html -+++ /dev/null -@@ -1,44 +0,0 @@ -- -- --
--
--
-- --
--
Contribute
--
--

Buildroot is an open source project and you are very welcome to contribute to -- it.
-- There are many different ways to contribute:

-- -- -- --

For more details on these topics, check out the -- -- Contributing to buildroot chapter in the Buildroot manual. Thanks for your help!

-- --

If you need any support yourself, have a look at -- Support.

--
--
-- --
--
--
-- -- -diff --git a/docs.original/website/copyright.txt b/docs.original/website/copyright.txt -deleted file mode 100644 -index b15ac5f919..0000000000 ---- a/docs.original/website/copyright.txt -+++ /dev/null -@@ -1,30 +0,0 @@ -- --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. -- --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 --IMITATED IN WHOLE OR IN PART. THIS WEBSITE IS LICENSED FREE OF CHARGE, THERE --IS NO WARRANTY FOR THE WEBSITE TO THE EXTENT PERMITTED BY APPLICABLE LAW. --SHOULD THIS WEBSITE PROVE DEFECTIVE, YOU MAY ASSUME THAT SOMEONE MIGHT GET --AROUND TO SERVICING, REPAIRING OR CORRECTING IT SOMETIME WHEN THEY HAVE NOTHING --BETTER TO DO. REGARDLESS, YOU GET TO KEEP BOTH PIECES. -- --IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY --COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THIS --WEBSITE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY --GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR --INABILITY TO USE THIS WEBSITE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR --LOSS OF HAIR, LOSS OF LIFE, LOSS OF MEMORY, LOSS OF YOUR CARKEYS, MISPLACEMENT --OF YOUR PAYCHECK, OR COMMANDER DATA BEING RENDERED UNABLE TO ASSIST THE --STARFLEET OFFICERS ABORD THE STARSHIP ENTERPRISE TO RECALIBRATE THE MAIN --DEFLECTOR ARRAY, LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE --WEBSITE TO OPERATE WITH YOUR WEBBROWSER), EVEN IF SUCH HOLDER OR OTHER PARTY --HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -- --You have been warned. -- --You can contact the webmaster at if you have some sort --of problem with this. -- -diff --git a/docs.original/website/css/main.css b/docs.original/website/css/main.css -deleted file mode 100644 -index 5255531b30..0000000000 ---- a/docs.original/website/css/main.css -+++ /dev/null -@@ -1,260 +0,0 @@ --/* -- * Author: Carlos Alvarez -- * URL: http://alvarez.is -- * -- * Project Name: FLATTY - Free Bootstrap 3 Theme -- * Version: 1.0 -- * URL: http://blacktie.co -- */ -- --body { -- background-color: #f2f2f2; -- font-family: 'Roboto', sans-serif; -- font-weight: 300; -- font-size: 16px; -- color: #555; -- -- -webkit-font-smoothing: antialiased; -- -webkit-overflow-scrolling: touch; --} -- --/* Titles */ --h1, h2, h3, h4, h5, h6 { -- font-family: 'Roboto', sans-serif; -- font-weight: 300; -- color: #333; --} -- --h1 { -- font-size: 40px; --} -- --h3 { -- color: #95a5a6; -- font-weight: 400; --} -- --h4 { -- color: #95a5a6; -- font-weight: 400; -- font-size: 20px; --} -- --.ellipsis p { -- margin-bottom:10px; -- white-space: nowrap; -- overflow: hidden; -- text-overflow: ellipsis; --} -- --.centered { -- text-align: center; --} -- --/* Links */ --a { -- color: #3498db; -- word-wrap: break-word; -- -- -webkit-transition: color 0.1s ease-in, background 0.1s ease-in; -- -moz-transition: color 0.1s ease-in, background 0.1s ease-in; -- -ms-transition: color 0.1s ease-in, background 0.1s ease-in; -- -o-transition: color 0.1s ease-in, background 0.1s ease-in; -- transition: color 0.1s ease-in, background 0.1s ease-in; --} -- --a:hover, --a:focus { -- color: #7b7b7b; -- text-decoration: none; -- outline: 0; --} -- --a:before, --a:after { -- -webkit-transition: color 0.1s ease-in, background 0.1s ease-in; -- -moz-transition: color 0.1s ease-in, background 0.1s ease-in; -- -ms-transition: color 0.1s ease-in, background 0.1s ease-in; -- -o-transition: color 0.1s ease-in, background 0.1s ease-in; -- transition: color 0.1s ease-in, background 0.1s ease-in; --} -- -- hr { -- display: block; -- height: 1px; -- border: 0; -- border-top: 1px solid #ccc; -- margin: 1em 0; -- padding: 0; --} -- --.navbar-default { -- background-color: #3498db; -- border-color: transparent; --} -- --.navbar-default .navbar-brand { -- color: white; --} -- --.navbar-default .navbar-nav > li > a { -- color: white; --} -- --/* Helpers */ -- --.mt { -- margin-top: 40px; -- margin-bottom: 40px; --} -- --.nh { -- margin-top: 80px; -- margin-bottom: 40px; --} -- --.form-control { -- height: 42px; -- font-size: 18px; -- width: 280px; --} -- --i { -- margin: 8px; -- color: #3498db; --} -- -- --/* HeaderWrap */ --#headerwrap { -- /* background: url(../img/bg01.jpg) no-repeat center top; */ -- background-color: #3498db; -- margin-top: -20px; -- padding-top:120px; -- background-attachment: relative; -- background-position: center center; -- min-height: 400px; -- max-height: 800px; -- width: 100%; -- -- -webkit-background-size: 100%; -- -moz-background-size: 100%; -- -o-background-size: 100%; -- background-size: 100%; -- -- -webkit-background-size: cover; -- -moz-background-size: cover; -- -o-background-size: cover; -- background-size: cover; --} -- --#headerwrap h1 { -- color: white; -- font-size: 60px; -- font-weight: bold; -- letter-spacing: 1px; --} -- --#menubutton { -- max-height: 50px; -- margin-top: 6px; -- padding-top: 15px; -- margin-left: 10px; --} -- --.panel-sponsor { -- min-height: 350px; -- text-align: justify; -- text-justify: inter-word; --} -- --@media (min-width: 768px) and (max-width: 991px) { -- .navbar-collapse.collapse { -- display: none !important; -- } -- .navbar-collapse.collapse.in { -- display: block !important; -- } -- .navbar-header .collapse, .navbar-toggle { -- display:block !important; -- } -- .navbar-header { -- float:none; -- } -- .navbar-collapse { -- overflow:hidden; -- } -- #menubutton { -- margin-right: 40px; -- width: 45px; -- } -- .text-shrink { -- visibility: hidden; -- } --} -- --@media (max-width:767px) { -- #menubutton { -- max-height: 50px; -- margin-top: 6px; -- padding-top: 15px; -- margin-left: 15px; -- margin-right: 15px; -- } --} -- --/* entire container, keeps perspective */ --.flip-container { -- perspective: 1000; --} -- /* flip the pane when hovered */ -- .flip-container:hover .flipper, .flip-container.hover .flipper { -- transform: rotateY(180deg); -- } -- --.flip-container, .front, .back { -- width: 180px; -- height: 180px; --} -- --/* flip speed goes here */ --.flipper { -- transition: 0.6s; -- transform-style: preserve-3d; -- -- position: relative; --} -- --/* hide back of pane during swap */ --.front, .back { -- backface-visibility: hidden; -- -- position: absolute; -- top: 0; -- left: 0; --} -- --/* front pane, placed above back */ --.front { -- z-index: 2; -- /* for firefox 31 */ -- transform: rotateY(0deg); --} -- --/* back, initially hidden pane */ --.back { -- transform: rotateY(180deg); --} -- --.back img { -- -moz-transform: scaleX(-1); -- -o-transform: scaleX(-1); -- -webkit-transform: scaleX(-1); -- transform: scaleX(-1); -- filter: FlipH; -- -ms-filter: "FlipH"; --} -- --.panel-box p { -- height: 1.5em; --} -diff --git a/docs.original/website/css/timeline.css b/docs.original/website/css/timeline.css -deleted file mode 100644 -index df58461ae2..0000000000 ---- a/docs.original/website/css/timeline.css -+++ /dev/null -@@ -1,184 +0,0 @@ --.timeline { -- list-style: none; -- padding: 20px 0 20px; -- position: relative; --} -- --.timeline:before { -- top: 0; -- bottom: 0; -- position: absolute; -- content: " "; -- width: 3px; -- background-color: #E4E4E4; -- left: 50%; -- margin-left: -1.5px; -- } -- --.timeline > li { -- margin-bottom: 20px; -- position: relative; --} -- --.timeline > li:before, --.timeline > li:after { -- content: " "; -- display: table; --} -- --.timeline > li:after { -- clear: both; --} -- --.timeline > li:before, --.timeline > li:after { -- content: " "; -- display: table; --} -- --.timeline > li:after { -- clear: both; --} -- --.timeline > li > .timeline-panel { -- width: 46%; -- float: left; -- border: 1px solid #d4d4d4; -- border-radius: 2px; -- padding: 20px; -- position: relative; -- -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); -- box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); -- background-color: white; --} -- --.timeline > li > .timeline-panel:before { -- position: absolute; -- top: 26px; -- right: -15px; -- display: inline-block; -- border-top: 15px solid transparent; -- border-left: 15px solid #ccc; -- border-right: 0 solid #ccc; -- border-bottom: 15px solid transparent; -- content: " "; --} -- --.timeline > li > .timeline-panel:after { -- position: absolute; -- top: 27px; -- right: -14px; -- display: inline-block; -- border-top: 14px solid transparent; -- border-left: 14px solid #fff; -- border-right: 0 solid #fff; -- border-bottom: 14px solid transparent; -- content: " "; --} -- --.timeline > li > .timeline-badge { -- color: #fff; -- width: 50px; -- height: 50px; -- line-height: 50px; -- font-size: 1.4em; -- text-align: center; -- position: absolute; -- top: 16px; -- left: 50%; -- margin-left: -25px; -- background-color: #E6E6E6; -- z-index: 100; -- border-top-right-radius: 50%; -- border-top-left-radius: 50%; -- border-bottom-right-radius: 50%; -- border-bottom-left-radius: 50%; --} -- --.timeline > li.timeline-inverted > .timeline-panel { -- float: right; --} -- --.timeline > li.timeline-inverted > .timeline-panel:before { -- border-left-width: 0; -- border-right-width: 15px; -- left: -15px; -- right: auto; --} -- --.timeline > li.timeline-inverted > .timeline-panel:after { -- border-left-width: 0; -- border-right-width: 14px; -- left: -14px; -- right: auto; --} -- --.timeline-badge.primary { -- background-color: #2e6da4 !important; --} -- --.timeline-badge.success { -- background-color: #3f903f !important; --} -- --.timeline-badge.warning { -- background-color: #f0ad4e !important; --} -- --.timeline-badge.danger { -- background-color: #d9534f !important; --} -- --.timeline-badge.info { -- background-color: #5bc0de !important; --} -- --.timeline-title { -- margin-top: 0; -- color: inherit; --} -- --.timeline-body > p, --.timeline-body > ul { -- margin-bottom: 0; --} -- --.timeline-body > p + p { -- margin-top: 5px; --} -- --@media (max-width: 767px) { -- ul.timeline:before { -- left: 40px; -- } -- -- ul.timeline > li > .timeline-panel { -- width: calc(100% - 90px); -- width: -moz-calc(100% - 90px); -- width: -webkit-calc(100% - 90px); -- } -- -- ul.timeline > li > .timeline-badge { -- left: 15px; -- margin-left: 0; -- top: 16px; -- } -- -- ul.timeline > li > .timeline-panel { -- float: right; -- } -- -- ul.timeline > li > .timeline-panel:before { -- border-left-width: 0; -- border-right-width: 15px; -- left: -15px; -- right: auto; -- } -- -- ul.timeline > li > .timeline-panel:after { -- border-left-width: 0; -- border-right-width: 14px; -- left: -14px; -- right: auto; -- } --} -diff --git a/docs.original/website/docs.html b/docs.original/website/docs.html -deleted file mode 100644 -index 85b005004d..0000000000 ---- a/docs.original/website/docs.html -+++ /dev/null -@@ -1,130 +0,0 @@ -- -- --
--
--
-- --
--
Documentation
--
--

The Buildroot user manual is where you want to start reading if you -- wish to understand how Buildroot works, or wish to change/extend/fix -- things. It is available as:

-- --
--
--
--
--
-- --
--
-- --
--
--
-- --

HTML
-- Stable | -- Nightly --

-- --
-- --
--
--
--
-- --
--
-- --
--
--
-- --

PDF
-- Stable | -- Nightly --

-- --
-- --
--
--
--
-- --
--
-- --
--
--
-- --

ASCII
-- Stable | -- Nightly --

-- --
--
-- --

If you find any errors (factual, grammatical, whatever) please -- report them to us.

--
--
-- --
--
Training
--
--

Bootlin (formerly Free Electrons) -- offers a complete 3-days -- training course on Buildroot. They also make the training -- materials freely available:

-- --
--
--
--
Slides preview
--
--
-- buildroot slides --
--
--
--
-- --
--
--
Training materials
-- --
-- --
--
Public online training course
--
-- Regular online training courses, available to individual -- registration, are proposed by Bootlin, with Thomas -- Petazzoni as -- trainer. See next -- dates and registration details. --
--
--
--
--
--
-- --
--
--
-- -- -- -diff --git a/docs.original/website/download.html b/docs.original/website/download.html -deleted file mode 100644 -index 5fea085ef9..0000000000 ---- a/docs.original/website/download.html -+++ /dev/null -@@ -1,217 +0,0 @@ -- -- --
--
--
-- --
--
Download
--
-- --

Latest long term support release: 2021.02.4

-- --
--
--
--
--
-- --
--
-- --
--
--
--

buildroot-2021.02.4.tar.gz

--

PGP signature

--
--
--
--
--
-- --
--
-- --
--
--
-- --

buildroot-2021.02.4.tar.bz2

--

PGP signature

--
--
-- --

Latest stable release: 2021.08

-- --
--
--
--
--
-- --
--
-- --
--
--
--

buildroot-2021.08.tar.gz

--

PGP signature

--
--
--
--
--
-- --
--
-- --
--
--
-- --

buildroot-2021.08.tar.bz2

--

PGP signature

--
--
-- -- This and earlier releases (and their PGP signatures) can always be downloaded from -- http://buildroot.net/downloads/. --
--
-- --
--
Source code
--
-- --
--
--
--
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. --
--
--
-- --
--
--
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.original/website/favicon.ico b/docs.original/website/favicon.ico -deleted file mode 100644 -index fa9d24079b..0000000000 -Binary files a/docs.original/website/favicon.ico and /dev/null differ -diff --git a/docs.original/website/favicon.png b/docs.original/website/favicon.png -deleted file mode 100644 -index 3bfe1ba76e..0000000000 -Binary files a/docs.original/website/favicon.png and /dev/null differ -diff --git a/docs.original/website/fonts/glyphicons-halflings-regular.woff b/docs.original/website/fonts/glyphicons-halflings-regular.woff -deleted file mode 100644 -index d83c539b82..0000000000 -Binary files a/docs.original/website/fonts/glyphicons-halflings-regular.woff and /dev/null differ -diff --git a/docs.original/website/footer.html b/docs.original/website/footer.html -deleted file mode 100644 -index 82901b7ee6..0000000000 ---- a/docs.original/website/footer.html -+++ /dev/null -@@ -1,7 +0,0 @@ -- -- -- -- -- -- -- -diff --git a/docs.original/website/header.html b/docs.original/website/header.html -deleted file mode 100644 -index e1909291f6..0000000000 ---- a/docs.original/website/header.html -+++ /dev/null -@@ -1,54 +0,0 @@ -- -- -- -- -- -- -- -- -- -- -- Buildroot - Making Embedded Linux Easy -- -- -- -- -- -- -- -- -- -- -diff --git a/docs.original/website/images/amarula-solutions-logo.png b/docs.original/website/images/amarula-solutions-logo.png -deleted file mode 100644 -index 3fe4aeef81..0000000000 -Binary files a/docs.original/website/images/amarula-solutions-logo.png and /dev/null differ -diff --git a/docs.original/website/images/bootlin-logo.png b/docs.original/website/images/bootlin-logo.png -deleted file mode 100644 -index 4f918750ec..0000000000 -Binary files a/docs.original/website/images/bootlin-logo.png and /dev/null differ -diff --git a/docs.original/website/images/boundary-devices-logo.png b/docs.original/website/images/boundary-devices-logo.png -deleted file mode 100644 -index 35d7a93197..0000000000 -Binary files a/docs.original/website/images/boundary-devices-logo.png and /dev/null differ -diff --git a/docs.original/website/images/browser.png b/docs.original/website/images/browser.png -deleted file mode 100644 -index 56039dfaae..0000000000 -Binary files a/docs.original/website/images/browser.png and /dev/null differ -diff --git a/docs.original/website/images/bug-buddy.png b/docs.original/website/images/bug-buddy.png -deleted file mode 100644 -index 5d38fd831e..0000000000 -Binary files a/docs.original/website/images/bug-buddy.png and /dev/null differ -diff --git a/docs.original/website/images/buildroot-slides.png b/docs.original/website/images/buildroot-slides.png -deleted file mode 100644 -index 6ecba3d479..0000000000 -Binary files a/docs.original/website/images/buildroot-slides.png and /dev/null differ -diff --git a/docs.original/website/images/calao-logo.png b/docs.original/website/images/calao-logo.png -deleted file mode 100644 -index c01ecf6752..0000000000 -Binary files a/docs.original/website/images/calao-logo.png and /dev/null differ -diff --git a/docs.original/website/images/circuitco-logo.png b/docs.original/website/images/circuitco-logo.png -deleted file mode 100644 -index 8b315da4d8..0000000000 -Binary files a/docs.original/website/images/circuitco-logo.png and /dev/null differ -diff --git a/docs.original/website/images/clippy.svg b/docs.original/website/images/clippy.svg -deleted file mode 100644 -index d827e82e5d..0000000000 ---- a/docs.original/website/images/clippy.svg -+++ /dev/null -@@ -1,3 +0,0 @@ -- -- -- -\ No newline at end of file -diff --git a/docs.original/website/images/email.png b/docs.original/website/images/email.png -deleted file mode 100644 -index 367dadc7f1..0000000000 -Binary files a/docs.original/website/images/email.png and /dev/null differ -diff --git a/docs.original/website/images/fluendo-logo.png b/docs.original/website/images/fluendo-logo.png -deleted file mode 100644 -index b4d02cb668..0000000000 -Binary files a/docs.original/website/images/fluendo-logo.png and /dev/null differ -diff --git a/docs.original/website/images/free-electrons-logo.png b/docs.original/website/images/free-electrons-logo.png -deleted file mode 100644 -index 0a774041f1..0000000000 -Binary files a/docs.original/website/images/free-electrons-logo.png and /dev/null differ -diff --git a/docs.original/website/images/gift.png b/docs.original/website/images/gift.png -deleted file mode 100644 -index f527f82837..0000000000 -Binary files a/docs.original/website/images/gift.png and /dev/null differ -diff --git a/docs.original/website/images/github_hash_mongrel2.png b/docs.original/website/images/github_hash_mongrel2.png -deleted file mode 100644 -index c695c3181a..0000000000 -Binary files a/docs.original/website/images/github_hash_mongrel2.png and /dev/null differ -diff --git a/docs.original/website/images/google-logo.png b/docs.original/website/images/google-logo.png -deleted file mode 100644 -index bceab16619..0000000000 -Binary files a/docs.original/website/images/google-logo.png and /dev/null differ -diff --git a/docs.original/website/images/hammer.png b/docs.original/website/images/hammer.png -deleted file mode 100644 -index 454a5e5814..0000000000 -Binary files a/docs.original/website/images/hammer.png and /dev/null differ -diff --git a/docs.original/website/images/imgtec-logo.png b/docs.original/website/images/imgtec-logo.png -deleted file mode 100644 -index f8a0ffa372..0000000000 -Binary files a/docs.original/website/images/imgtec-logo.png and /dev/null differ -diff --git a/docs.original/website/images/irc.png b/docs.original/website/images/irc.png -deleted file mode 100644 -index 442be4d74d..0000000000 -Binary files a/docs.original/website/images/irc.png and /dev/null differ -diff --git a/docs.original/website/images/logilin-logo.png b/docs.original/website/images/logilin-logo.png -deleted file mode 100644 -index 8e8396cf05..0000000000 -Binary files a/docs.original/website/images/logilin-logo.png and /dev/null differ -diff --git a/docs.original/website/images/logo.png b/docs.original/website/images/logo.png -deleted file mode 100644 -index 2db743b4fa..0000000000 -Binary files a/docs.original/website/images/logo.png and /dev/null differ -diff --git a/docs.original/website/images/logo.xcf b/docs.original/website/images/logo.xcf -deleted file mode 100644 -index 97248904bc..0000000000 -Binary files a/docs.original/website/images/logo.xcf and /dev/null differ -diff --git a/docs.original/website/images/logo_small.png b/docs.original/website/images/logo_small.png -deleted file mode 100644 -index eab9540226..0000000000 -Binary files a/docs.original/website/images/logo_small.png and /dev/null differ -diff --git a/docs.original/website/images/menuconfig.png b/docs.original/website/images/menuconfig.png -deleted file mode 100644 -index 423694f3e3..0000000000 -Binary files a/docs.original/website/images/menuconfig.png and /dev/null differ -diff --git a/docs.original/website/images/mind-logo.png b/docs.original/website/images/mind-logo.png -deleted file mode 100644 -index ecc3fa09e6..0000000000 -Binary files a/docs.original/website/images/mind-logo.png and /dev/null differ -diff --git a/docs.original/website/images/nconfig.png b/docs.original/website/images/nconfig.png -deleted file mode 100644 -index cc05d6e8e8..0000000000 -Binary files a/docs.original/website/images/nconfig.png and /dev/null differ -diff --git a/docs.original/website/images/package.png b/docs.original/website/images/package.png -deleted file mode 100644 -index 9dd8b1e0a1..0000000000 -Binary files a/docs.original/website/images/package.png and /dev/null differ -diff --git a/docs.original/website/images/pdf-icon.png b/docs.original/website/images/pdf-icon.png -deleted file mode 100644 -index 71ae983de7..0000000000 -Binary files a/docs.original/website/images/pdf-icon.png and /dev/null differ -diff --git a/docs.original/website/images/rockwell-collins-logo.png b/docs.original/website/images/rockwell-collins-logo.png -deleted file mode 100644 -index b5956a82a7..0000000000 -Binary files a/docs.original/website/images/rockwell-collins-logo.png and /dev/null differ -diff --git a/docs.original/website/images/scaleway-logo.png b/docs.original/website/images/scaleway-logo.png -deleted file mode 100644 -index 1685914548..0000000000 -Binary files a/docs.original/website/images/scaleway-logo.png and /dev/null differ -diff --git a/docs.original/website/images/smile-logo.png b/docs.original/website/images/smile-logo.png -deleted file mode 100644 -index 046c999a25..0000000000 -Binary files a/docs.original/website/images/smile-logo.png and /dev/null differ -diff --git a/docs.original/website/images/synopsys-logo.png b/docs.original/website/images/synopsys-logo.png -deleted file mode 100644 -index d4fbd89a10..0000000000 -Binary files a/docs.original/website/images/synopsys-logo.png and /dev/null differ -diff --git a/docs.original/website/images/tap2open-logo.png b/docs.original/website/images/tap2open-logo.png -deleted file mode 100644 -index 136019b621..0000000000 -Binary files a/docs.original/website/images/tap2open-logo.png and /dev/null differ -diff --git a/docs.original/website/images/text.png b/docs.original/website/images/text.png -deleted file mode 100644 -index e2eee546f8..0000000000 -Binary files a/docs.original/website/images/text.png and /dev/null differ -diff --git a/docs.original/website/images/tkos-logo.png b/docs.original/website/images/tkos-logo.png -deleted file mode 100644 -index 6fe58826e1..0000000000 -Binary files a/docs.original/website/images/tkos-logo.png and /dev/null differ -diff --git a/docs.original/website/images/tux-flat.png b/docs.original/website/images/tux-flat.png -deleted file mode 100644 -index 782699f5ee..0000000000 -Binary files a/docs.original/website/images/tux-flat.png and /dev/null differ -diff --git a/docs.original/website/images/xconfig.png b/docs.original/website/images/xconfig.png -deleted file mode 100644 -index cb99a3a353..0000000000 -Binary files a/docs.original/website/images/xconfig.png and /dev/null differ -diff --git a/docs.original/website/images/zillabit-logo.png b/docs.original/website/images/zillabit-logo.png -deleted file mode 100644 -index 6a2ac31f51..0000000000 -Binary files a/docs.original/website/images/zillabit-logo.png and /dev/null differ -diff --git a/docs.original/website/images/zip.png b/docs.original/website/images/zip.png -deleted file mode 100644 -index 02a1dc1134..0000000000 -Binary files a/docs.original/website/images/zip.png and /dev/null differ -diff --git a/docs.original/website/index.html b/docs.original/website/index.html -deleted file mode 100644 -index 300adbb83d..0000000000 ---- a/docs.original/website/index.html -+++ /dev/null -@@ -1,151 +0,0 @@ -- -- --
--
--
--
-- --
--
--

Buildroot
-- Making Embedded Linux Easy

-- --
--   Download --
--
--
--
--
-- -- --
--
--
--

Buildroot is a simple, efficient and easy-to-use tool to -- generate embedded Linux systems through cross-compilation.

--
--
-- --
--
--
--
--
-- --
--
-- --
--
--
-- --

Can handle everything

--

Cross-compilation toolchain, root filesystem generation, -- kernel image compilation and bootloader compilation.

--
-- --
--
--
--
-- --
--
-- --
--
--
-- --

Is very easy

--

Thanks to its kernel-like menuconfig, gconfig and -- xconfig configuration interfaces, building a basic system with -- Buildroot is easy and typically takes 15-30 minutes.

-- --
-- --
--
--
--
-- --
--
-- --
--
--
-- --

Supports several thousand packages

--

X.org stack, Gtk3, Qt 5, GStreamer, Webkit, Kodi, a large number of network-related and system-related utilities are supported.

-- --
--
--
--
-- --
--
--
--

Buildroot is for Everyone.

--

Has a simple structure that makes it easy to understand and extend. It relies only on the well-known Makefile language.

--
--
-- --
--
-- --
--
--
-- --
--
--
--

Our recent activity.

--

Buildroot is an open source project: many developers contribute to it daily.

--
--
--
-- --
--
--
--
-- --
--
--
--
--
--
-- --
--
--
--
--
--
-- -- -diff --git a/docs.original/website/js/buildroot.js b/docs.original/website/js/buildroot.js -deleted file mode 100644 -index bf80f11d7a..0000000000 ---- a/docs.original/website/js/buildroot.js -+++ /dev/null -@@ -1,93 +0,0 @@ --function load_activity(feedurl, divid) { -- let container = document.getElementById(divid); -- $.ajax({ -- url: "https://cors-anywhere.herokuapp.com/" + 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")); -- } -- }); --} -- --function google_analytics() { -- let _gaq = _gaq || []; -- _gaq.push(['_setAccount', 'UA-21761074-1']); -- _gaq.push(['_setDomainName', 'none']); -- _gaq.push(['_setAllowLinker', true]); -- _gaq.push(['_trackPageview']); -- -- let ga = document.createElement('script'); -- ga.type = 'text/javascript'; -- ga.async = true; -- ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; -- let s = document.getElementsByTagName('script')[0]; -- s.parentNode.insertBefore(ga, s); --} -- --function showTooltip(elem, msg) { -- elem.setAttribute('class', 'btn tooltipped tooltipped-s'); -- elem.setAttribute('aria-label', msg); --} -- --let clipboard = new Clipboard('.btn'); -- --$(function () { -- $('[data-toggle="tooltip"]').tooltip() --}); -- --clipboard.on('success', function(e) { -- e.clearSelection(); -- $(e.trigger).tooltip('show'); --}); -- --$(function() { -- $('a[href*=\\#]:not([href=\\#])').click(function() { -- if (location.pathname.replace(/^\//,'') === this.pathname.replace(/^\//,'') && location.hostname === this.hostname) { -- let target = $(this.hash); -- target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); -- if (target.length) { -- $('html,body').animate({ -- scrollTop: target.offset().top -- }, 1000); -- return false; -- } -- } -- }); --}); -- --jQuery(document).ready(function($) { -- let url = window.location.href; -- // Get the basename of the URL -- 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"); -- -- $('#slides').html('') --}); -diff --git a/docs.original/website/news.html b/docs.original/website/news.html -deleted file mode 100644 -index d3db1b28ed..0000000000 ---- a/docs.original/website/news.html -+++ /dev/null -@@ -1,6515 +0,0 @@ -- -- -- -- --
--
--
-- --

News

--
    -- --
  • --
    --
    --
    --

    2021.08 released

    --

    4 September 2021

    --
    --
    --

    The stable 2021.08 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 -- 2021.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.08-rc3 released

    --

    31 August 2021

    --
    --
    --

    2021.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 -- 2021.08-rc3 -- release candidate, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.08-rc2 released

    --

    18 August 2021

    --
    --
    --

    2021.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 -- 2021.08-rc2 -- release candidate, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.02.4 released

    --

    11 August 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.05.1 released

    --

    10 August 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.08-rc1 released

    --

    3 August 2021

    --
    --
    --

    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 -- 2021.08-rc1 -- release, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.02.3 released

    --

    12 June 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.05 released

    --

    6 June 2021

    --
    --
    --

    The stable 2021.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 -- 2021.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.05-rc3 released

    --

    31 May 2021

    --
    --
    --

    2021.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 -- 2021.05-rc3 -- release candidate, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.05-rc2 released

    --

    22 May 2021

    --
    --
    --

    2021.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 -- 2021.05-rc2 -- release candidate, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.02.2 released

    --

    12 May 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.05-rc1 released

    --

    12 May 2021

    --
    --
    --

    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 -- 2021.05-rc1 -- release, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.02.1 released

    --

    7 April 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.12 released, 2020.02.x series EOL

    --

    5 April 2021

    --
    --
    --

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

    -- --

    Notice that the 2020.02.x series is now end of life. Please migrate to -- the 2021.02 series instead which will be supported until March 2022.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.11.4 released, 2020.11.x series EOL

    --

    5 April 2021

    --
    --
    --

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

    -- --

    Notice that the 2020.11.x series is now end of life. Please migrate to -- the 2021.02 series instead which will be supported until March 2022.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.02 released

    --

    6 March 2021

    --
    --
    --

    The stable 2021.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 -- 2021.02 release.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.02-rc3 released

    --

    27 February 2021

    --
    --
    --

    2021.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 -- 2021.02-rc3 -- release candidate, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.11 released

    --

    17 February 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.11.3 released

    --

    17 February 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.02-rc2 released

    --

    17 February 2021

    --
    --
    --

    2021.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 -- 2021.02-rc2 -- release candidate, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2021.02-rc1 released

    --

    9 February 2021

    --
    --
    --

    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 -- 2021.02-rc1 -- release, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.10 released

    --

    31 January 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.11.2 released

    --

    31 January 2021

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.9 released

    --

    27 December 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.08.3 released, 2020.08.x series EOL

    --

    27 December 2020

    --
    --
    --

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

    -- --

    Notice that the 2020.08.x series is now end of life. Please migrate to -- the 2020.11 series instead which will be supported until March 2021.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.11.1 released

    --

    27 December 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.11 released

    --

    2 December 2020

    --
    --
    --

    The stable 2020.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 -- 2020.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.11-rc3 released

    --

    28 November 2020

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.8 released

    --

    17 November 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.08.2 released

    --

    16 November 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.11-rc2 released

    --

    14 November 2020

    --
    --
    --

    2020.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 -- 2020.11-rc2 -- release candidate, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.11-rc1 released

    --

    4 November 2020

    --
    --
    --

    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 -- 2020.11-rc1 -- release, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.7 released

    --

    12 October 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.05.3 released

    --

    12 October 2020

    --
    --
    --

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

    -- --

    Notice that the 2020.05.x series is now end of life. Please migrate to -- the 2020.08 series instead which will be supported until December 2020.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.08.1 released

    --

    12 October 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.6 released

    --

    5 September 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.08 released

    --

    1 September 2020

    --
    --
    --

    The stable 2020.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 -- 2020.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.5 released

    --

    29 august 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.05.2 released

    --

    29 August 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.08-rc3 released

    --

    28 August 2020

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.08-rc2 released

    --

    24 August 2020

    --
    --
    --

    2020.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 -- 2020.08-rc2 -- release candidate, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.08-rc1 released

    --

    6 August 2020

    --
    --
    --

    The 2020.08-rc1 release candidate is out. It is the first -- release candidate for 2020.08, which we aim at releasing end -- of August 2020. It contains a number of new packages, new -- defconfigs, toolchain improvements, package updates and -- more. See -- the CHANGES. Go -- to the downloads page to pick up the -- 2020.08-rc1 -- release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.4 released

    --

    26 July 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.05.1 released

    --

    25 July 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.3 released

    --

    3 June 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.05 released

    --

    1 June 2020

    --
    --
    --

    The stable 2020.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 -- 2020.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.05-rc3 released

    --

    29 May 2020

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.05-rc2 released

    --

    22 May 2020

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.2 released

    --

    12 May 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.05-rc1 released

    --

    10 April 2020

    --
    --
    --

    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 -- 2020.05-rc1 -- release, and report any problems found to the -- mailing list or -- bug tracker.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02.1 released

    --

    10 April 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.11.3 released, 2019.11.x series EOL

    --

    10 April 2020

    --
    --
    --

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

    -- --

    Notice that the 2019.11.x series is now end of life. Please migrate to -- the 2020.02 series instead which will be supported until April 2021.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.11 released, 2019.02.x series EOL

    --

    9 April 2020

    --
    --
    --

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

    -- --

    Notice that the 2019.02.x series is now end of life. Please migrate to -- the 2020.02 series instead which will be supported until April 2021.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.10 released

    --

    16 march 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.11.2 released

    --

    16 March 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02 released

    --

    8 March 2020

    --
    --
    --

    The stable 2020.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 -- 2020.02 release.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02-rc3 released

    --

    2 March 2020

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02-rc2 released

    --

    26 February 2020

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2020.02-rc1 released

    --

    18 February 2020

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.9 released

    --

    12 January 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.11.1 released

    --

    12 January 2020

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.8 released

    --

    7 December 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.08.3 released

    --

    7 December 2019

    --
    --
    --

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

    -- --

    Notice that the 2019.08.x series is now end of life. Please migrate to -- the 2019.02 or 2019.11 series instead.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.11 released

    --

    1 December 2019

    --
    --
    --

    The stable 2019.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 -- 2019.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.11-rc3 released

    --

    24 November 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.11-rc2 released

    --

    16 November 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.7 released

    --

    10 November 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.08.2 released

    --

    9 November 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.11-rc1 released

    --

    5 November 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.6 released

    --

    4 October 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.05.3 released

    --

    4 October 2019

    --
    --
    --

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

    -- --

    Notice that the 2019.05.x series is now end of life. Please migrate to -- the 2019.02 or 2019.08 series instead.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.08.1 released

    --

    4 October 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.05.2 released

    --

    3 September 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.5 released

    --

    2 September 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.08 released

    --

    1 September 2019

    --
    --
    --

    The stable 2019.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 -- 2019.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.08-rc3 released

    --

    28 August 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.08-rc2 released

    --

    20 August 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.08-rc1 released

    --

    9 August 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.4 released

    --

    7 June 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.05.1 released

    --

    7 July 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.3 released

    --

    7 June 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.05 released

    --

    2 June 2019

    --
    --
    --

    The stable 2019.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 -- 2019.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.05-rc3 released

    --

    25 May 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.05-rc2 released

    --

    15 May 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.05-rc1 released

    --

    8 May 2019

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the -- CHANGES -- file for details, and read the -- announcement. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.2 released

    --

    29 April 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02.1 released

    --

    29 March 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.12 released, 2018.02.x series EOL

    --

    29 March 2019

    --
    --
    --

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

    -- --

    Notice that the 2018.02.x series is now end of life. Please migrate to -- the 2019.02 series instead which will be supported until March 2020.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.11.4 released

    --

    28 March 2019

    --
    --
    --

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

    -- --

    Notice that the 2018.11.x series is now end of life. Please migrate to -- the 2019.02 series instead which will be supported until March 2020.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02 released

    --

    4 March 2019

    --
    --
    --

    The stable 2019.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 -- 2019.02 release.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02-rc3 released

    --

    1 March 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.11.3 released

    --

    23 February 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.11 released

    --

    23 February 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02-rc2 released

    --

    23 February 2019

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2019.02-rc1 released

    --

    13 February 2019

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the -- CHANGES -- file for details and read the -- announcement. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.10 released

    --

    31 January 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.11.2 released

    --

    30 January 2019

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.9 released

    --

    20 December 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.08.4 released, 2018.08 series EOL

    --

    20 December 2018

    --
    --
    --

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

    --

    Notice that the 2018.08 series is now end of life, please -- consider migrating to 2018.11 instead.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.11.1 released

    --

    19 December 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.11 released

    --

    1 December 2018

    --
    --
    --

    The stable 2018.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 -- 2018.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.11-rc3 released

    --

    30 November 2018

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.8 released

    --

    26 November 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.08.3 released

    --

    26 November 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.11-rc2 released

    --

    21 November 2018

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.11-rc1 released

    --

    9 November 2018

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the -- CHANGES -- file for details and/or read -- the announcement. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.7 released

    --

    25 October 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.08.2 released

    --

    25 October 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.08.1 released

    --

    7 October 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.6 released

    --

    7 October 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.05.3 released

    --

    6 October 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.08 released

    --

    6 September 2018

    --
    --
    --

    The stable 2018.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 -- 2018.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.08-rc3 released

    --

    31 August 2018

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.5 released

    --

    29 August 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.05.2 released

    --

    28 August 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.08-rc2 released

    --

    20 August 2018

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.08-rc1 released

    --

    5 August 2018

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the -- CHANGES -- file for details and/or read -- the announcement. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.4 released

    --

    21 July 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.05.1 released

    --

    20 July 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.3 released

    --

    18 June 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.05 released

    --

    1 June 2018

    --
    --
    --

    The stable 2018.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 -- 2018.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.05-rc3 released

    --

    28 May 2018

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.05-rc2 released

    --

    22 May 2018

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.05-rc1 released

    --

    9 May 2018

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the -- CHANGES -- file for details and read the -- announcement. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.2 released

    --

    4 May 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.11 released

    --

    11 April 2018

    --
    --
    --

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

    --

    Notice that the 2017.02 series is now end of life, so please consider -- updating to 2018.02 instead.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02.1 released

    --

    10 April 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02 released

    --

    4 March 2018

    --
    --
    --

    The stable 2018.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 -- 2018.02 release.

    -- --

    Notice that this is a long term support release which will be -- supported with security and other important fixes until February 2019.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02-rc3 released

    --

    27 February 2018

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02-rc2 released

    --

    15 February 2018

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2018.02-rc1 released

    --

    5 February 2018

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the -- CHANGES -- file for details and read the -- announcement. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.10 released

    --

    31 January 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.11.2 released

    --

    21 January 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.9 released

    --

    1 January 2018

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.11.1 released

    --

    31 December 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.11 released

    --

    30 November 2017

    --
    --
    --

    The stable 2017.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 -- 2017.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.08.2 released

    --

    29 November 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.8 released

    --

    27 November 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.11-rc2 released

    --

    13 November 2017

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.11-rc1 released

    --

    6 November 2017

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.7 released

    --

    28 October 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.08.1 released

    --

    23 October 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.6 released

    --

    24 September 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.08 released

    --

    1 September 2017

    --
    --
    --

    The stable 2017.08 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 -- 2017.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.08-rc3 released

    --

    23 August 2017

    --
    --
    --

    Another release candidate, on the road to the final 2017.08 -- release. A number of fixes and cleanups in various packages -- and defconfigs. See -- the CHANGES -- file for details. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.08-rc2 released

    --

    11 August 2017

    --
    --
    --

    Another release candidate, on the road to the final 2017.08 -- release. A number of fixes and cleanups in various packages -- and defconfigs. See -- the CHANGES -- file for details. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.08-rc1 released

    --

    2 August 2017

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.05.2 released

    --

    27 July 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.5 released

    --

    27 July 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.05.1 released

    --

    4 July 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.4 released

    --

    4 July 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.3 released

    --

    2 June 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.05 released

    --

    31 May 2017

    --
    --
    --

    The stable 2017.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 -- 2017.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.05-rc3 released

    --

    30 May 2017

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.05-rc2 released

    --

    17 May 2017

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.05-rc1 released

    --

    8 May 2017

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.2 released

    --

    1 May 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02.1 released

    --

    4 April 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.11.3 released

    --

    10 March 2017

    --
    --
    --

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

    --

    Notice that this is the final 2016.11.x release. Users are -- urged to migrate to the 2017.02.x series instead.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02 released

    --

    28 February 2017

    --
    --
    --

    The stable 2017.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 -- 2017.02 release.

    -- --

    Notice that this is a long term support release which will be -- supported with security and other important fixes until February 2018.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02-rc3 released

    --

    26 February 2017

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02-rc2 released

    --

    20 February 2017

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2017.02-rc1 released

    --

    11 February 2017

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.11.2 released

    --

    25 January 2017

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.11.1 released

    --

    29 December 2016

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.11 released

    --

    30 November 2016

    --
    --
    --

    The stable 2016.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 -- 2016.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.11-rc3 released

    --

    28 November 2016

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.11-rc2 released

    --

    13 November 2016

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.11-rc1 released

    --

    3 November 2016

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.08.1 released

    --

    21 September 2016

    --
    --
    --

    The 2016.08.1 bugfix release is out. This release fixes a -- potential entire root filesystem removal issue with the -- external toolchain handling discovered since the 2016.08 -- release. See the -- CHANGES -- file for more details, read the -- announcement and go to the -- downloads page to pick up the -- 2016.08.1 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.08 released

    --

    1 September 2016

    --
    --
    --

    The stable 2016.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 -- 2016.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.08-rc3 released

    --

    30 August 2016

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.08-rc2 released

    --

    17 August 2016

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.08-rc1 released

    --

    6 August 2016

    --
    --
    --

    We have a new release candidate! Lots of -- changes all over the tree, see -- the CHANGES -- file for details and read the -- announcement --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.05 released

    --

    1 March 2016

    --
    --
    --

    The stable 2016.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 -- 2016.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.05-rc3 released

    --

    26 May 2016

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.05-rc2 released

    --

    17 May 2016

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.05-rc1 released

    --

    10 May 2016

    --
    --
    --

    We have a new release candidate! Lots of -- changes all over the tree, see -- the CHANGES -- file for details and read the -- announcement. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.02 released

    --

    1 March 2016

    --
    --
    --

    The stable 2016.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 -- 2016.02 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.02-rc3 released

    --

    27 February 2016

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.02-rc2 released

    --

    18 February 2016

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2016.02-rc1 released

    --

    10 February 2016

    --
    --
    --

    We have a new release candidate! Lots of -- changes all over the tree, see -- the CHANGES -- file for details and read the -- announcement. --

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.11.1 released

    --

    5 December 2015

    --
    --
    --

    The 2015.11.1 bugfix release is out - Thanks to everyone -- contributing. This release fixes critical issues discovered -- since the 2015.11 release. See the -- CHANGES -- file for more details, and go to the -- downloads page to pick up the -- 2015.11.1 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.11 released

    --

    30 November 2015

    --
    --
    --

    The stable 2015.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 -- 2015.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.11-rc3 released

    --

    26 November 2015

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.11-rc2 released

    --

    19 November 2015

    --
    --
    --

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

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.11-rc1 released

    --

    7 November 2015

    --
    --
    --

    We have a new release candidate! Lots of -- changes all over the tree, see -- the CHANGES -- file for details. See also -- the announcement -- e-mail.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.08.1 released

    --

    6 September 2015

    --
    --
    --

    The 2015.08.1 bugfix release is out - Thanks to everyone -- contributing. This release fixes critical issues discovered since -- the 2015.08 release. See the -- CHANGES -- file for more details, -- and go to the downloads page to pick up the -- 2015.08.1 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.08 released

    --

    31 August 2015

    --
    --
    --

    The stable 2015.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 -- 2015.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.08-rc2 released

    --

    24 August 2015

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.08-rc1 released

    --

    5 August 2015

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.05 released

    --

    31 May 2015

    --
    --
    --

    The stable 2015.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 -- 2015.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.05-rc3 released

    --

    22 May 2015

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.05-rc2 released

    --

    11 May 2015

    --
    --
    --

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

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.05-rc1 released

    --

    4 May 2015

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.02 released

    --

    1 March 2015

    --
    --
    --

    The stable 2015.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 -- 2015.02 release.

    --
    --
    --
  • -- -- --
  • --
    --
    --
    --

    2015.02-rc3 released

    --

    24 February 2015

    --
    --
    --

    Release candidate 3 is out with more cleanups and security -- / build fixes. See -- the CHANGES -- file for details.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.02-rc2 released

    --

    15 February 2015

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2015.02-rc1 released

    --

    8 February 2015

    --
    --
    --

    We have a new release candidate! Lots of changes all over -- the tree, see -- the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.11 released

    --

    1 December 2014

    --
    --
    --

    The stable 2014.11 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 -- 2014.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.11-rc3 released

    --

    28 November 2014

    --
    --
    --

    Release candidate 3 is out with more cleanups and build -- fixes. See -- the CHANGES -- file for details.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.11-rc2 released

    --

    21 November 2014

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Report from Buildroot Developers Meeting

    --

    13 November 2014

    --
    --
    --

    A report from the recent -- -- Buildroot Developers Meeting is now -- available.

    -- --

    Once again, thanks to all the participants and to -- Mind for sponsoring the event.

    -- --

    The next Developer Days will take place on February 2nd and -- 3rd in Brussels, Belgium, right -- after FOSDEM. See -- the wiki -- for more details.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.11-rc1 released

    --

    12 November 2014

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.08 released

    --

    1 September 2014

    --
    --
    --

    The stable 2014.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 -- 2014.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.08-rc3 released

    --

    26 August 2014

    --
    --
    --

    Release candidate 3 is out with more cleanups and build -- fixes. See -- the CHANGES -- file for details.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.08-rc2 released

    --

    18 August 2014

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.08-rc1 released

    --

    8 August 2014

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.05 released

    --

    31 May 2014

    --
    --
    --

    The stable 2014.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 -- 2014.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.05-rc3 released

    --

    28 May 2014

    --
    --
    --

    Release candidate 3 is out with more cleanups and build -- fixes. See -- the CHANGES -- file for details.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.05-rc2 released

    --

    21 May 2014

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.05-rc1 released

    --

    13 May 2014

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    27 February 2014

    --

    2014.02 released

    --
    --
    --

    The stable 2014.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 -- 2014.02 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    25 February 2014

    --

    2014.02-rc3 released

    --
    --
    --

    Release candidate 3 is out with more cleanups and build -- fixes. See -- the CHANGES -- file for details.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    20 February 2014

    --

    2014.02-rc2 released

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2014.02-rc1 released

    --

    11 February 2014

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    9 February 2014

    --

    Report from Buildroot Developers Meeting

    --
    --
    --

    A report from the recent -- -- Buildroot Developers Meeting is now -- available.

    -- --

    Once again, thanks to all the participants and to -- Google and -- Mind for sponsoring the event.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Upcoming Buildroot Developers meeting

    --

    30 January 2014

    --
    --
    --

    The upcoming Buildroot Developers meeting will take place in -- Brussels on February, 3rd and 4th, after the -- FOSDEM conference. Additional -- details about the meeting can be found on the corresponding -- -- wiki page.

    -- --

    Persons not able to join the meeting in Brussels can participate -- remotely using Google Hangouts. Simply give your Google address to -- thomas.petazzoni@free-electrons.com.

    -- --

    This meeting is sponsored by -- Google (for the meeting room) -- and Mind (for the dinner). -- Thanks to our sponsors!

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.11 released

    --

    30 November 2013

    --
    --
    --

    The stable 2013.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 -- 2013.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Slides from Embedded Linux Conference Europe

    --

    30 November 2013

    --
    --
    --

    The slides from the Buildroot presentation at the recent -- Embedded Linux Conference Europe 2013 -- are now -- available.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.11-rc3 released

    --

    18 November 2013

    --
    --
    --

    Another week, another release candidate with more -- fixes. See -- the CHANGES -- file for details.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.11-rc2 released

    --

    18 November 2013

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Announcement of the next Buildroot Developer Days

    --

    13 November 2013

    --
    --
    --

    The next Buildroot Developer Days meeting will take -- place on Monday 3rd and Tuesday 4th February 2014 in Brussels, -- Belgium - Just after -- FOSDEM (February -- 1st/2nd). This two days meeting is mainly open to Buildroot -- developers and contributors, or Buildroot users having a prior -- experience with the tool. It will allow developers to work on -- Buildroot and discuss current issues, the future directions, and -- more.

    -- --

    In addition to the Buildroot event, we encourage embedded Linux -- developers to propose talks for the Embedded and Mobile Developer -- Room at FOSDEM. See -- the CFP.

    -- --

    We would like to thank our -- sponsor Google for sponsoring -- the event by providing all the needed logistics.

    -- --

    For more details, see the -- wiki -- page dedicated to the meeting.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.11-rc1 released

    --

    12 November 2013

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Report from Buildroot Developers Meeting

    --

    11 November 2013

    --
    --
    --

    A report from the recent -- -- Buildroot Developers Meeting is now -- available.

    -- --

    Once again, thanks to all the participants and to -- Imagination Technologies -- for sponsoring the event.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.08.1 released

    --

    17 September 2013

    --
    --
    --

    The 2013.08.1 bugfix release is out - Thanks to everyone -- contributing. This release fixes critical issues discovered since -- the 2013.08 release. See the -- CHANGES -- file for more details, -- and go to the downloads page to pick up the -- 2013.08.1 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Buildroot Developer Days

    --

    16 September 2013

    --
    --
    --

    The next Buildroot Developer Days meeting will take -- place on Saturday October 26th and Sunday October 27th 2013 in -- Edinburgh, UK - Just after the -- Embedded Linux Conference Europe (October 23th-24th). This two -- days meeting is mainly open to Buildroot developers and -- contributors, or Buildroot users having a prior experience with -- the tool. It will allow developers to work on Buildroot and -- discuss current issues, the future directions, and more.

    -- --

    For more details, see the -- wiki -- page dedicated to the meeting.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.08 released

    --

    31 August 2013

    --
    --
    --

    The stable 2013.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 -- 2013.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.08-rc3 released

    --

    29 August 2013

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.08-rc2 released

    --

    16 August 2013

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.08-rc1 released

    --

    5 August 2013

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.05 released

    --

    31 May 2013

    --
    --
    --

    The stable 2013.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 -- 2013.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.05-rc3 released

    --

    25 May 2013

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.05-rc2 released

    --

    15 May 2013

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.05-rc1 released

    --

    8 May 2013

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.02 released

    --

    28 February 2013

    --
    --
    --

    The stable 2013.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 -- 2013.02 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.02-rc3 released

    --

    26 February 2013

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.02-rc2 released

    --

    19 February 2013

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2013.02-rc1 released

    --

    10 February 2013

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Report from Buildroot Developers Meeting

    --

    10 February 2013

    --
    --
    --

    A report from the recent Buildroot Developers Meeting is now -- available. -- Embedded Linux News also has a -- -- writeup about the event, including photos.

    -- --

    Once again, thanks to all the participants and to -- Google for sponsoring the event.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Next Buildroot Developers Meeting next to FOSDEM, Brussels

    --

    12 January 2013

    --
    --
    --

    The next Buildroot Developers Meeting will take place on Monday -- 4th February 2013 and Tuesday 5th February 2013 in Brussels, -- Belgium. Those dates have been chosen to immediately follow the -- great FOSDEM conference.

    -- --

    Attending this meeting is free, after registration by -- contacting Thomas -- Petazzoni. For more details about the meeting, please see -- the related -- Wiki page.

    -- --

    We would like to -- thank Google for providing the -- meeting location and the Internet connection, and offering free -- lunch and refreshments to the participants.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.11.1 released

    --

    3 January 2013

    --
    --
    --

    The 2012.11.1 bugfix release is out - Thanks to everyone -- contributing. This release fixes critical issues discovered since -- the 2012.11 release, most importantly with non-largefile builds on -- recent Ubuntu versions. See the -- CHANGES -- file for more details, -- and go to the downloads page to pick up the -- 2012.11.1 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.11 released

    --

    2 December 2012

    --
    --
    --

    The stable 2012.11 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 -- 2012.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.11-rc2 released

    --

    30 November 2012

    --
    --
    --

    RC2 is out with more bugfixes - See -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.11-rc1 released

    --

    17 November 2012

    --
    --
    --

    We have a new release candidate! Lots of changes all over the -- tree, see the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Buildroot Developer Day

    --

    17 November 2012

    --
    --
    --

    A report from the recent Buildroot Developer Days -- meeting in Barcelona, Spain is -- now available. -- Many thanks to all the participants, and a special thanks to -- Arnout Vandecappelle from mind -- for taking notes and Thomas Petazzoni -- from Free Electrons -- for handling all the practical arrangements, and naturally -- our sponsors, Fluendo -- and Synopsis. --

    --

    The next Developer Days will take place on February 4th and -- 5th in Brussels, Belgium, right -- after FOSDEM.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.08 released

    --

    31 August 2012

    --
    --
    --

    The stable 2012.08 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 -- 2012.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.08-rc3 released

    --

    25 August 2012

    --
    --
    --

    We have a new release candidate! Various fixes, and -- addition of licensing informations on many -- packages. See CHANGES -- file for details

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.08-rc2 released

    --

    15 August 2012

    --
    --
    --

    We have a new release candidate! Various fixes, and addition -- of licensing informations on many -- packages. See CHANGES -- file for details

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.08-rc1 released

    --

    1 August 2012

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Buildroot Developer Day

    --

    22 July 2012

    --
    --
    --

    The next Buildroot Developer Day meeting will take place -- on Saturday November 3th and Sunday November 4th 2012 in -- Barcelona, Spain, just before -- the Embedded -- Linux Conference Europe (November 5th-7th). This two days -- meeting is mainly opened to Buildroot developers and contributors, -- or Buildroot users having a prior experience with the tool. This -- meeting will allow developers to work and Buildroot, and discuss -- current issues, the future directions, and more.

    -- --

    For more details, see -- the wiki -- page dedicated to the meeting.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.05 released

    --

    30 May 2012

    --
    --
    --

    The stable 2012.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 -- 2012.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.05-rc3 released

    --

    25 May 2012

    --
    --
    --

    RC3 is out with more bugfixes - See -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.05-rc2 released

    --

    18 May 2012

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.05-rc1 released

    --

    10 May 2012

    --
    --
    --

    We have a new release candidate! Lots of changes all over -- the tree, see -- the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Autobuilder Results Online

    --

    20 April 2012

    --
    --
    --

    The status of the autobuilders, which do repeated -- randpackageconfig builds for continuous -- integration testing, is now online -- at autobuild.buildroot.org. The -- code behind it can be found -- in git.

    -- --

    Thanks to Thomas Petazzoni for running the web interface, and -- to The GCC Compile -- Farm and Free -- Electrons for hosting builders. Thomas also sends out a daily -- summary of the build status to the mailing list.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.02 released

    --

    29 February 2012

    --
    --
    --

    The stable 2012.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 -- 2012.02 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.02-rc3 released

    --

    27 February 2012

    --
    --
    --

    RC3 is out with more bugfixes - See -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.02-rc2 released

    --

    19 February 2012

    --
    --
    --

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

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2012.02-rc1 released

    --

    12 February 2012

    --
    --
    --

    We have a new release candidate! Lots of changes all over -- the tree, see -- the CHANGES -- file for details, and read the -- announcement.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Buildroot Developer Day

    --

    31 January 2012

    --
    --
    --

    Another Buildroot Developer Day will take place on -- Friday, February 3rd in Brussels, Belgium - The day -- before FOSDEM. See the -- announcement -- or -- the Free -- Electrons blog for more info.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.11 released

    --

    30 November 2011

    --
    --
    --

    The stable 2011.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 -- 2011.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.11-rc3 released

    --

    26 November 2011

    --
    --
    --

    RC3 is out with more bugfixes - See -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.11-rc2 released

    --

    18 November 2011

    --
    --
    --

    Another week, another release candidate with a bunch of -- cleanups and build fixes. See -- the CHANGES -- file for details.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.11-rc1 released

    --

    11 November 2011

    --
    --
    --

    We have a new release candidate! Lots of changes all over -- the tree, see -- the CHANGES -- file for details, and read the -- announcement -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.08 released

    --

    31 August 2011

    --
    --
    --

    The stable 2011.08 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 -- 2011.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.08-rc2 released

    --

    29 August 2011

    --
    --
    --

    RC2 is out with more bugfixes. See -- the CHANGES -- file for details, and read the -- announcement. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.08-rc1 released

    --

    4 August 2011

    --
    --
    --

    We have a new release candidate! Lots of changes all over -- the tree, see -- the CHANGES -- file for details, and read the -- announcement. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.05 released

    --

    27 May 2011

    --
    --
    --

    The stable 2011.05 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 -- 2011.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.05-rc2 released

    --

    24 May 2011

    --
    --
    --

    RC2 is out with more bugfixes. See -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.05-rc1 released

    --

    18 May 2011

    --
    --
    --

    We have a new release candidate! Lots of changes all over -- the tree, see -- the CHANGES -- file for details, and read the -- announcement. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.02 released

    --

    28 February 2011

    --
    --
    --

    The stable 2011.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 -- 2011.02 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.02-rc2 released

    --

    24 February 2011

    --
    --
    --

    RC2 is out with more cleanups and bugfixes, see -- the CHANGES -- file for details.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2011.02-rc1 released

    --

    14 February 2011

    --
    --
    --

    We have a new release candidate! Lots of changes all over -- the tree, see -- the CHANGES -- file for details, and read the -- announcement. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.11 released

    --

    30 November 2010

    --
    --
    --

    The stable 2010.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 -- 2010.11 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.11-rc2 released

    --

    25 November 2010

    --
    --
    --

    RC2 is out with more cleanups and bugfixes, see -- the CHANGES -- file for details.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.11-rc1 released

    --

    8 November 2010

    --
    --
    --

    We have a new release candidate! Lots of changes all over -- the tree, see -- the CHANGES -- file for details, and read the -- announcement. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Buildroot Developer Day

    --

    28 September 2010

    --
    --
    --

    A Buildroot Developer Day will take place on -- Friday, October 29th in Cambridge, UK - Just the day after the -- Embedded -- Linux Conference Europe. This Developer Day -- aims at allowing Buildroot developers to meet and exchange -- ideas on the project and its future. See the -- announcement -- for more info.

    -- --

    Thanks to Thomas Petazzoni for taking care of the practical -- arrangements.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.08 released

    --

    31 August 2010

    --
    --
    --

    The stable 2010.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 -- 2010.08 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.08-rc2 released

    --

    30 August 2010

    --
    --
    --

    RC2 is out with more cleanups and bugfixes, see -- the CHANGES -- file for details. -- --

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

    -- -- This is very much expected to be the final release candidate, -- so give it a good test and expect a final 2010.08 release -- before September unless critical issues are found.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.08-rc1 released

    --

    30 July 2010

    --
    --
    --

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

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.05 released

    --

    30 May 2010

    --
    --
    --

    The stable 2010.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 -- 2010.05 release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.05-rc3 released

    --

    27 May 2010

    --
    --
    --

    RC3 is out with more cleanups and bugfixes, see -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.05-rc2 released

    --

    11 May 2010

    --
    --
    --

    Another week, another release candidate with a bunch of -- cleanups and build fixes.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.05-rc1 released

    --

    3 May 2010

    --
    --
    --

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

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    FOSDEM slides online

    --

    2 May 2010

    --
    --
    --

    The slides from -- the Cross -- Build Systems: Present & Future session -- at FOSDEM are -- now online. --

    --
    --
  • -- --
  • --
    --
    --
    --

    2010.02 released

    --

    26 February 2010

    --
    --
    --

    The stable 2010.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 2010.02 -- release.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.02-rc2 released

    --

    23 February 2010

    --
    --
    --

    RC2 is out with more cleanups and bugfixes, see -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2010.02-rc1 released

    --

    9 February 2010

    --
    --
    --

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

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.11 released

    --

    1 December 2009

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.11-rc2 released

    --

    29 November 2009

    --
    --
    --

    RC2 is out with more cleanups and bugfixes, see -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.11-rc1 released

    --

    23 November 2009

    --
    --
    --

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

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    First Buildroot Developer Day

    --

    7 September 2009

    --
    --
    --

    The first Buildroot Developer Day will take place on -- Saturday, October 17th in Grenoble, France, just the day after -- Embedded Linux Conference Europe. This Developer Day aims -- at allowing Buildroot developers to meet and exchange ideas on the -- project and its future.

    -- --

    As the number of places is limited, interested candidates are -- invited to send an e-mail to Peter Korsgaard (jacmet at -- uclibc dot org) and Thomas Petazzoni (thomas dot -- petazzoni at free-electrons dot com).

    -- --

    This Developer Day will take place thanks to the -- sponsoring of Calao -- Systems and Free -- Electrons.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.08 released

    --

    31 August 2009

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.08-rc3 released

    --

    26 August 2009

    --
    --
    --

    A number of bugfixes have been added to the tree since RC2 -- (especially thanks to Thomas Petazzoni) - See -- the CHANGES -- file for details. This is very much expected to be the final -- release candidate, so give it a good test and expect a final -- 2009.08 release next weekend unless critical issues are -- found.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.08-rc2 released

    --

    6 August 2009

    --
    --
    --

    RC2 is out with more cleanups and bugfixes, see -- the CHANGES -- file for details. -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.08-rc1 released

    --

    2 August 2009

    --
    --
    --

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

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.05 released

    --

    1 June 2009

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.05-rc3 released

    --

    27 May 2009

    --
    --
    --

    We had a number of fixes post-RC2, so RC3 is out -- (see CHANGES -- for details). Now is the moment to test and verify that -- everything is working for your favorite config - Expect a -- final 2009.05 very soon.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.05-rc2 released

    --

    19 May 2009

    --
    --
    --

    RC2 is out with more cleanups and bug fixes -- (see CHANGES). -- Unless big issues are found, expect this to be the last -- release candidate before the release - So give it a good -- test.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Buildroot.org

    --

    14 May 2009

    --
    --
    --

    Earl Levine has been so kind to donate -- the buildroot.org domain to us, so the website can -- now also be reached -- at www.buildroot.org -- (and git at -- git.buildroot.org). -- -- Thanks a lot Earl!

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.05-rc1 released

    --

    5 May 2009

    --
    --
    --

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

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Moved to git

    --

    3 May 2009

    --
    --
    --

    We've moved the source code -- from Subversion -- to Git. You can browse the -- repo online -- here, and clone -- the repo using: --

    git clone git://git.buildroot.net/buildroot
    -- See the Git Access page for more details. --

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    --

    27 March 2009

    --

    --
    --

    We have a logo! We have so -- far been using the Busybox -- logo on the website, as the website was a copy of -- the Busybox one - But not -- anymore, we now have a shiny new logo of our own.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.02 released

    --

    12 February 2009

    --
    --
    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.02-rc4 released

    --

    9 February 2009

    --
    --
    --

    We had more than 50 changes since RC3, several of them -- toolchain related, so decided to make a RC4 as well. This is -- very much expected to be the final release candidate, so -- give it a good test and expect a final 2009.02 release this -- week unless critical issues are found.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.02-rc3 released

    --

    31 January 2009

    --
    --
    --

    RC3 is out with more cleanups and bug fixes. Unless big -- issues are found, expect this to be the last release -- candidate before the release - So give it a good test.

    -- --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    2009.02-rc2 released

    --

    23 January 2009

    --
    --
    --

    Another week, another release candidate with a bunch of -- cleanups and build fixes.

    --

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

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Release candidate and new maintainer

    --

    16 January 2009

    --
    --
    -- --

    It has been a long time coming, but we finally have a new -- release candidate! - And a new maintainer to match (Peter -- Korsgaard).

    -- --

    Head to the downloads page to -- pick up the -- 2009.02-rc1 -- release candidate, and report any problems found to -- the mailing list -- or bug tracker. The -- plan is to release 2009.02 in time -- for FOSDEM.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Buildroot mailing list

    --

    16 July 2006

    --
    --
    --

    Buildroot now has its own mailing list.

    --
    --
    --
  • -- --
  • --
    --
    --
    --

    Buildroot webpage added

    --

    21 February 2005

    -- --

    Buildroot is a set of Makefiles and patches that makes it easy generate a -- cross-compilation toolchain and root filesystem for your target Linux -- system using the uClibc C library. -- Buildroot is useful mainly for people working with small or embedded -- systems. Embedded systems often use processors that are not the regular -- x86 processors everyone is used to using on their PC. It can be PowerPC -- processors, MIPS processors, ARM processors, etc. And to be extra safe, -- you do not need to be root to build or run buildroot.

    -- --

    And as of today buildroot even has its own webpage, making it a first class -- citizen of uclibc.org and busybox.net, and more importantly, make it easy -- to find and point to buildroot.

    -- --

    If you find a bug in buildroot, or wish to submit a patch -- to fix a problem or add a shiny new feature, please use -- the Bug and Patch -- Tracking System to post the details, to make certain -- your work is not lost

    --
    --
    --
  • --
-- --
--
--
-- -- -- -diff --git a/docs.original/website/robots.txt b/docs.original/website/robots.txt -deleted file mode 100644 -index 1b425ee0f5..0000000000 ---- a/docs.original/website/robots.txt -+++ /dev/null -@@ -1,2 +0,0 @@ --User-agent: * --Disallow: /cgi-bin/ -diff --git a/docs.original/website/sponsors.html b/docs.original/website/sponsors.html -deleted file mode 100644 -index 2f3f6309ae..0000000000 ---- a/docs.original/website/sponsors.html -+++ /dev/null -@@ -1,350 +0,0 @@ -- -- --
--
--
-- --
--
Current sponsors
--
-- --
--
--
--
--
-- -- -- --
--
-- Tap2Open -- financially sponsored the Buildroot Association -- in 2020.
--
--
--
-- --
--
--
--
-- -- -- --
--
-- Logilin -- financially sponsored the Buildroot Association -- in 2020.
--
--
--
--
--
--
-- --
--
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
--
--

Throughout its history, the Buildroot project has been sponsored by -- various companies, that we would like to thank below.

-- --
--
--
--
--
-- -- -- --
--
-- Smile provided the meeting location for the -- ELCE 2019 -- meeting and sponsored the Buildroot Summer Camp that took place on July 1-5 2016 -- in Toulouse, France. Smile sponsored the participation of Romain Naour and paid -- the food expenses for the meeting participants. -- In 2018, Smile sponsored of LLVM/Clang integration into Buildroot, see the final -- report. --
--
--
--
-- --
--
--
--
-- -- -- --
--
-- Mind sponsored -- financially the Buildroot Association for the ELCE -- 2018 meeting, sponsored the dinner of the FOSDEM 2014, -- 2015, 2016, 2017 and 2018 Developers Meeting -- (Brussels) and ELCE 2016 (Berlin) and 2017 (Prague), -- and the meeting room and the dinner for the ELCE 2014 -- Developers Meeting (Düsseldorf). --
--
--
--
-- --
--
--
--
--

--

--
--
--

Google provided -- the logistics for the FOSDEM 2013, FOSDEM 2014, -- FOSDEM 2015, FOSDEM 2016, FOSDEM 2017, FOSDEM 2018, -- FOSDEM 2019 and FOSDEM 2020 Developer Days in Brussels, -- Belgium.

--
--
--
--
--
-- --
-- --
--
--
--
--

--

--
--
-- Amarula -- Solutions sponsored the event by contributing -- financially to the Buildroot Association. --
--
--
--
-- --
--
--
--
--

--

--
-- --
--

Bootlin -- sponsored financially the Buildroot Association for -- the ELCE 2018 meeting, sponsored the meeting -- location for the ELCE 2016 Developer Days in Berlin, -- Germany, and the lunch for the ELCE 2009 Developer -- Days in Grenoble, France.

--
--
--
--
-- --
--
--
--
-- -- -- --
--
-- Logilin sponsored -- the ELCE 2018 Buildroot Developers meeting by -- contributing financially to the Buildroot -- Association. --
--
--
--
-- --
-- --
-- --
--
--
--
-- -- -- --
--
-- Tk Open Systems -- sponsored the ELCE 2018 Buildroot Developers meeting -- by contributing financially to the Buildroot -- Association. --
--
--
--
-- --
--
--
--
-- -- -- --
--
-- Rockwell -- Collins sponsored the ELCE 2018 Buildroot -- Developers meeting by funding the social Saturday -- dinner for the participants. --
--
--
--
-- --
--
--
--
-- -- -- --
--
-- Scaleway -- sponsored the complete logistics to organize our Buildroot -- Hackathon in Paris in March 2018: meeting room, Internet -- connectivity and accommodation. --
--
--
--
--
-- --
--
--
--
--
--

--

--
--
-- Imagination Technologies -- sponsored the meeting room and dinner of the ELCE 2013 -- Developer Days in Edinburgh, UK. --
--
--
--
-- --
--
--
--
--

--

--
--
--

CircuitCo sponsored -- several development boards for the Google Summer of Code -- 2013 project on Buildroot.

--
--
--
--
-- --
--
--
--
--

--

--
--
--

BoundaryDevices -- sponsored an i.MX6 development board for the Google Summer of -- Code 2013 project on Buildroot.

--
--
--
--
--
-- --
--
--
--
--
--

--

--
--
--

Fluendo sponsored the -- meeting room for the ELCE 2012 Developer Days in Barcelona -- Spain.

--
--
--
--
-- --
--
--
--
--

--

--
--
--

Synopsys sponsored the -- dinner for the ELCE 2012 Developer Days in Barcelona, Spain.

--
--
--
--
-- --
--
--
--
--

--

--
--
--

Calao Systems -- provided a a meeting room for the ELCE 2009 Developer Days -- in Grenoble, France.

--
--
--
--
--
-- --
--
--
-- -- -diff --git a/docs.original/website/support.html b/docs.original/website/support.html -deleted file mode 100644 -index 90231f601c..0000000000 ---- a/docs.original/website/support.html -+++ /dev/null -@@ -1,124 +0,0 @@ -- -- --
--
--
-- --
--
Support
--
--

You can get support for Buildroot through three main channels:

-- --
--
--
--
IRC
--
--
--
-- --
--
--

The Buildroot IRC channel is -- #buildroot, hosted on OFTC. If you do not have an IRC client, you can -- use the OFTC web interface. -- 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 -- OFTC NickServ -- service. Follow the instructions to register as a user with a password, -- and then join the #buildroot channel.

--
--
--
--
--
-- --
--
--
Mailing List Information
--
--
--
-- --
--
--

The mailing list is for discussion and -- development. You can subscribe by visiting -- this -- page. Only subscribers to the Buildroot -- mailing list are allowed to post to this -- list. Archives are available -- from Mailman -- and lore.kernel.org. -- --

Search the List Archives

--

Please search the mailing list archives before asking questions on the mailing -- list, since there is a good chance someone else has asked the same question -- before.

-- --
-- -- --
--
--
--
--
--
-- --
--
--
Bug Tracker
--
--
--
-- --
--
--

If you think you found a bug in Buildroot, you can use the -- Bug Tracker to post your bugs and/or -- participate to find solutions to existing problems.

-- --

Note: patches are only accepted through the mailing list.

--
--
--
--
--
--
--
--
-- --
--
Commercial support
--
--

In addition, the following companies are able to provide commercial -- support. Only companies heavily involved in Buildroot maintenance and -- community are listed here.

-- --
--
--
-- -- -- -- -- -- -- -- -- --
--
--
--
--
-- --
--
--
-- -- -diff --git a/docs/images/logo.png b/docs/images/logo.png -deleted file mode 100644 -index 2db743b4fa..0000000000 -Binary files a/docs/images/logo.png and /dev/null differ -diff --git a/docs/images/shred_db.png b/docs/images/shred_db.png -deleted file mode 100644 -index 9bb8064d55..0000000000 -Binary files a/docs/images/shred_db.png and /dev/null differ -diff --git a/docs/manual/adding_packages.txt b/docs/manual/adding_packages.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/docs/manual/adding_packages.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/docs/manual/appendix_txt b/docs/manual/appendix_txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/docs/manual/appendix_txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/docs/manual/build_procedure.txt b/docs/manual/build_procedure.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/docs/manual/build_procedure.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/docs/manual/contributing_to_the_shredos_manual.txt b/docs/manual/contributing_to_the_shredos_manual.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/docs/manual/contributing_to_the_shredos_manual.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/docs/manual/graphical_user_interface.txt b/docs/manual/graphical_user_interface.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/docs/manual/graphical_user_interface.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/docs/manual/key_shredos_components.txt b/docs/manual/key_shredos_components.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/docs/manual/key_shredos_components.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/docs/manual/known_issues.txt b/docs/manual/known_issues.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/docs/manual/known_issues.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/manual.mk b/manual.mk -deleted file mode 100644 -index 2c6784cd9b..0000000000 ---- a/manual.mk -+++ /dev/null -@@ -1,10 +0,0 @@ -- ################################################################################ --# --# The ShredOS user and developer manual --# --################################################################################ -- --MANUAL_SOURCES = $(sort $(wildcard shredos_manual/*.txt) $(wildcard images/*)) --MANUAL_RESOURCES = $(TOPDIR)/images -- --$(eval $(call asciidoc-document)) -diff --git a/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch b/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch -index c55b227c0c..bc3301ab61 100644 ---- a/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch -+++ b/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch -@@ -28,67 +28,67 @@ index 8a5745b4..6097b43e 100644 - --- a/ibrcommon/ssl/gcm/gcm.cpp - +++ b/ibrcommon/ssl/gcm/gcm.cpp - @@ -89,7 +89,7 @@ ret_type gcm_init_and_key( /* initialise mode and set key -- #elif defined( TABLES_256 ) -- #define gf_mul_hh(a, ctx, scr) gf_mul_256(a, ctx->gf_t256, scr) -- #else ---#define gf_mul_hh(a, ctx, scr) gf_mul(a, ui8_ptr(ctx->ghash_h)) --+#define gf_mul_hh(a, ctx, scr) ibrdtn_gf_mul(a, ui8_ptr(ctx->ghash_h)) -- #endif -- -- ret_type gcm_init_message( /* initialise a new message */ -+ #elif defined( TABLES_256 ) -+ #define gf_mul_hh(a, ctx, scr) gf_mul_256(a, ctx->gf_t256, scr) -+ #else -+-#define gf_mul_hh(a, ctx, scr) gf_mul(a, ui8_ptr(ctx->ghash_h)) -++#define gf_mul_hh(a, ctx, scr) ibrdtn_gf_mul(a, ui8_ptr(ctx->ghash_h)) -+ #endif -+ -+ ret_type gcm_init_message( /* initialise a new message */ - @@ -334,9 +334,9 @@ ret_type gcm_compute_tag( /* compute authentication tag -- memcpy(tbuf, ctx->ghash_h, BLOCK_SIZE); -- for( ; ; ) -- { --- if(ln & 1) gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); --+ if(ln & 1) ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); -- if(!(ln >>= 1)) break; --- gf_mul(tbuf, tbuf); --+ ibrdtn_gf_mul(tbuf, tbuf); -- } -- } -- #else /* this one seems slower on x86 and x86_64 :-( */ -+ memcpy(tbuf, ctx->ghash_h, BLOCK_SIZE); -+ for( ; ; ) -+ { -+- if(ln & 1) gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); -++ if(ln & 1) ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); -+ if(!(ln >>= 1)) break; -+- gf_mul(tbuf, tbuf); -++ ibrdtn_gf_mul(tbuf, tbuf); -+ } -+ } -+ #else /* this one seems slower on x86 and x86_64 :-( */ - @@ -348,12 +348,12 @@ ret_type gcm_compute_tag( /* compute authentication tag -- tbuf[0] = 0x80; -- while(i) -- { --- gf_mul(tbuf, tbuf); --+ ibrdtn_gf_mul(tbuf, tbuf); -- if(i & ln) -- gf_mul_hh(tbuf, ctx, scratch); -- i >>= 1; -- } --- gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); --+ ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); -- } -- #endif -- i = BLOCK_SIZE; ln = (uint_32t)(ctx->txt_acnt << 3); -+ tbuf[0] = 0x80; -+ while(i) -+ { -+- gf_mul(tbuf, tbuf); -++ ibrdtn_gf_mul(tbuf, tbuf); -+ if(i & ln) -+ gf_mul_hh(tbuf, ctx, scratch); -+ i >>= 1; -+ } -+- gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); -++ ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); -+ } -+ #endif -+ i = BLOCK_SIZE; ln = (uint_32t)(ctx->txt_acnt << 3); - diff --git a/ibrcommon/ssl/gcm/gf128mul.cpp b/ibrcommon/ssl/gcm/gf128mul.cpp - index a553a044..d0c460c3 100644 - --- a/ibrcommon/ssl/gcm/gf128mul.cpp - +++ b/ibrcommon/ssl/gcm/gf128mul.cpp - @@ -103,7 +103,7 @@ -- -- const unsigned short gf_tab[256] = gf_dat(xda); -- ---void gf_mul(void *a, const void* b) --+void ibrdtn_gf_mul(void *a, const void* b) -- { uint_32t r[GF_BYTE_LEN >> 2], p[8][GF_BYTE_LEN >> 2]; -- int i; -- -+ -+ const unsigned short gf_tab[256] = gf_dat(xda); -+ -+-void gf_mul(void *a, const void* b) -++void ibrdtn_gf_mul(void *a, const void* b) -+ { uint_32t r[GF_BYTE_LEN >> 2], p[8][GF_BYTE_LEN >> 2]; -+ int i; -+ - diff --git a/ibrcommon/ssl/gcm/gf128mul.h b/ibrcommon/ssl/gcm/gf128mul.h - index 4645c7fe..65fba54b 100644 - --- a/ibrcommon/ssl/gcm/gf128mul.h - +++ b/ibrcommon/ssl/gcm/gf128mul.h - @@ -619,7 +619,7 @@ gf_inline void mul_x(void *r, const void *x) -- -- /* A slow generic version of gf_mul (a = a * b) */ -- ---void gf_mul(void *a, const void* b); --+void ibrdtn_gf_mul(void *a, const void* b); -- -- /* This version uses 64k bytes of table space on the stack. -- A 16 byte buffer has to be multiplied by a 16 byte key -+ -+ /* A slow generic version of gf_mul (a = a * b) */ -+ -+-void gf_mul(void *a, const void* b); -++void ibrdtn_gf_mul(void *a, const void* b); -+ -+ /* This version uses 64k bytes of table space on the stack. -+ A 16 byte buffer has to be multiplied by a 16 byte key - -- - 2.14.1 - -diff --git a/package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch b/package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch -index d6e4b63fd7..0bb8fcc0b4 100644 ---- a/package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch -+++ b/package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch -@@ -20,25 +20,25 @@ index 0712b07..b334e9c 100644 - --- a/source/Irrlicht/Makefile - +++ b/source/Irrlicht/Makefile - @@ -62,7 +62,7 @@ LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \ -- ############### -- #Compiler flags -- CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng ---CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1 --+override CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1 -- CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing -- ifndef NDEBUG -- CXXFLAGS += -g -D_DEBUG -+ ############### -+ #Compiler flags -+ CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng -+-CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1 -++override CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1 -+ CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing -+ ifndef NDEBUG -+ CXXFLAGS += -g -D_DEBUG - @@ -74,8 +74,8 @@ CXXFLAGS += -pg -- endif -- CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES -- ---sharedlib sharedlib_osx: CXXFLAGS += -fPIC ---sharedlib sharedlib_osx: CFLAGS += -fPIC --+sharedlib sharedlib_osx: override CXXFLAGS += -fPIC --+sharedlib sharedlib_osx: override CFLAGS += -fPIC -- -- #multilib handling -- ifeq ($(HOSTTYPE), x86_64) -+ endif -+ CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES -+ -+-sharedlib sharedlib_osx: CXXFLAGS += -fPIC -+-sharedlib sharedlib_osx: CFLAGS += -fPIC -++sharedlib sharedlib_osx: override CXXFLAGS += -fPIC -++sharedlib sharedlib_osx: override CFLAGS += -fPIC -+ -+ #multilib handling -+ ifeq ($(HOSTTYPE), x86_64) - -- - 2.9.3 - -diff --git a/package/irrlicht/0002-remove-sys-sysctl.h.patch b/package/irrlicht/0002-remove-sys-sysctl.h.patch -index d9142a9a22..2e5fc63e6f 100644 ---- a/package/irrlicht/0002-remove-sys-sysctl.h.patch -+++ b/package/irrlicht/0002-remove-sys-sysctl.h.patch -@@ -26,13 +26,13 @@ index 0899d1d..ccf5ef5 100644 - --- a/source/Irrlicht/COSOperator.cpp - +++ b/source/Irrlicht/COSOperator.cpp - @@ -13,7 +13,6 @@ -- #include -- #ifndef _IRR_SOLARIS_PLATFORM_ -- #include ---#include -- #endif -- #endif -- -+ #include -+ #ifndef _IRR_SOLARIS_PLATFORM_ -+ #include -+-#include -+ #endif -+ #endif -+ - -- - 2.9.3 - -diff --git a/package/libfreeimage/0003-fix-big-endian-os.patch b/package/libfreeimage/0003-fix-big-endian-os.patch -index e0d4e921ca..360a299206 100644 ---- a/package/libfreeimage/0003-fix-big-endian-os.patch -+++ b/package/libfreeimage/0003-fix-big-endian-os.patch -@@ -9,56 +9,56 @@ diff -uNr FreeImage.orig/Source/FreeImage/PluginBMP.cpp FreeImage/Source/FreeIma - --- FreeImage.orig/Source/FreeImage/PluginBMP.cpp 2016-06-15 12:35:30.000000000 +0200 - +++ FreeImage/Source/FreeImage/PluginBMP.cpp 2019-08-31 16:00:27.813378612 +0200 - @@ -518,7 +518,7 @@ -- io->read_proc(FreeImage_GetPalette(dib), used_colors * sizeof(RGBQUAD), 1, handle); -- #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB -- RGBQUAD *pal = FreeImage_GetPalette(dib); --- for(int i = 0; i < used_colors; i++) { --+ for(unsigned int i = 0; i < used_colors; i++) { -- INPLACESWAP(pal[i].rgbRed, pal[i].rgbBlue); -- } -- #endif -+ io->read_proc(FreeImage_GetPalette(dib), used_colors * sizeof(RGBQUAD), 1, handle); -+ #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB -+ RGBQUAD *pal = FreeImage_GetPalette(dib); -+- for(int i = 0; i < used_colors; i++) { -++ for(unsigned int i = 0; i < used_colors; i++) { -+ INPLACESWAP(pal[i].rgbRed, pal[i].rgbBlue); -+ } -+ #endif - @@ -1419,7 +1419,7 @@ -- -- free(buffer); -- #ifdef FREEIMAGE_BIGENDIAN --- } else if (bpp == 16) { --+ } else if (dst_bpp == 16) { -- int padding = dst_pitch - dst_width * sizeof(WORD); -- WORD pad = 0; -- WORD pixel; -+ -+ free(buffer); -+ #ifdef FREEIMAGE_BIGENDIAN -+- } else if (bpp == 16) { -++ } else if (dst_bpp == 16) { -+ int padding = dst_pitch - dst_width * sizeof(WORD); -+ WORD pad = 0; -+ WORD pixel; - @@ -1440,7 +1440,7 @@ -- } -- #endif -- #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB --- } else if (bpp == 24) { --+ } else if (dst_bpp == 24) { -- int padding = dst_pitch - dst_width * sizeof(FILE_BGR); -- DWORD pad = 0; -- FILE_BGR bgr; -+ } -+ #endif -+ #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB -+- } else if (bpp == 24) { -++ } else if (dst_bpp == 24) { -+ int padding = dst_pitch - dst_width * sizeof(FILE_BGR); -+ DWORD pad = 0; -+ FILE_BGR bgr; - @@ -1461,7 +1461,7 @@ -- } -- } -- } --- } else if (bpp == 32) { --+ } else if (dst_bpp == 32) { -- FILE_BGRA bgra; -- for(unsigned y = 0; y < dst_height; y++) { -- BYTE *line = FreeImage_GetScanLine(dib, y); -+ } -+ } -+ } -+- } else if (bpp == 32) { -++ } else if (dst_bpp == 32) { -+ FILE_BGRA bgra; -+ for(unsigned y = 0; y < dst_height; y++) { -+ BYTE *line = FreeImage_GetScanLine(dib, y); - diff -uNr FreeImage.orig/Source/FreeImage/PluginDDS.cpp FreeImage/Source/FreeImage/PluginDDS.cpp - --- FreeImage.orig/Source/FreeImage/PluginDDS.cpp 2018-07-31 17:04:58.000000000 +0200 - +++ FreeImage/Source/FreeImage/PluginDDS.cpp 2019-08-31 16:00:39.213465120 +0200 - @@ -356,14 +356,6 @@ -- for(int i=0; i<11; i++) { -- SwapLong(&header->surfaceDesc.dwReserved1[i]); -- } --- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwSize); --- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFlags); --- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFourCC); --- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBBitCount); --- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRBitMask); --- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwGBitMask); --- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwBBitMask); --- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask); -- SwapLong(&header->surfaceDesc.ddsCaps.dwCaps1); -- SwapLong(&header->surfaceDesc.ddsCaps.dwCaps2); -- SwapLong(&header->surfaceDesc.ddsCaps.dwReserved[0]); -+ for(int i=0; i<11; i++) { -+ SwapLong(&header->surfaceDesc.dwReserved1[i]); -+ } -+- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwSize); -+- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFlags); -+- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFourCC); -+- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBBitCount); -+- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRBitMask); -+- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwGBitMask); -+- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwBBitMask); -+- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask); -+ SwapLong(&header->surfaceDesc.ddsCaps.dwCaps1); -+ SwapLong(&header->surfaceDesc.ddsCaps.dwCaps2); -+ SwapLong(&header->surfaceDesc.ddsCaps.dwReserved[0]); -diff --git a/package/manual.mk b/package/manual.mk -deleted file mode 100644 -index 2c6784cd9b..0000000000 ---- a/package/manual.mk -+++ /dev/null -@@ -1,10 +0,0 @@ -- ################################################################################ --# --# The ShredOS user and developer manual --# --################################################################################ -- --MANUAL_SOURCES = $(sort $(wildcard shredos_manual/*.txt) $(wildcard images/*)) --MANUAL_RESOURCES = $(TOPDIR)/images -- --$(eval $(call asciidoc-document)) -diff --git a/package/nwipe/nwipe.hash b/package/nwipe/nwipe.hash -index 3d28fca2e5..4aa1fe18ab 100644 ---- a/package/nwipe/nwipe.hash -+++ b/package/nwipe/nwipe.hash -@@ -1,2 +1 @@ --sha1 04805645ef11b5773167c6b432cc7844a4f27b97 nwipe-v0.32.014.tar.gz -- -+sha1 95286cb23de3d54137ddf544bf55874c30b75857 nwipe-v0.32.023.tar.gz -diff --git a/package/nwipe/nwipe.mk b/package/nwipe/nwipe.mk -index efeaa0297b..18fe2dacb9 100644 ---- a/package/nwipe/nwipe.mk -+++ b/package/nwipe/nwipe.mk -@@ -4,7 +4,7 @@ - # - ################################################################################ - --NWIPE_VERSION = v0.32.014 -+NWIPE_VERSION = v0.32.023 - NWIPE_SITE = $(call github,partialvolume,nwipe,$(NWIPE_VERSION)) - NWIPE_DEPENDENCIES = ncurses parted dmidecode coreutils - -diff --git a/package/perl-sys-cpu/0001-remove-extraneous-include.patch b/package/perl-sys-cpu/0001-remove-extraneous-include.patch -index eb7d8f76a8..538a0a714b 100644 ---- a/package/perl-sys-cpu/0001-remove-extraneous-include.patch -+++ b/package/perl-sys-cpu/0001-remove-extraneous-include.patch -@@ -11,10 +11,10 @@ Index: b/CPU.xs - --- a/CPU.xs - +++ b/CPU.xs - @@ -24,7 +24,6 @@ -- #include -- #else /* other (try unix) */ -- #include --- #include -- #endif -- #if defined(__sun) || defined(__sun__) -- #include -+ #include -+ #else /* other (try unix) */ -+ #include -+- #include -+ #endif -+ #if defined(__sun) || defined(__sun__) -+ #include -diff --git a/package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch b/package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch -index e1d99f0fcb..09a9eb2b80 100644 ---- a/package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch -+++ b/package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch -@@ -29,12 +29,12 @@ index 461d56f..f8a678d 100644 - --- a/src/qextserialport.pri - +++ b/src/qextserialport.pri - @@ -3,7 +3,8 @@ -- -- PUBLIC_HEADERS += $$PWD/qextserialport.h \ -- $$PWD/qextserialenumerator.h \ --- $$PWD/qextserialport_global.h --+ $$PWD/qextserialport_global.h \ --+ $$PWD/QExtSerialPort -- -- HEADERS += $$PUBLIC_HEADERS \ -- $$PWD/qextserialport_p.h \ -+ -+ PUBLIC_HEADERS += $$PWD/qextserialport.h \ -+ $$PWD/qextserialenumerator.h \ -+- $$PWD/qextserialport_global.h -++ $$PWD/qextserialport_global.h \ -++ $$PWD/QExtSerialPort -+ -+ HEADERS += $$PUBLIC_HEADERS \ -+ $$PWD/qextserialport_p.h \ -diff --git a/package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch b/package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch -index fcf1b3cce6..b21da8d96a 100644 ---- a/package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch -+++ b/package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch -@@ -19,20 +19,20 @@ Index: b/rapidxml_print.hpp - --- a/rapidxml_print.hpp - +++ b/rapidxml_print.hpp - @@ -101,7 +101,16 @@ -- -- /////////////////////////////////////////////////////////////////////////// -- // Internal printing operations --- --+ --+ template inline OutIt print_cdata_node(OutIt out, const xml_node *node, int flags, int indent); --+ template inline OutIt print_children(OutIt out, const xml_node *node, int flags, int indent); --+ template inline OutIt print_comment_node(OutIt out, const xml_node *node, int flags, int indent); --+ template inline OutIt print_data_node(OutIt out, const xml_node *node, int flags, int indent); --+ template inline OutIt print_declaration_node(OutIt out, const xml_node *node, int flags, int indent); --+ template inline OutIt print_doctype_node(OutIt out, const xml_node *node, int flags, int indent); --+ template inline OutIt print_element_node(OutIt out, const xml_node *node, int flags, int indent); --+ template inline OutIt print_pi_node(OutIt out, const xml_node *node, int flags, int indent); --+ -- // Print node -- template -- inline OutIt print_node(OutIt out, const xml_node *node, int flags, int indent) -+ -+ /////////////////////////////////////////////////////////////////////////// -+ // Internal printing operations -+- -++ -++ template inline OutIt print_cdata_node(OutIt out, const xml_node *node, int flags, int indent); -++ template inline OutIt print_children(OutIt out, const xml_node *node, int flags, int indent); -++ template inline OutIt print_comment_node(OutIt out, const xml_node *node, int flags, int indent); -++ template inline OutIt print_data_node(OutIt out, const xml_node *node, int flags, int indent); -++ template inline OutIt print_declaration_node(OutIt out, const xml_node *node, int flags, int indent); -++ template inline OutIt print_doctype_node(OutIt out, const xml_node *node, int flags, int indent); -++ template inline OutIt print_element_node(OutIt out, const xml_node *node, int flags, int indent); -++ template inline OutIt print_pi_node(OutIt out, const xml_node *node, int flags, int indent); -++ -+ // Print node -+ template -+ inline OutIt print_node(OutIt out, const xml_node *node, int flags, int indent) -diff --git a/package/shredos/Config.in b/package/shredos/Config.in -deleted file mode 100644 -index 2c8b0294f1..0000000000 ---- a/package/shredos/Config.in -+++ /dev/null -@@ -1,6 +0,0 @@ --config BR2_PACKAGE_SHREDOS -- bool "shredos" -- help -- Shredos -- --comment "shredos" -diff --git a/package/shredos/adding-packages-asciidoc.txt b/package/shredos/adding-packages-asciidoc.txt -deleted file mode 100644 -index f9688b36c7..0000000000 ---- a/package/shredos/adding-packages-asciidoc.txt -+++ /dev/null -@@ -1,122 +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 $(pkgdir)/*)) --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). -- --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 $(pkgdir)/*)) --08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/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/package/shredos/adding_packages.txt b/package/shredos/adding_packages.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/adding_packages.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/appendix_txt b/package/shredos/appendix_txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/appendix_txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/build_procedure.txt b/package/shredos/build_procedure.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/build_procedure.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/configure.txt b/package/shredos/configure.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/configure.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/contributing_to_the_shredos_manual.txt b/package/shredos/contributing_to_the_shredos_manual.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/contributing_to_the_shredos_manual.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/getting.txt b/package/shredos/getting.txt -deleted file mode 100644 -index 7c44e128a6..0000000000 ---- a/package/shredos/getting.txt -+++ /dev/null -@@ -1,36 +0,0 @@ -- // -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --[[getting-buildroot]] --== Getting Buildroot -- --Buildroot releases are made every 3 months, in February, May, August and --November. Release numbers are in the format YYYY.MM, so for example --2013.02, 2014.08. -- --Release tarballs are available at http://buildroot.org/downloads/[]. -- --For your convenience, a https://www.vagrantup.com/[Vagrantfile] is --available in `support/misc/Vagrantfile` in the Buildroot source tree --to quickly set up a virtual machine with the needed dependencies to --get started. -- --If you want to setup an isolated buildroot environment on Linux or Mac --Os X, paste this line onto your terminal: -- ---------------------- --curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up ---------------------- -- --If you are on Windows, paste this into your powershell: -- ---------------------- --(new-object System.Net.WebClient).DownloadFile( --"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); --vagrant up ---------------------- -- --If you want to follow development, you can use the daily snapshots or --make a clone of the Git repository. Refer to the --http://buildroot.org/download[Download page] of the Buildroot website --for more details. -diff --git a/package/shredos/graphical_user_interface.txt b/package/shredos/graphical_user_interface.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/graphical_user_interface.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/introduction.txt b/package/shredos/introduction.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/introduction.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/key_shredos_components.txt b/package/shredos/key_shredos_components.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/key_shredos_components.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/known_issues.txt b/package/shredos/known_issues.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/known_issues.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/prerequisite.txt b/package/shredos/prerequisite.txt -deleted file mode 100644 -index 8d1c8b69c3..0000000000 ---- a/package/shredos/prerequisite.txt -+++ /dev/null -@@ -1 +0,0 @@ -- -diff --git a/package/shredos/shredos.mk b/package/shredos/shredos.mk -deleted file mode 100644 -index 6d56411243..0000000000 ---- a/package/shredos/shredos.mk -+++ /dev/null -@@ -1,10 +0,0 @@ -- ################################################################################ --# --# The ShredOS user and developer manual --# --################################################################################ -- --MANUAL_SOURCES = $(sort $(wildcard $(pkgdir)/*.txt)) --MANUAL_RESOURCES = $(TOPDIR)/images -- --$(eval $(call asciidoc-document)) -diff --git a/package/shredos/shredos.txt b/package/shredos/shredos.txt -deleted file mode 100644 -index be198b52e3..0000000000 ---- a/package/shredos/shredos.txt -+++ /dev/null -@@ -1,49 +0,0 @@ --// -*- mode:doc; -*- --// vim: set syntax=asciidoc: -- --= The ShredOS user and developer manual --:toc: -- --ShredOS {sys:echo $\{BR2_VERSION%%-git*\}} manual generated on {localdate} --{localtime} from git revision {sys:git rev-parse --short HEAD} -- --The ShredOS user and developer manual is written by the PartialVolume and the ShredOS 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) 2018-2021 PartialVolume and The ShredOS developers -- --image::/images/shred_db.png[] -- --= Getting started -- --include::introduction.txt[] -- --include::prerequisite.txt[] -- --include::getting.txt[] -- --= User guide -- --include::configure.txt[] -- --include::graphical_user_interface.txt[] -- --include::known-issues.txt[] -- --include::legal-notice.txt[] -- --include::beyond-buildroot.txt[] -- --= Developer guide -- --include::key_shredos_components.txt[] -- --include::build_procedure.txt[] -- --include::contributing_to_the_shredos_manual.txt[] -- --= Appendix -- --include::appendix.txt[] -diff --git a/package/softether/0003-use-fhs-install-directories.patch b/package/softether/0003-use-fhs-install-directories.patch -index ba00d9b676..c3702ca2c5 100644 ---- a/package/softether/0003-use-fhs-install-directories.patch -+++ b/package/softether/0003-use-fhs-install-directories.patch -@@ -49,239 +49,239 @@ Index: b/src/Cedar/Admin.c - --- a/src/Cedar/Admin.c - +++ b/src/Cedar/Admin.c - @@ -10334,7 +10334,7 @@ -- -- Zero(t, sizeof(RPC_READ_LOG_FILE)); -- --- GetExeDir(exe_dir, sizeof(exe_dir)); --+ GetStateDir(exe_dir, sizeof(exe_dir)); -- Format(full_path, sizeof(full_path), "%s/%s", exe_dir, filepath); -- -- // Read file -+ -+ Zero(t, sizeof(RPC_READ_LOG_FILE)); -+ -+- GetExeDir(exe_dir, sizeof(exe_dir)); -++ GetStateDir(exe_dir, sizeof(exe_dir)); -+ Format(full_path, sizeof(full_path), "%s/%s", exe_dir, filepath); -+ -+ // Read file - Index: b/src/Cedar/Command.c - =================================================================== - --- a/src/Cedar/Command.c - +++ b/src/Cedar/Command.c - @@ -527,7 +527,7 @@ -- UINT i; -- -- GetExeName(exe, sizeof(exe)); --- GetExeDir(exe_dir, sizeof(exe_dir)); --+ GetStateDir(exe_dir, sizeof(exe_dir)); -- -- ok = false; -- dirs = EnumDir(exe_dir); -+ UINT i; -+ -+ GetExeName(exe, sizeof(exe)); -+- GetExeDir(exe_dir, sizeof(exe_dir)); -++ GetStateDir(exe_dir, sizeof(exe_dir)); -+ -+ ok = false; -+ dirs = EnumDir(exe_dir); - @@ -552,7 +552,11 @@ -- UCHAR *buf; -- IO *io; -- #ifndef OS_WIN32 --+#ifdef STATE_DIR --+ wchar_t *filename = L"" STATE_DIR L"/vpn_checker_tmp"; --+#else -- wchar_t *filename = L"/tmp/vpn_checker_tmp"; --+#endif -- #else // OS_WIN32 -- wchar_t filename[MAX_PATH]; -- CombinePathW(filename, sizeof(filename), MsGetMyTempDirW(), L"vpn_checker_tmp"); -+ UCHAR *buf; -+ IO *io; -+ #ifndef OS_WIN32 -++#ifdef STATE_DIR -++ wchar_t *filename = L"" STATE_DIR L"/vpn_checker_tmp"; -++#else -+ wchar_t *filename = L"/tmp/vpn_checker_tmp"; -++#endif -+ #else // OS_WIN32 -+ wchar_t filename[MAX_PATH]; -+ CombinePathW(filename, sizeof(filename), MsGetMyTempDirW(), L"vpn_checker_tmp"); - Index: b/src/Cedar/Logging.c - =================================================================== - --- a/src/Cedar/Logging.c - +++ b/src/Cedar/Logging.c - @@ -508,7 +508,7 @@ -- -- e = ZeroMalloc(sizeof(ERASER)); -- --- GetExeDir(dir, sizeof(dir)); --+ GetStateDir(dir, sizeof(dir)); -- -- e->Log = log; -- e->MinFreeSpace = min_size; -+ -+ e = ZeroMalloc(sizeof(ERASER)); -+ -+- GetExeDir(dir, sizeof(dir)); -++ GetStateDir(dir, sizeof(dir)); -+ -+ e->Log = log; -+ e->MinFreeSpace = min_size; - Index: b/src/Cedar/Server.c - =================================================================== - --- a/src/Cedar/Server.c - +++ b/src/Cedar/Server.c - @@ -1060,7 +1060,7 @@ -- hubname = NULL; -- } -- --- GetExeDir(exe_dir, sizeof(exe_dir)); --+ GetStateDir(exe_dir, sizeof(exe_dir)); -- -- // Enumerate in the server_log -- if (hubname == NULL) -+ hubname = NULL; -+ } -+ -+- GetExeDir(exe_dir, sizeof(exe_dir)); -++ GetStateDir(exe_dir, sizeof(exe_dir)); -+ -+ // Enumerate in the server_log -+ if (hubname == NULL) - @@ -1134,7 +1134,7 @@ -- return; -- } -- --- GetExeDir(exe_dir, sizeof(exe_dir)); --+ GetStateDir(exe_dir, sizeof(exe_dir)); -- Format(dir_full_path, sizeof(dir_full_path), "%s/%s", exe_dir, dirname); -- -- dir = EnumDir(dir_full_path); -+ return; -+ } -+ -+- GetExeDir(exe_dir, sizeof(exe_dir)); -++ GetStateDir(exe_dir, sizeof(exe_dir)); -+ Format(dir_full_path, sizeof(dir_full_path), "%s/%s", exe_dir, dirname); -+ -+ dir = EnumDir(dir_full_path); - Index: b/src/Mayaqua/FileIO.c - =================================================================== - --- a/src/Mayaqua/FileIO.c - +++ b/src/Mayaqua/FileIO.c - @@ -122,8 +122,14 @@ -- #include -- #include -- --+#ifdef STATE_DIR --+static char exe_file_name[MAX_SIZE] = STATE_DIR "/a.out"; --+static wchar_t exe_file_name_w[MAX_SIZE] = L"" STATE_DIR L"/a.out"; --+#else -- static char exe_file_name[MAX_SIZE] = "/tmp/a.out"; -- static wchar_t exe_file_name_w[MAX_SIZE] = L"/tmp/a.out"; --+#endif --+ -- static LIST *hamcore = NULL; -- static IO *hamcore_io = NULL; -- -+ #include -+ #include -+ -++#ifdef STATE_DIR -++static char exe_file_name[MAX_SIZE] = STATE_DIR "/a.out"; -++static wchar_t exe_file_name_w[MAX_SIZE] = L"" STATE_DIR L"/a.out"; -++#else -+ static char exe_file_name[MAX_SIZE] = "/tmp/a.out"; -+ static wchar_t exe_file_name_w[MAX_SIZE] = L"/tmp/a.out"; -++#endif -++ -+ static LIST *hamcore = NULL; -+ static IO *hamcore_io = NULL; -+ - @@ -1038,7 +1044,7 @@ -- } -- -- // If the file exist in hamcore/ directory on the local disk, read it --- GetExeDirW(exe_dir, sizeof(exe_dir)); --+ GetStateDirW(exe_dir, sizeof(exe_dir)); -- -- UniFormat(tmp, sizeof(tmp), L"%s/%S/%S", exe_dir, HAMCORE_DIR_NAME, filename); -- -+ } -+ -+ // If the file exist in hamcore/ directory on the local disk, read it -+- GetExeDirW(exe_dir, sizeof(exe_dir)); -++ GetStateDirW(exe_dir, sizeof(exe_dir)); -+ -+ UniFormat(tmp, sizeof(tmp), L"%s/%S/%S", exe_dir, HAMCORE_DIR_NAME, filename); -+ - @@ -1154,7 +1160,7 @@ -- return; -- } -- --- GetExeDirW(exe_dir, sizeof(exe_dir)); --+ GetStateDirW(exe_dir, sizeof(exe_dir)); -- UniFormat(tmp, sizeof(tmp), L"%s/%S", exe_dir, HAMCORE_FILE_NAME); -- -- UniFormat(tmp2, sizeof(tmp2), L"%s/%S", exe_dir, HAMCORE_FILE_NAME_2); -+ return; -+ } -+ -+- GetExeDirW(exe_dir, sizeof(exe_dir)); -++ GetStateDirW(exe_dir, sizeof(exe_dir)); -+ UniFormat(tmp, sizeof(tmp), L"%s/%S", exe_dir, HAMCORE_FILE_NAME); -+ -+ UniFormat(tmp2, sizeof(tmp2), L"%s/%S", exe_dir, HAMCORE_FILE_NAME_2); - @@ -1438,6 +1444,33 @@ -- GetDirNameFromFilePathW(name, size, exe_file_name_w); -- } -- --+void GetStateDir(char *name, UINT size) --+{ --+ // Validate arguments --+ if (name == NULL) --+ { --+ return; --+ } --+#ifdef STATE_DIR --+ StrCpy(name, size, STATE_DIR); --+#else --+ GetExeDir(name, size) --+#endif --+} --+void GetStateDirW(wchar_t *name, UINT size) --+{ --+ // Validate arguments --+ if (name == NULL) --+ { --+ return; --+ } --+#ifdef STATE_DIR --+ UniStrCpy(name, size, L"" STATE_DIR L""); --+#else --+ GetExeDirW(name, size) --+#endif --+} --+ -- // Get the EXE file name -- void GetExeName(char *name, UINT size) -- { -+ GetDirNameFromFilePathW(name, size, exe_file_name_w); -+ } -+ -++void GetStateDir(char *name, UINT size) -++{ -++ // Validate arguments -++ if (name == NULL) -++ { -++ return; -++ } -++#ifdef STATE_DIR -++ StrCpy(name, size, STATE_DIR); -++#else -++ GetExeDir(name, size) -++#endif -++} -++void GetStateDirW(wchar_t *name, UINT size) -++{ -++ // Validate arguments -++ if (name == NULL) -++ { -++ return; -++ } -++#ifdef STATE_DIR -++ UniStrCpy(name, size, L"" STATE_DIR L""); -++#else -++ GetExeDirW(name, size) -++#endif -++} -++ -+ // Get the EXE file name -+ void GetExeName(char *name, UINT size) -+ { - @@ -2389,7 +2422,7 @@ -- else -- { -- wchar_t dir[MAX_SIZE]; --- GetExeDirW(dir, sizeof(dir)); --+ GetStateDirW(dir, sizeof(dir)); -- ConbinePathW(dst, size, dir, &src[1]); -- } -- } -+ else -+ { -+ wchar_t dir[MAX_SIZE]; -+- GetExeDirW(dir, sizeof(dir)); -++ GetStateDirW(dir, sizeof(dir)); -+ ConbinePathW(dst, size, dir, &src[1]); -+ } -+ } - Index: b/src/Mayaqua/FileIO.h - =================================================================== - --- a/src/Mayaqua/FileIO.h - +++ b/src/Mayaqua/FileIO.h - @@ -349,6 +349,8 @@ -- void GetExeNameW(wchar_t *name, UINT size); -- void GetExeDir(char *name, UINT size); -- void GetExeDirW(wchar_t *name, UINT size); --+void GetStateDir(char *name, UINT size); --+void GetStateDirW(wchar_t *name, UINT size); -- void BuildHamcore(char *dst_filename, char *src_dir, bool unix_only); -- int CompareHamcore(void *p1, void *p2); -- void InitHamcore(); -+ void GetExeNameW(wchar_t *name, UINT size); -+ void GetExeDir(char *name, UINT size); -+ void GetExeDirW(wchar_t *name, UINT size); -++void GetStateDir(char *name, UINT size); -++void GetStateDirW(wchar_t *name, UINT size); -+ void BuildHamcore(char *dst_filename, char *src_dir, bool unix_only); -+ int CompareHamcore(void *p1, void *p2); -+ void InitHamcore(); - Index: b/src/Mayaqua/Mayaqua.c - =================================================================== - --- a/src/Mayaqua/Mayaqua.c - +++ b/src/Mayaqua/Mayaqua.c - @@ -611,7 +611,11 @@ -- _exit(0); -- } -- --+#ifndef STATE_DIR --+ // This check causes hamcorebuilder to fail in an unprivileged --+ // environment, and is unnecessary for a managed installation. -- CheckUnixTempDir(); --+#endif -- -- // Initialization of Probe -- InitProbe(); -+ _exit(0); -+ } -+ -++#ifndef STATE_DIR -++ // This check causes hamcorebuilder to fail in an unprivileged -++ // environment, and is unnecessary for a managed installation. -+ CheckUnixTempDir(); -++#endif -+ -+ // Initialization of Probe -+ InitProbe(); - Index: b/src/Mayaqua/Table.c - =================================================================== - --- a/src/Mayaqua/Table.c - +++ b/src/Mayaqua/Table.c - @@ -1191,7 +1191,7 @@ -- return; -- } -- --- GetExeDirW(exe, sizeof(exe)); --+ GetStateDirW(exe, sizeof(exe)); -- UniStrCpy(hashtemp, sizeof(hashtemp), strfilename); -- BinToStrW(tmp, sizeof(tmp), filehash, MD5_SIZE); -- UniStrCat(hashtemp, sizeof(hashtemp), tmp); -+ return; -+ } -+ -+- GetExeDirW(exe, sizeof(exe)); -++ GetStateDirW(exe, sizeof(exe)); -+ UniStrCpy(hashtemp, sizeof(hashtemp), strfilename); -+ BinToStrW(tmp, sizeof(tmp), filehash, MD5_SIZE); -+ UniStrCat(hashtemp, sizeof(hashtemp), tmp); - @@ -1204,7 +1204,11 @@ -- UniStrLower(tmp); -- -- #ifndef OS_WIN32 --+#ifdef STATE_DIR --+ UniStrCpy(exe, sizeof(exe), L"" STATE_DIR L""); --+#else -- UniStrCpy(exe, sizeof(exe), L"/tmp"); --+#endif -- #else // OS_WIN32 -- StrToUni(exe, sizeof(exe), MsGetTempDir()); -- #endif // OS_WIN32 -+ UniStrLower(tmp); -+ -+ #ifndef OS_WIN32 -++#ifdef STATE_DIR -++ UniStrCpy(exe, sizeof(exe), L"" STATE_DIR L""); -++#else -+ UniStrCpy(exe, sizeof(exe), L"/tmp"); -++#endif -+ #else // OS_WIN32 -+ StrToUni(exe, sizeof(exe), MsGetTempDir()); -+ #endif // OS_WIN32 - Index: b/src/Mayaqua/Unix.c - =================================================================== - --- a/src/Mayaqua/Unix.c - +++ b/src/Mayaqua/Unix.c - @@ -928,7 +928,7 @@ -- StrCpy(tmp, sizeof(tmp), instance_name); -- } -- --- GetExeDir(dir, sizeof(dir)); --+ GetStateDir(dir, sizeof(dir)); -- -- // File name generation -- Format(name, sizeof(name), "%s/.%s", dir, tmp); -+ StrCpy(tmp, sizeof(tmp), instance_name); -+ } -+ -+- GetExeDir(dir, sizeof(dir)); -++ GetStateDir(dir, sizeof(dir)); -+ -+ // File name generation -+ Format(name, sizeof(name), "%s/.%s", dir, tmp); - @@ -2260,7 +2260,7 @@ -- return; -- } -- --- GetExeDir(dir, sizeof(dir)); --+ GetStateDir(dir, sizeof(dir)); -- -- GetExeName(exe_name, sizeof(exe_name)); -- StrCat(exe_name, sizeof(exe_name), ":pid_hash"); -+ return; -+ } -+ -+- GetExeDir(dir, sizeof(dir)); -++ GetStateDir(dir, sizeof(dir)); -+ -+ GetExeName(exe_name, sizeof(exe_name)); -+ StrCat(exe_name, sizeof(exe_name), ":pid_hash"); - @@ -2305,7 +2305,7 @@ -- return; -- } -- --- GetExeDir(dir, sizeof(dir)); --+ GetStateDir(dir, sizeof(dir)); -- -- GetExeName(exe_name, sizeof(exe_name)); -- StrCat(exe_name, sizeof(exe_name), ":pid_hash"); -+ return; -+ } -+ -+- GetExeDir(dir, sizeof(dir)); -++ GetStateDir(dir, sizeof(dir)); -+ -+ GetExeName(exe_name, sizeof(exe_name)); -+ StrCat(exe_name, sizeof(exe_name), ":pid_hash"); - Index: b/src/bin/hamcore/Makefile.am - =================================================================== - --- a/src/bin/hamcore/Makefile.am -diff --git a/package/softether/0004-create-non-forking-softetherd-for-upstart-and-systemd.patch b/package/softether/0004-create-non-forking-softetherd-for-upstart-and-systemd.patch -index 72913b0bf3..f28876d5f3 100644 ---- a/package/softether/0004-create-non-forking-softetherd-for-upstart-and-systemd.patch -+++ b/package/softether/0004-create-non-forking-softetherd-for-upstart-and-systemd.patch -@@ -57,13 +57,13 @@ Index: b/src/bin/hamcore/strtable_en.stb - --- a/src/bin/hamcore/strtable_en.stb - +++ b/src/bin/hamcore/strtable_en.stb - @@ -1062,6 +1062,7 @@ -- -- -- # Concerning services (UNIX) --+UNIX_DAEMON_HELP SoftEther VPN non-forking daemon for upstart and systemd.\nCommand Usage:\n %S vpnbridge - Enable bridging features.\n %S vpnclient - Enable client features.\n %S vpnserver - Enable all features.\nThe parameter can be set in the SOFTETHER_MODE environment variable.\n\n -- UNIX_SVC_HELP %S service program\nCopyright (c) SoftEther VPN Project. All Rights Reserved.\n\n%S command usage:\n %S start - Start the %S service.\n %S stop - Stop the %S service if the service has been already started.\n\n -- UNIX_SVC_STARTED The %S service has been started.\n -- UNIX_SVC_STOPPING Stopping the %S service ...\n -+ -+ -+ # Concerning services (UNIX) -++UNIX_DAEMON_HELP SoftEther VPN non-forking daemon for upstart and systemd.\nCommand Usage:\n %S vpnbridge - Enable bridging features.\n %S vpnclient - Enable client features.\n %S vpnserver - Enable all features.\nThe parameter can be set in the SOFTETHER_MODE environment variable.\n\n -+ UNIX_SVC_HELP %S service program\nCopyright (c) SoftEther VPN Project. All Rights Reserved.\n\n%S command usage:\n %S start - Start the %S service.\n %S stop - Stop the %S service if the service has been already started.\n\n -+ UNIX_SVC_STARTED The %S service has been started.\n -+ UNIX_SVC_STOPPING Stopping the %S service ...\n - Index: b/src/softetherd/Makefile.am - =================================================================== - --- /dev/null -diff --git a/package/softether/0005-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch b/package/softether/0005-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch -index 6cb4e728b4..0c39a60a51 100644 ---- a/package/softether/0005-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch -+++ b/package/softether/0005-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch -@@ -29,62 +29,62 @@ Index: b/src/Cedar/Protocol.c - --- a/src/Cedar/Protocol.c - +++ b/src/Cedar/Protocol.c - @@ -161,10 +161,10 @@ -- UINT i; -- DIRLIST *dir; -- wchar_t dirname[MAX_SIZE]; --- wchar_t exedir[MAX_SIZE]; --+ wchar_t statedir[MAX_SIZE]; -- --- GetExeDirW(exedir, sizeof(exedir)); --- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs"); --+ GetStateDirW(statedir, sizeof(statedir)); --+ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs"); -- MakeDirExW(dirname); -- -- if (auto_save) -+ UINT i; -+ DIRLIST *dir; -+ wchar_t dirname[MAX_SIZE]; -+- wchar_t exedir[MAX_SIZE]; -++ wchar_t statedir[MAX_SIZE]; -+ -+- GetExeDirW(exedir, sizeof(exedir)); -+- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs"); -++ GetStateDirW(statedir, sizeof(statedir)); -++ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs"); -+ MakeDirExW(dirname); -+ -+ if (auto_save) - @@ -461,7 +461,7 @@ -- void AddAllChainCertsToCertList(LIST *o) -- { -- wchar_t dirname[MAX_SIZE]; --- wchar_t exedir[MAX_SIZE]; --+ wchar_t statedir[MAX_SIZE]; -- DIRLIST *dir; -- // Validate arguments -- if (o == NULL) -+ void AddAllChainCertsToCertList(LIST *o) -+ { -+ wchar_t dirname[MAX_SIZE]; -+- wchar_t exedir[MAX_SIZE]; -++ wchar_t statedir[MAX_SIZE]; -+ DIRLIST *dir; -+ // Validate arguments -+ if (o == NULL) - @@ -469,9 +469,9 @@ -- return; -- } -- --- GetExeDirW(exedir, sizeof(exedir)); --+ GetStateDirW(statedir, sizeof(statedir)); -- --- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs"); --+ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs"); -- -- MakeDirExW(dirname); -- -+ return; -+ } -+ -+- GetExeDirW(exedir, sizeof(exedir)); -++ GetStateDirW(statedir, sizeof(statedir)); -+ -+- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs"); -++ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs"); -+ -+ MakeDirExW(dirname); -+ - Index: b/src/Mayaqua/Network.c - =================================================================== - --- a/src/Mayaqua/Network.c - +++ b/src/Mayaqua/Network.c - @@ -12588,7 +12588,7 @@ -- void AddChainSslCertOnDirectory(struct ssl_ctx_st *ctx) -- { -- wchar_t dirname[MAX_SIZE]; --- wchar_t exedir[MAX_SIZE]; --+ wchar_t statedir[MAX_SIZE]; -- wchar_t txtname[MAX_SIZE]; -- DIRLIST *dir; -- LIST *o; -+ void AddChainSslCertOnDirectory(struct ssl_ctx_st *ctx) -+ { -+ wchar_t dirname[MAX_SIZE]; -+- wchar_t exedir[MAX_SIZE]; -++ wchar_t statedir[MAX_SIZE]; -+ wchar_t txtname[MAX_SIZE]; -+ DIRLIST *dir; -+ LIST *o; - @@ -12602,9 +12602,9 @@ -- -- o = NewListFast(NULL); -- --- GetExeDirW(exedir, sizeof(exedir)); --+ GetStateDirW(statedir, sizeof(statedir)); -- --- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs"); --+ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs"); -- -- MakeDirExW(dirname); -- -+ -+ o = NewListFast(NULL); -+ -+- GetExeDirW(exedir, sizeof(exedir)); -++ GetStateDirW(statedir, sizeof(statedir)); -+ -+- CombinePathW(dirname, sizeof(dirname), exedir, L"chain_certs"); -++ CombinePathW(dirname, sizeof(dirname), statedir, L"chain_certs"); -+ -+ MakeDirExW(dirname); -+ -diff --git a/package/softether/0007-iconv.patch b/package/softether/0007-iconv.patch -index 09d7777e42..5f4e3ddb36 100644 ---- a/package/softether/0007-iconv.patch -+++ b/package/softether/0007-iconv.patch -@@ -9,20 +9,20 @@ Index: b/src/Mayaqua/Mayaqua.h - --- a/src/Mayaqua/Mayaqua.h - +++ b/src/Mayaqua/Mayaqua.h - @@ -282,17 +282,7 @@ -- #include -- #endif // MAYAQUA_SUPPORTS_GETIFADDRS -- ---#ifdef UNIX_LINUX ---typedef void *iconv_t; ---iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); ---size_t iconv (iconv_t __cd, char **__restrict __inbuf, --- size_t *__restrict __inbytesleft, --- char **__restrict __outbuf, --- size_t *__restrict __outbytesleft); ---int iconv_close (iconv_t __cd); ---#else // UNIX_LINUX -- #include ---#endif // UNIX_LINUX -- -- -- -+ #include -+ #endif // MAYAQUA_SUPPORTS_GETIFADDRS -+ -+-#ifdef UNIX_LINUX -+-typedef void *iconv_t; -+-iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); -+-size_t iconv (iconv_t __cd, char **__restrict __inbuf, -+- size_t *__restrict __inbytesleft, -+- char **__restrict __outbuf, -+- size_t *__restrict __outbytesleft); -+-int iconv_close (iconv_t __cd); -+-#else // UNIX_LINUX -+ #include -+-#endif // UNIX_LINUX -+ -+ -+ -diff --git a/package/softether/0009-uclibc-ai-addrconfig.patch b/package/softether/0009-uclibc-ai-addrconfig.patch -index 7d8f1c67c1..9236fa7794 100644 ---- a/package/softether/0009-uclibc-ai-addrconfig.patch -+++ b/package/softether/0009-uclibc-ai-addrconfig.patch -@@ -14,14 +14,14 @@ Index: b/src/Mayaqua/Mayaqua.h - --- a/src/Mayaqua/Mayaqua.h - +++ b/src/Mayaqua/Mayaqua.h - @@ -235,9 +235,11 @@ -- #ifdef OS_UNIX -- #ifndef UNIX_SOLARIS -- #ifndef CPU_SH4 --+#if !defined(__UCLIBC__) || defined(__UCLIBC_SUPPORT_AI_ADDRCONFIG__) -- // Getifaddrs system call is supported on UNIX other than Solaris. -- // However, it is not supported also by the Linux on SH4 CPU -- #define MAYAQUA_SUPPORTS_GETIFADDRS --+#endif // !UCLIBC || UCLIBC_SUPPORT_AI_ADDRCONFIG -- #endif // CPU_SH4 -- #endif // UNIX_SOLARIS -- #endif // OS_UNIX -+ #ifdef OS_UNIX -+ #ifndef UNIX_SOLARIS -+ #ifndef CPU_SH4 -++#if !defined(__UCLIBC__) || defined(__UCLIBC_SUPPORT_AI_ADDRCONFIG__) -+ // Getifaddrs system call is supported on UNIX other than Solaris. -+ // However, it is not supported also by the Linux on SH4 CPU -+ #define MAYAQUA_SUPPORTS_GETIFADDRS -++#endif // !UCLIBC || UCLIBC_SUPPORT_AI_ADDRCONFIG -+ #endif // CPU_SH4 -+ #endif // UNIX_SOLARIS -+ #endif // OS_UNIX -diff --git a/package/sp-oops-extract/0002-stdint-cleanup.patch b/package/sp-oops-extract/0002-stdint-cleanup.patch -index 255fe8a8ce..70317a768d 100644 ---- a/package/sp-oops-extract/0002-stdint-cleanup.patch -+++ b/package/sp-oops-extract/0002-stdint-cleanup.patch -@@ -10,24 +10,24 @@ Index: sp-oops-extract-0.0.7-1/src/oopslog.c - --- sp-oops-extract-0.0.7-1.orig/src/oopslog.c - +++ sp-oops-extract-0.0.7-1/src/oopslog.c - @@ -64,8 +64,8 @@ static int try_to_check_for_bad_blocks(v -- -- int main(const int argc, const char *argv[]) -- { --- u_int32_t *count, maxcount = 0xffffffff; --- u_int32_t *magic_ptr, magic_value = 0x5d005d00; --+ uint32_t *count, maxcount = 0xffffffff; --+ uint32_t *magic_ptr, magic_value = 0x5d005d00; -- -- unsigned char *charbuf; -- unsigned long size; -+ -+ int main(const int argc, const char *argv[]) -+ { -+- u_int32_t *count, maxcount = 0xffffffff; -+- u_int32_t *magic_ptr, magic_value = 0x5d005d00; -++ uint32_t *count, maxcount = 0xffffffff; -++ uint32_t *magic_ptr, magic_value = 0x5d005d00; -+ -+ unsigned char *charbuf; -+ unsigned long size; - @@ -137,8 +137,8 @@ int main(const int argc, const char *arg -- errx(-1, "%s is something weird", device); -- -- charbuf = buf; --- count = (u_int32_t *) buf; --- magic_ptr = (u_int32_t *) (buf + sizeof(u_int32_t)); --+ count = (uint32_t *) buf; --+ magic_ptr = (uint32_t *) (buf + sizeof(uint32_t)); -- -- for (i = 0; i < (size / OOPS_PAGE_SIZE); i++) { -- pread(fd, buf, OOPS_PAGE_SIZE, i * OOPS_PAGE_SIZE); -+ errx(-1, "%s is something weird", device); -+ -+ charbuf = buf; -+- count = (u_int32_t *) buf; -+- magic_ptr = (u_int32_t *) (buf + sizeof(u_int32_t)); -++ count = (uint32_t *) buf; -++ magic_ptr = (uint32_t *) (buf + sizeof(uint32_t)); -+ -+ for (i = 0; i < (size / OOPS_PAGE_SIZE); i++) { -+ pread(fd, buf, OOPS_PAGE_SIZE, i * OOPS_PAGE_SIZE); -diff --git a/package/transmission/0001-fix-utypes.patch b/package/transmission/0001-fix-utypes.patch -index 81efa884a7..8e8d7eddb5 100644 ---- a/package/transmission/0001-fix-utypes.patch -+++ b/package/transmission/0001-fix-utypes.patch -@@ -17,14 +17,14 @@ 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__ -+ typedef const char * cstr; -+ typedef char * str; -+ -+-#ifndef __cplusplus -+-typedef uint8 bool; -+-#endif -++#ifndef __cplusplus -++#include -++#endif -+ -+ #endif //__UTYPES_H__ -diff --git a/package/urg/0001-select-h.patch b/package/urg/0001-select-h.patch -index 1d09bb57b2..630f247373 100644 ---- a/package/urg/0001-select-h.patch -+++ b/package/urg/0001-select-h.patch -@@ -29,11 +29,11 @@ Index: b/src/cpp/connection/SerialDevice_lin.cpp - --- a/src/cpp/connection/SerialDevice_lin.cpp - +++ b/src/cpp/connection/SerialDevice_lin.cpp - @@ -13,7 +13,7 @@ -- #include -- #include -- #include --- --+#include -- -- class RawSerialDevice -- { -+ #include -+ #include -+ #include -+- -++#include -+ -+ class RawSerialDevice -+ { -diff --git a/package/urg/0002-urg-gcc6-fix-narrowing-conversion.patch b/package/urg/0002-urg-gcc6-fix-narrowing-conversion.patch -index e3db898049..11ad65bf4c 100644 ---- a/package/urg/0002-urg-gcc6-fix-narrowing-conversion.patch -+++ b/package/urg/0002-urg-gcc6-fix-narrowing-conversion.patch -@@ -8,92 +8,92 @@ Signed-off-by: Samuel Martin - --- a/src/cpp/urg/ScipHandler.cpp 2016-09-11 16:11:16.083995214 +0200 - +++ b/src/cpp/urg/ScipHandler.cpp 2016-09-11 16:11:24.380832543 +0200 - @@ -120,7 +120,7 @@ struct ScipHandler::pImpl -- -- // QT ‚Ì”­s -- int return_code = -1; --- char qt_expected_response[] = { 0, -1 }; --+ char qt_expected_response[] = { 0, (char)-1 }; -- // return_code ‚ðŽg‚¢‚½‚¢‚½‚ßAsetLaserOutput() ‚ð—p‚¢‚¸‚É QT ‚ð‘—M‚·‚é -- if (response(return_code, "QT\n", qt_expected_response)) { -- laser_state_ = LaserOff; -+ -+ // QT ‚Ì”­s -+ int return_code = -1; -+- char qt_expected_response[] = { 0, -1 }; -++ char qt_expected_response[] = { 0, (char)-1 }; -+ // return_code ‚ðŽg‚¢‚½‚¢‚½‚ßAsetLaserOutput() ‚ð—p‚¢‚¸‚É QT ‚ð‘—M‚·‚é -+ if (response(return_code, "QT\n", qt_expected_response)) { -+ laser_state_ = LaserOff; - @@ -139,7 +139,7 @@ struct ScipHandler::pImpl -- -- } else if (return_code == Scip11Response) { -- // SCIP1.1 ƒvƒƒgƒRƒ‹‚Ìꇂ̂ÝASCIP2.0 ‚ð‘—M‚·‚é --- char scip20_expected_response[] = { 0, -1 }; --+ char scip20_expected_response[] = { 0, (char)-1 }; -- if (! response(return_code, "SCIP2.0\n", scip20_expected_response)) { -- error_message_ = -- "SCIP1.1 protocol is not supported. Please update URG firmware, or reconnect after a few seconds because sensor is booting."; -+ -+ } else if (return_code == Scip11Response) { -+ // SCIP1.1 ƒvƒƒgƒRƒ‹‚Ìꇂ̂ÝASCIP2.0 ‚ð‘—M‚·‚é -+- char scip20_expected_response[] = { 0, -1 }; -++ char scip20_expected_response[] = { 0, (char)-1 }; -+ if (! response(return_code, "SCIP2.0\n", scip20_expected_response)) { -+ error_message_ = -+ "SCIP1.1 protocol is not supported. Please update URG firmware, or reconnect after a few seconds because sensor is booting."; - @@ -150,7 +150,7 @@ struct ScipHandler::pImpl -- -- } else if (return_code == 0xE) { -- // TM ƒ‚[ƒh‚Ƃ݂ȂµATM2 ‚ð”­s‚·‚é --- char tm2_expected_response[] = { 0, -1 }; --+ char tm2_expected_response[] = { 0, (char)-1 }; -- if (response(return_code, "TM2\n", tm2_expected_response)) { -- laser_state_ = LaserOff; -- return changeBothBaudrate(baudrate); -+ -+ } else if (return_code == 0xE) { -+ // TM ƒ‚[ƒh‚Ƃ݂ȂµATM2 ‚ð”­s‚·‚é -+- char tm2_expected_response[] = { 0, -1 }; -++ char tm2_expected_response[] = { 0, (char)-1 }; -+ if (response(return_code, "TM2\n", tm2_expected_response)) { -+ laser_state_ = LaserOff; -+ return changeBothBaudrate(baudrate); - @@ -202,7 +202,7 @@ struct ScipHandler::pImpl -- snprintf(send_buffer, 10, "SS%06ld\n", baudrate); -- int return_code = -1; -- // !!! Šù‚ÉÝ’è‘Îۂ̃{[ƒŒ[ƒgA‚Ìꇂ̖߂è’l‚ð ss_expected... ‚ɒljÁ‚·‚é --- char ss_expected_response[] = { 0, 0x3, 0x4, 0xf, -1 }; --+ char ss_expected_response[] = { 0, 0x3, 0x4, 0xf, (char)-1 }; -- if (! response(return_code, send_buffer, ss_expected_response)) { -- error_message_ = "Baudrate change fail."; -- return false; -+ snprintf(send_buffer, 10, "SS%06ld\n", baudrate); -+ int return_code = -1; -+ // !!! Šù‚ÉÝ’è‘Îۂ̃{[ƒŒ[ƒgA‚Ìꇂ̖߂è’l‚ð ss_expected... ‚ɒljÁ‚·‚é -+- char ss_expected_response[] = { 0, 0x3, 0x4, 0xf, -1 }; -++ char ss_expected_response[] = { 0, 0x3, 0x4, 0xf, (char)-1 }; -+ if (! response(return_code, send_buffer, ss_expected_response)) { -+ error_message_ = "Baudrate change fail."; -+ return false; - @@ -216,7 +216,7 @@ struct ScipHandler::pImpl -- { -- // PP ‚Ì‘—M‚ƃf[ƒ^‚ÌŽóM -- int return_code = -1; --- char pp_expected_response[] = { 0, -1 }; --+ char pp_expected_response[] = { 0, (char)-1 }; -- vector lines; -- if (! response(return_code, "PP\n", pp_expected_response, &lines)) { -- error_message_ = "PP fail."; -+ { -+ // PP ‚Ì‘—M‚ƃf[ƒ^‚ÌŽóM -+ int return_code = -1; -+- char pp_expected_response[] = { 0, -1 }; -++ char pp_expected_response[] = { 0, (char)-1 }; -+ vector lines; -+ if (! response(return_code, "PP\n", pp_expected_response, &lines)) { -+ error_message_ = "PP fail."; - @@ -356,7 +356,7 @@ struct ScipHandler::pImpl -- -- if (on) { -- int return_code = -1; --- char expected_response[] = { 0, -1 }; --+ char expected_response[] = { 0, (char)-1 }; -- if (! response(return_code, "BM\n", expected_response)) { -- error_message_ = "BM fail."; -- return false; -+ -+ if (on) { -+ int return_code = -1; -+- char expected_response[] = { 0, -1 }; -++ char expected_response[] = { 0, (char)-1 }; -+ if (! response(return_code, "BM\n", expected_response)) { -+ error_message_ = "BM fail."; -+ return false; - @@ -369,7 +369,7 @@ struct ScipHandler::pImpl -- if (! mx_capturing_) { -- // Á“”‚·‚邽‚ß‚Ì QT ‚Å‚ÍA‰ž“š‚ð‘҂‚ׂ« -- int return_code = -1; --- char qt_expected_response[] = { 0, -1 }; --+ char qt_expected_response[] = { 0, (char)-1 }; -- if (! response(return_code, "QT\n", qt_expected_response)) { -- return false; -- } -+ if (! mx_capturing_) { -+ // Á“”‚·‚邽‚ß‚Ì QT ‚Å‚ÍA‰ž“š‚ð‘҂‚ׂ« -+ int return_code = -1; -+- char qt_expected_response[] = { 0, -1 }; -++ char qt_expected_response[] = { 0, (char)-1 }; -+ if (! response(return_code, "QT\n", qt_expected_response)) { -+ return false; -+ } - @@ -777,7 +777,7 @@ bool ScipHandler::loadParameter(RangeSen -- bool ScipHandler::versionLines(vector& lines) -- { -- int return_code = -1; --- char expected_response[] = { 0, -1 }; --+ char expected_response[] = { 0, (char)-1 }; -- if (! pimpl->response(return_code, "VV\n", expected_response, &lines)) { -- return false; -- } -+ bool ScipHandler::versionLines(vector& lines) -+ { -+ int return_code = -1; -+- char expected_response[] = { 0, -1 }; -++ char expected_response[] = { 0, (char)-1 }; -+ if (! pimpl->response(return_code, "VV\n", expected_response, &lines)) { -+ return false; -+ } - @@ -792,7 +792,7 @@ bool ScipHandler::setRawTimestampMode(bo -- -- // TM0 or TM2 ‚Ì‘—M -- int return_code = -1; --- char expected_response[] = { 0, -1 }; --+ char expected_response[] = { 0, (char)-1 }; -- if (! pimpl->response(return_code, send_command, expected_response)) { -- pimpl->error_message_ = (on) ? "TM0 fail." : "TM2 fail."; -- return false; -+ -+ // TM0 or TM2 ‚Ì‘—M -+ int return_code = -1; -+- char expected_response[] = { 0, -1 }; -++ char expected_response[] = { 0, (char)-1 }; -+ if (! pimpl->response(return_code, send_command, expected_response)) { -+ pimpl->error_message_ = (on) ? "TM0 fail." : "TM2 fail."; -+ return false; - @@ -809,7 +809,7 @@ bool ScipHandler::rawTimestamp(int* time -- { -- // TM1 ‚Ì’l‚ð•Ô‚· -- int return_code = -1; --- char expected_response[] = { 0, -1 }; --+ char expected_response[] = { 0, (char)-1 }; -- vector lines; -- if (! pimpl->response(return_code, "TM1\n", expected_response, &lines)) { -- pimpl->error_message_ = "TM1 fail."; -+ { -+ // TM1 ‚Ì’l‚ð•Ô‚· -+ int return_code = -1; -+- char expected_response[] = { 0, -1 }; -++ char expected_response[] = { 0, (char)-1 }; -+ vector lines; -+ if (! pimpl->response(return_code, "TM1\n", expected_response, &lines)) { -+ pimpl->error_message_ = "TM1 fail."; diff --git a/docs.original/conf/asciidoc-text.conf b/docs.original/conf/asciidoc-text.conf deleted file mode 100644 index 470bdecfc2..0000000000 --- a/docs.original/conf/asciidoc-text.conf +++ /dev/null @@ -1,23 +0,0 @@ -# Refer to following asciidoc documentation: -# http://www.methods.co.nz/asciidoc/userguide.html -# In particular sections "Macros" and "Attribute References" -# -# For hyperlinks, show 'link text [URL]' (if link text provided) or 'URL' -[http-inlinemacro] -{0=}{0? [}{name}:{target}{0?]} -[https-inlinemacro] -{0=}{0? [}{name}:{target}{0?]} -[ftp-inlinemacro] -{0=}{0? [}{name}:{target}{0?]} -[file-inlinemacro] -{0=}{0? [}{name}:{target}{0?]} -[irc-inlinemacro] -{0=}{0? [}{name}:{target}{0?]} -[mailto-inlinemacro] -{0=}{0? [}{name}:{target}{0?]} - -# Hide image representation from text manual -[image-inlinemacro] -{empty} -[image-blockmacro] -{empty} diff --git a/docs.original/manual/adding-board-support.txt b/docs.original/manual/adding-board-support.txt deleted file mode 100644 index 33ed709535..0000000000 --- a/docs.original/manual/adding-board-support.txt +++ /dev/null @@ -1,48 +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. diff --git a/docs.original/manual/adding-packages-asciidoc.txt b/docs.original/manual/adding-packages-asciidoc.txt deleted file mode 100644 index f9688b36c7..0000000000 --- a/docs.original/manual/adding-packages-asciidoc.txt +++ /dev/null @@ -1,122 +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 $(pkgdir)/*)) -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). - -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 $(pkgdir)/*)) -08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/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.original/manual/adding-packages-autotools.txt b/docs.original/manual/adding-packages-autotools.txt deleted file mode 100644 index a041d91eb6..0000000000 --- a/docs.original/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.original/manual/adding-packages-cargo.txt b/docs.original/manual/adding-packages-cargo.txt deleted file mode 100644 index 8fcc80bcc6..0000000000 --- a/docs.original/manual/adding-packages-cargo.txt +++ /dev/null @@ -1,109 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Integration of Cargo-based packages - -Cargo is the package manager for the Rust programming language. It allows the -user to build programs or libraries written in Rust, but it also downloads and -manages their dependencies, to ensure repeatable builds. Cargo packages are -called "crates". - -[[cargo-package-tutorial]] - -==== Cargo-based package's +Config.in+ file - -The +Config.in+ file of Cargo-based package 'foo' should contain: - ---------------------------- -01: config BR2_PACKAGE_FOO -02: bool "foo" -03: depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS -04: select BR2_PACKAGE_HOST_RUSTC -05: help -06: This is a comment that explains what foo is. -07: -08: http://foosoftware.org/foo/ ---------------------------- - -==== Cargo-based package's +.mk+ file - -Buildroot does not (yet) provide a dedicated package infrastructure for -Cargo-based packages. So, we will explain how to write a +.mk+ file for such a -package. Let's start with an example: - ------------------------------- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.0 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-3.0+ -11: FOO_LICENSE_FILES = COPYING -12: -13: FOO_DEPENDENCIES = host-rustc -14: -15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo -16: -17: FOO_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(FOO_CARGO_MODE) -18: -19: FOO_CARGO_OPTS = \ -20: $(if $(BR2_ENABLE_DEBUG),,--release) \ -21: --target=$(RUSTC_TARGET_NAME) \ -22: --manifest-path=$(@D)/Cargo.toml -23: -24: define FOO_BUILD_CMDS -25: $(TARGET_MAKE_ENV) $(FOO_CARGO_ENV) \ -26: cargo build $(FOO_CARGO_OPTS) -27: endef -28: -29: define FOO_INSTALL_TARGET_CMDS -30: $(INSTALL) -D -m 0755 $(@D)/$(FOO_BIN_DIR)/foo \ -31: $(TARGET_DIR)/usr/bin/foo -32: endef -33: -34: $(eval $(generic-package)) --------------------------------- - -The Makefile starts with the definition of the standard variables for package -declaration (lines 7 to 11). - -As seen in line 34, it is based on the -xref:generic-package-tutorial[+generic-package+ infrastructure]. So, it defines -the variables required by this particular infrastructure, where Cargo is -invoked: - -* +FOO_BUILD_CMDS+: Cargo is invoked to perform the build. The options required - to configure the cross-compilation of the package are passed via - +FOO_CONF_OPTS+. - -* +FOO_INSTALL_TARGET_CMDS+: The binary executable generated is installed on - the target. - -In order to have Cargo available for the build, +FOO_DEPENDENCIES+ needs to -contain +host-cargo+. - -To sum it up, to add a new Cargo-based package, the Makefile example can be -copied verbatim then edited to replace all occurences of +FOO+ with the -uppercase name of the new package and update the values of the standard -variables. - -==== About Dependencies Management - -A crate can depend on other libraries from crates.io or git repositories, listed -in its Cargo.toml file. Before starting a build, Cargo usually downloads -automatically them. This step can also be performed independently, via the -+cargo fetch+ command. - -Cargo maintains a local cache of the registry index and of git checkouts of the -crates, whose location is given by +$CARGO_HOME+. As seen in the package -Makefile example at line 15, this environment variable is set to -+$(HOST_DIR)/share/cargo+. - -This dependency download mechanism is not convenient when performing an offline -build, as Cargo will fail to fetch the dependencies. In that case, it is advised -to generate a tarball of the dependencies using the +cargo vendor+ and add it to -+FOO_EXTRA_DOWNLOADS+. diff --git a/docs.original/manual/adding-packages-cmake.txt b/docs.original/manual/adding-packages-cmake.txt deleted file mode 100644 index 541d7422cf..0000000000 --- a/docs.original/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.original/manual/adding-packages-directory.txt b/docs.original/manual/adding-packages-directory.txt deleted file mode 100644 index 4ceb3fd772..0000000000 --- a/docs.original/manual/adding-packages-directory.txt +++ /dev/null @@ -1,556 +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" - select BR2_PACKAGE_B - depends on BR2_PACKAGE_A - -config BR2_PACKAGE_E - bool "Package E" - select BR2_PACKAGE_D - depends on BR2_PACKAGE_A --------------------------- - -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 either the +distutils+ or the - +setuptools+ mechanism. 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+, +none+ -* the hash of the file: -** for +none+, one or more non-space chars, usually just the string +xxx+ -** 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 +none+ hash type is reserved to those archives downloaded from a -repository, like a 'git clone', a 'subversion checkout'... - -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 - -# No hash for 1234: -none xxx libfoo-1234.tar.gz - -# 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. diff --git a/docs.original/manual/adding-packages-generic.txt b/docs.original/manual/adding-packages-generic.txt deleted file mode 100644 index 2201d4385e..0000000000 --- a/docs.original/manual/adding-packages-generic.txt +++ /dev/null @@ -1,659 +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+. + - 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://+. - ** +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_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.original/manual/adding-packages-gettext.txt b/docs.original/manual/adding-packages-gettext.txt deleted file mode 100644 index e9c6968e79..0000000000 --- a/docs.original/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.original/manual/adding-packages-golang.txt b/docs.original/manual/adding-packages-golang.txt deleted file mode 100644 index 3b34579200..0000000000 --- a/docs.original/manual/adding-packages-golang.txt +++ /dev/null @@ -1,122 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Go packages - -This infrastructure applies to Go packages that use the standard -build system and use bundled dependencies. - -[[golang-package-tutorial]] - -==== +golang-package+ tutorial - -First, let's see how to write a +.mk+ file for a go package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.0 -08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)) -09: FOO_LICENSE = BSD-3-Clause -10: FOO_LICENSE_FILES = LICENSE -11: -12: $(eval $(golang-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8, we declare the upstream location of the package, here -fetched from Github, since a large number of Go packages are hosted on -Github. - -On line 9 and 10, we give licensing details about the package. - -Finally, on line 12, we invoke the +golang-package+ macro that -generates all the Makefile rules that actually allow the package to be -built. - -[[golang-package-reference]] - -==== +golang-package+ reference - -In their +Config.in+ file, packages using the +golang-package+ -infrastructure should depend on +BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS+ -because Buildroot will automatically add a dependency on +host-go+ -to such packages. -If you need CGO support in your package, you must add a dependency on -+BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS+. - -The main macro of the Go package infrastructure is -+golang-package+. It is similar to the +generic-package+ macro. The -ability to build host packages is also available, with the -+host-golang-package+ macro. -Host packages built by +host-golang-package+ macro should depend on -BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS. - -Just like the generic infrastructure, the Go infrastructure works -by defining a number of variables before calling the +golang-package+. - -All the package metadata information variables that exist in the -xref:generic-package-reference[generic package infrastructure] also -exist in the Go infrastructure: +FOO_VERSION+, +FOO_SOURCE+, -+FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+, -+FOO_LICENSE+, +FOO_LICENSE_FILES+, +FOO_INSTALL_STAGING+, etc. - -Note that it is not necessary to add +host-go+ in the -+FOO_DEPENDENCIES+ variable of a package, since this basic dependency -is automatically added as needed by the Go package infrastructure. - -A few additional variables, specific to the Go 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. - -* The package must specify its Go module name in the +FOO_GOMOD+ - variable. If not specified, it defaults to - +URL-domain/1st-part-of-URL/2nd-part-of-URL+, e.g +FOO_GOMOD+ will - take the value +github.com/bar/foo+ for a package that specifies - +FOO_SITE = $(call github,bar,foo,$(FOO_VERSION))+. The Go package - infrastructure will automatically generate a minimal +go.mod+ file - in the package source tree if it doesn't exist. - -* +FOO_LDFLAGS+ and +FOO_TAGS+ can be used to pass respectively the - +LDFLAGS+ or the +TAGS+ to the +go+ build command. - -* +FOO_BUILD_TARGETS+ can be used to pass the list of targets that - should be built. If +FOO_BUILD_TARGETS+ is not specified, it - defaults to +.+. We then have two cases: - -** +FOO_BUILD_TARGETS+ is +.+. In this case, we assume only one binary - will be produced, and that by default we name it after the package - name. If that is not appropriate, the name of the produced binary - can be overridden using +FOO_BIN_NAME+. - -** +FOO_BUILD_TARGETS+ is not +.+. In this case, we iterate over the - values to build each target, and for each produced a binary that is - the non-directory component of the target. For example if - +FOO_BUILD_TARGETS = cmd/docker cmd/dockerd+ the binaries produced - are +docker+ and +dockerd+. - -* +FOO_INSTALL_BINS+ can be used to pass the list of binaries that - should be installed in +/usr/bin+ on the target. If - +FOO_INSTALL_BINS+ is not specified, it defaults to the lower-case - name of package. - -With the Go infrastructure, all the steps required to build and -install the packages are already defined, and they generally work well -for most Go-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 Go - infrastructure is used, if the package +.mk+ file defines its own - +FOO_BUILD_CMDS+ variable, it will be used instead of the default Go - one. However, using this method should be restricted to very - specific cases. Do not use it in the general case. diff --git a/docs.original/manual/adding-packages-hooks.txt b/docs.original/manual/adding-packages-hooks.txt deleted file mode 100644 index 0ce79f8907..0000000000 --- a/docs.original/manual/adding-packages-hooks.txt +++ /dev/null @@ -1,87 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[hooks]] -=== Hooks available in the various build steps - -The generic infrastructure (and as a result also the derived autotools -and cmake infrastructures) allow packages to specify hooks. -These define further actions to perform after existing steps. -Most hooks aren't really useful for generic packages, since the +.mk+ -file already has full control over the actions performed in each step -of the package construction. - -The following hook points are available: - -* +LIBFOO_PRE_DOWNLOAD_HOOKS+ -* +LIBFOO_POST_DOWNLOAD_HOOKS+ - -* +LIBFOO_PRE_EXTRACT_HOOKS+ -* +LIBFOO_POST_EXTRACT_HOOKS+ - -* +LIBFOO_PRE_RSYNC_HOOKS+ -* +LIBFOO_POST_RSYNC_HOOKS+ - -* +LIBFOO_PRE_PATCH_HOOKS+ -* +LIBFOO_POST_PATCH_HOOKS+ - -* +LIBFOO_PRE_CONFIGURE_HOOKS+ -* +LIBFOO_POST_CONFIGURE_HOOKS+ - -* +LIBFOO_PRE_BUILD_HOOKS+ -* +LIBFOO_POST_BUILD_HOOKS+ - -* +LIBFOO_PRE_INSTALL_HOOKS+ (for host packages only) -* +LIBFOO_POST_INSTALL_HOOKS+ (for host packages only) - -* +LIBFOO_PRE_INSTALL_STAGING_HOOKS+ (for target packages only) -* +LIBFOO_POST_INSTALL_STAGING_HOOKS+ (for target packages only) - -* +LIBFOO_PRE_INSTALL_TARGET_HOOKS+ (for target packages only) -* +LIBFOO_POST_INSTALL_TARGET_HOOKS+ (for target packages only) - -* +LIBFOO_PRE_INSTALL_IMAGES_HOOKS+ -* +LIBFOO_POST_INSTALL_IMAGES_HOOKS+ - -* +LIBFOO_PRE_LEGAL_INFO_HOOKS+ -* +LIBFOO_POST_LEGAL_INFO_HOOKS+ - -These variables are 'lists' of variable names containing actions to be -performed at this hook point. This allows several hooks to be -registered at a given hook point. Here is an example: - ----------------------- -define LIBFOO_POST_PATCH_FIXUP - action1 - action2 -endef - -LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP ----------------------- - -[[hooks-rsync]] -==== Using the +POST_RSYNC+ hook -The +POST_RSYNC+ hook is run only for packages that use a local source, -either through the +local+ site method or the +OVERRIDE_SRCDIR+ -mechanism. In this case, package sources are copied using +rsync+ from -the local location into the buildroot build directory. The +rsync+ -command does not copy all files from the source directory, though. -Files belonging to a version control system, like the directories -+.git+, +.hg+, etc. are not copied. For most packages this is -sufficient, but a given package can perform additional actions using -the +POST_RSYNC+ hook. - -In principle, the hook can contain any command you want. One specific -use case, though, is the intentional copying of the version control -directory using +rsync+. The +rsync+ command you use in the hook can, among -others, use the following variables: - -* +$(SRCDIR)+: the path to the overridden source directory -* +$(@D)+: the path to the build directory - -==== Target-finalize hook - -Packages may also register hooks in +LIBFOO_TARGET_FINALIZE_HOOKS+. -These hooks are run after all packages are built, but before the -filesystem images are generated. They are seldom used, and your -package probably do not need them. diff --git a/docs.original/manual/adding-packages-kernel-module.txt b/docs.original/manual/adding-packages-kernel-module.txt deleted file mode 100644 index b609ecc90a..0000000000 --- a/docs.original/manual/adding-packages-kernel-module.txt +++ /dev/null @@ -1,143 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for packages building kernel modules - -Buildroot offers a helper infrastructure to make it easy to write packages that -build and install Linux kernel modules. Some packages only contain a kernel -module, other packages contain programs and libraries in addition to kernel -modules. Buildroot's helper infrastructure supports either case. - -[[kernel-module-tutorial]] -==== +kernel-module+ tutorial - -Let's start with an example on how to prepare a simple package that only -builds a kernel module, and no other component: - ----- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.2.3 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-2.0 -11: FOO_LICENSE_FILES = COPYING -12: -13: $(eval $(kernel-module)) -14: $(eval $(generic-package)) ----- - -Lines 7-11 define the usual meta-data to specify the version, archive name, -remote URI where to find the package source, licensing information. - -On line 13, we invoke the +kernel-module+ helper infrastructure, that -generates all the appropriate Makefile rules and variables to build -that kernel module. - -Finally, on line 14, we invoke the -xref:generic-package-tutorial[+generic-package+ infrastructure]. - -The dependency on +linux+ is automatically added, so it is not needed to -specify it in +FOO_DEPENDENCIES+. - -What you may have noticed is that, unlike other package infrastructures, -we explicitly invoke a second infrastructure. This allows a package to -build a kernel module, but also, if needed, use any one of other package -infrastructures to build normal userland components (libraries, -executables...). Using the +kernel-module+ infrastructure on its own is -not sufficient; another package infrastructure *must* be used. - -Let's look at a more complex example: - ----- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.2.3 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-2.0 -11: FOO_LICENSE_FILES = COPYING -12: -13: FOO_MODULE_SUBDIRS = driver/base -14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) -15: -16: ifeq ($(BR2_PACKAGE_LIBBAR),y) -17: FOO_DEPENDENCIES = libbar -18: FOO_CONF_OPTS = --enable-bar -19: FOO_MODULE_SUBDIRS += driver/bar -20: else -21: FOO_CONF_OPTS = --disable-bar -22: endif -23: -24: $(eval $(kernel-module)) -26: $(eval $(autotools-package)) ----- - -Here, we see that we have an autotools-based package, that also builds -the kernel module located in sub-directory +driver/base+ and, if libbar -is enabled, the kernel module located in sub-directory +driver/bar+, and -defines the variable +KVERSION+ to be passed to the Linux buildsystem -when building the module(s). - - -[[kernel-module-reference]] -==== +kernel-module+ reference - -The main macro for the kernel module infrastructure is +kernel-module+. -Unlike other package infrastructures, it is not stand-alone, and requires -any of the other +*-package+ macros be called after it. - -The +kernel-module+ macro defines post-build and post-target-install -hooks to build the kernel modules. If the package's +.mk+ needs access -to the built kernel modules, it should do so in a post-build hook, -*registered after* the call to +kernel-module+. Similarly, if the -package's +.mk+ needs access to the kernel module after it has been -installed, it should do so in a post-install hook, *registered after* -the call to +kernel-module+. Here's an example: - ----- -$(eval $(kernel-module)) - -define FOO_DO_STUFF_WITH_KERNEL_MODULE - # Do something with it... -endef -FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE - -$(eval $(generic-package)) ----- - -Finally, unlike the other package infrastructures, there is no -+host-kernel-module+ variant to build a host kernel module. - -The following additional variables can optionally be defined to further -configure the build of the kernel module: - -* +FOO_MODULE_SUBDIRS+ may be set to one or more sub-directories (relative - to the package source top-directory) where the kernel module sources are. - If empty or not set, the sources for the kernel module(s) are considered - to be located at the top of the package source tree. - -* +FOO_MODULE_MAKE_OPTS+ may be set to contain extra variable definitions - to pass to the Linux buildsystem. - -[[kernel-variables]] -You may also reference (but you may *not* set!) those variables: - - * +LINUX_DIR+ contains the path to where the Linux kernel has been - extracted and built. - - * +LINUX_VERSION+ contains the version string as configured by the user. - - * +LINUX_VERSION_PROBED+ contains the real version string of the kernel, - retrieved with running `make -C $(LINUX_DIR) kernelrelease` - - * +KERNEL_ARCH+ contains the name of the current architecture, like `arm`, - `mips`... diff --git a/docs.original/manual/adding-packages-python.txt b/docs.original/manual/adding-packages-python.txt deleted file mode 100644 index 0c100859be..0000000000 --- a/docs.original/manual/adding-packages-python.txt +++ /dev/null @@ -1,260 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Python packages - -This infrastructure applies to Python packages that use the standard -Python setuptools mechanism as their build system, generally -recognizable by the usage of a +setup.py+ script. - -[[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 two -supported ones are +distutils+ 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+). - -Packages that are only compatible with one version of Python (as in: -Python 2 or Python 3) should depend on that version explicitely in -their +Config.in+ file (+BR2_PACKAGE_PYTHON+ for Python 2, -+BR2_PACKAGE_PYTHON3+ for Python 3). Packages that are compatible -with both versions should not explicitely depend on them in their -+Config.in+ file, since that condition is already expressed for the -whole "External python modules" menu. - -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 two supported values are +distutils+ and - +setuptools+. If you don't know which one is used in your package, - look at the +setup.py+ file in your package source code, and see - whether it imports things from the +distutils+ module or the - +setuptools+ module. - -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+ file. This is useful, - if for example, the main +setup.py+ 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 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) and +HOST_PKG_PYTHON_SETUPTOOLS_ENV+ - (for setuptools host packages). - -* +PYTHON_FOO_BUILD_OPTS+, to specify additional options to pass to the - Python +setup.py+ script during the build step. 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 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) and +HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS+ (for host - setuptools packages). - -* +HOST_PYTHON_FOO_NEEDS_HOST_PYTHON+, to define the host python - interpreter. The usage of this variable is limited to host - packages. The two supported value are +python2+ and +python3+. It - will ensure the right host python package is available and will - invoke it for the build. If some build steps are overloaded, the - right python interpreter must be explicitly called in the commands. - -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.original/manual/adding-packages-virtual.txt b/docs.original/manual/adding-packages-virtual.txt deleted file mode 100644 index 6326bb5455..0000000000 --- a/docs.original/manual/adding-packages-virtual.txt +++ /dev/null @@ -1,144 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for virtual packages - -[[virtual-package-tutorial]] - -In Buildroot, a virtual package is a package whose functionalities are -provided by one or more packages, referred to as 'providers'. The virtual -package management is an extensible mechanism allowing the user to choose -the provider used in the rootfs. - -For example, 'OpenGL ES' is an API for 2D and 3D graphics on embedded systems. -The implementation of this API is different for the 'Allwinner Tech Sunxi' and -the 'Texas Instruments OMAP35xx' platforms. So +libgles+ will be a virtual -package and +sunxi-mali+ and +ti-gfx+ will be the providers. - -==== +virtual-package+ tutorial - -In the following example, we will explain how to add a new virtual package -('something-virtual') and a provider for it ('some-provider'). - -First, let's create the virtual package. - -==== Virtual package's +Config.in+ file - -The +Config.in+ file of virtual package 'something-virtual' should contain: - ---------------------------- -01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -02: bool -03: -04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL -05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -06: string ---------------------------- - -In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and -+BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the -providers. - -==== Virtual package's +.mk+ file - -The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro: - ---------------------------- -01: ################################################################################ -02: # -03: # something-virtual -04: # -05: ################################################################################ -06: -07: $(eval $(virtual-package)) ---------------------------- - -The ability to have target and host packages is also available, with the -+host-virtual-package+ macro. - -==== Provider's +Config.in+ file - -When adding a package as a provider, only the +Config.in+ file requires some -modifications. - -The +Config.in+ file of the package 'some-provider', which provides the -functionalities of 'something-virtual', should contain: - ---------------------------- -01: config BR2_PACKAGE_SOME_PROVIDER -02: bool "some-provider" -03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -04: help -05: This is a comment that explains what some-provider is. -06: -07: http://foosoftware.org/some-provider/ -08: -09: if BR2_PACKAGE_SOME_PROVIDER -10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL -11: default "some-provider" -12: endif ---------------------------- - -On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we -set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the -provider, but only if it is selected. - -==== Provider's +.mk+ file - -The +.mk+ file should also declare an additional variable -+SOME_PROVIDER_PROVIDES+ to contain the names of all the virtual -packages it is an implementation of: - ---------------------------- -01: SOME_PROVIDER_PROVIDES = something-virtual ---------------------------- - -Of course, do not forget to add the proper build and runtime dependencies for -this package! - -==== Notes on depending on a virtual package - -When adding a package that requires a certain +FEATURE+ provided by a virtual -package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so: - ---------------------------- -config BR2_PACKAGE_HAS_FEATURE - bool - -config BR2_PACKAGE_FOO - bool "foo" - depends on BR2_PACKAGE_HAS_FEATURE ---------------------------- - -==== Notes on depending on a specific provider - -If your package really requires a specific provider, then you'll have to -make your package +depends on+ this provider; you can _not_ +select+ a -provider. - -Let's take an example with two providers for a +FEATURE+: - ---------------------------- -config BR2_PACKAGE_HAS_FEATURE - bool - -config BR2_PACKAGE_FOO - bool "foo" - select BR2_PACKAGE_HAS_FEATURE - -config BR2_PACKAGE_BAR - bool "bar" - select BR2_PACKAGE_HAS_FEATURE ---------------------------- - -And you are adding a package that needs +FEATURE+ as provided by +foo+, -but not as provided by +bar+. - -If you were to use +select BR2_PACKAGE_FOO+, then the user would still -be able to select +BR2_PACKAGE_BAR+ in the menuconfig. This would create -a configuration inconsistency, whereby two providers of the same +FEATURE+ -would be enabled at once, one explicitly set by the user, the other -implicitly by your +select+. - -Instead, you have to use +depends on BR2_PACKAGE_FOO+, which avoids any -implicit configuration inconsistency. diff --git a/docs.original/manual/adding-packages.txt b/docs.original/manual/adding-packages.txt deleted file mode 100644 index 814355cd76..0000000000 --- a/docs.original/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.original/manual/advanced.txt b/docs.original/manual/advanced.txt deleted file mode 100644 index b7bfc4923d..0000000000 --- a/docs.original/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.original/manual/appendix.txt b/docs.original/manual/appendix.txt deleted file mode 100644 index 86afa4bdaa..0000000000 --- a/docs.original/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.original/manual/ccache-support.txt b/docs.original/manual/ccache-support.txt deleted file mode 100644 index f6746ad7d8..0000000000 --- a/docs.original/manual/ccache-support.txt +++ /dev/null @@ -1,55 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[ccache]] -==== Using +ccache+ in Buildroot - -http://ccache.samba.org[ccache] is a compiler cache. It stores the -object files resulting from each compilation process, and is able to -skip future compilation of the same source file (with same compiler -and same arguments) by using the pre-existing object files. When doing -almost identical builds from scratch a number of times, it can nicely -speed up the build process. - -+ccache+ support is integrated in Buildroot. You just have to enable -+Enable compiler cache+ in +Build options+. This will automatically -build +ccache+ and use it for every host and target compilation. - -The cache is located in +$HOME/.buildroot-ccache+. It is stored -outside of Buildroot output directory so that it can be shared by -separate Buildroot builds. If you want to get rid of the cache, simply -remove this directory. - -You can get statistics on the cache (its size, number of hits, -misses, etc.) by running +make ccache-stats+. - -The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable -provide more generic access to the ccache. For example - ------------------ -# set cache limit size -make CCACHE_OPTIONS="--max-size=5G" ccache-options - -# zero statistics counters -make CCACHE_OPTIONS="--zero-stats" ccache-options ------------------ - -+ccache+ makes a hash of the source files and of the compiler options. -If a compiler option is different, the cached object file will not be -used. Many compiler options, however, contain an absolute path to the -staging directory. Because of this, building in a different output -directory would lead to many cache misses. - -To avoid this issue, buildroot has the +Use relative paths+ option -(+BR2_CCACHE_USE_BASEDIR+). This will rewrite all absolute paths that -point inside the output directory into relative paths. Thus, changing -the output directory no longer leads to cache misses. - -A disadvantage of the relative paths is that they also end up to be -relative paths in the object file. Therefore, for example, the debugger -will no longer find the file, unless you cd to the output directory -first. - -See https://ccache.samba.org/manual.html#_compiling_in_different_directories[the -ccache manual's section on "Compiling in different directories"] for -more details about this rewriting of absolute paths. diff --git a/docs.original/manual/common-usage.txt b/docs.original/manual/common-usage.txt deleted file mode 100644 index 9ba87a8339..0000000000 --- a/docs.original/manual/common-usage.txt +++ /dev/null @@ -1,422 +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::eclipse-integration.txt[] - -include::advanced.txt[] diff --git a/docs.original/manual/configure.txt b/docs.original/manual/configure.txt deleted file mode 100644 index c9eef567f4..0000000000 --- a/docs.original/manual/configure.txt +++ /dev/null @@ -1,430 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[configure]] -== Buildroot configuration - -All the configuration options in +make *config+ have a help text -providing details about the option. - -The +make *config+ commands also offer a search tool. Read the help -message in the different frontend menus to know how to use it: - -* in _menuconfig_, the search tool is called by pressing +/+; -* in _xconfig_, the search tool is called by pressing +Ctrl+ + +f+. - -The result of the search shows the help message of the matching items. -In _menuconfig_, numbers in the left column provide a shortcut to the -corresponding entry. Just type this number to directly jump to the -entry, or to the containing menu in case the entry is not selectable due -to a missing dependency. - -Although the menu structure and the help text of the entries should be -sufficiently self-explanatory, a number of topics require additional -explanation that cannot easily be covered in the help text and are -therefore covered in the following sections. - -=== Cross-compilation toolchain - -A compilation toolchain is the set of tools that allows you to compile -code for your system. It consists of a compiler (in our case, +gcc+), -binary utils like assembler and linker (in our case, +binutils+) and a -C standard library (for example -http://www.gnu.org/software/libc/libc.html[GNU Libc], -http://www.uclibc-ng.org/[uClibc-ng]). - -The system installed on your development station certainly already has -a compilation toolchain that you can use to compile an application -that runs on your system. If you're using a PC, your compilation -toolchain runs on an x86 processor and generates code for an x86 -processor. Under most Linux systems, the compilation toolchain uses -the GNU libc (glibc) as the C standard library. This compilation -toolchain is called the "host compilation toolchain". The machine on -which it is running, and on which you're working, is called the "host -system" footnote:[This terminology differs from what is used by GNU -configure, where the host is the machine on which the application will -run (which is usually the same as target)]. - -The compilation toolchain is provided by your distribution, and -Buildroot has nothing to do with it (other than using it to build a -cross-compilation toolchain and other tools that are run on the -development host). - -As said above, the compilation toolchain that comes with your system -runs on and generates code for the processor in your host system. As -your embedded system has a different processor, you need a -cross-compilation toolchain - a compilation toolchain that runs on -your _host system_ but generates code for your _target system_ (and -target processor). For example, if your host system uses x86 and your -target system uses ARM, the regular compilation toolchain on your host -runs on x86 and generates code for x86, while the cross-compilation -toolchain runs on x86 and generates code for ARM. - -Buildroot provides two solutions for the cross-compilation toolchain: - - * The *internal toolchain backend*, called +Buildroot toolchain+ in - the configuration interface. - - * The *external toolchain backend*, called +External toolchain+ in - the configuration interface. - -The choice between these two solutions is done using the +Toolchain -Type+ option in the +Toolchain+ menu. Once one solution has been -chosen, a number of configuration options appear, they are detailed in -the following sections. - -[[internal-toolchain-backend]] -==== Internal toolchain backend - -The _internal toolchain backend_ is the backend where Buildroot builds -by itself a cross-compilation toolchain, before building the userspace -applications and libraries for your target embedded system. - -This backend supports several C libraries: -http://www.uclibc-ng.org[uClibc-ng], -http://www.gnu.org/software/libc/libc.html[glibc] and -http://www.musl-libc.org[musl]. - -Once you have selected this backend, a number of options appear. The -most important ones allow to: - - * Change the version of the Linux kernel headers used to build the - toolchain. This item deserves a few explanations. In the process of - building a cross-compilation toolchain, the C library is being - built. This library provides the interface between userspace - applications and the Linux kernel. In order to know how to "talk" - to the Linux kernel, the C library needs to have access to the - _Linux kernel headers_ (i.e. the +.h+ files from the kernel), which - define the interface between userspace and the kernel (system - calls, data structures, etc.). Since this interface is backward - compatible, the version of the Linux kernel headers used to build - your toolchain do not need to match _exactly_ the version of the - Linux kernel you intend to run on your embedded system. They only - need to have a version equal or older to the version of the Linux - kernel you intend to run. If you use kernel headers that are more - recent than the Linux kernel you run on your embedded system, then - the C library might be using interfaces that are not provided by - your Linux kernel. - - * Change the version of the GCC compiler, binutils and the C library. - - * Select a number of toolchain options (uClibc only): whether the - toolchain should have RPC support (used mainly for NFS), - wide-char support, locale support (for internationalization), - C++ support or thread support. Depending on which options you choose, - the number of userspace applications and libraries visible in - Buildroot menus will change: many applications and libraries require - certain toolchain options to be enabled. Most packages show a comment - when a certain toolchain option is required to be able to enable - those packages. If needed, you can further refine the uClibc - configuration by running +make uclibc-menuconfig+. Note however that - all packages in Buildroot are tested against the default uClibc - configuration bundled in Buildroot: if you deviate from this - configuration by removing features from uClibc, some packages may no - longer build. - -It is worth noting that whenever one of those options is modified, -then the entire toolchain and system must be rebuilt. See -xref:full-rebuild[]. - -Advantages of this backend: - -* Well integrated with Buildroot -* Fast, only builds what's necessary - -Drawbacks of this backend: - -* Rebuilding the toolchain is needed when doing +make clean+, which - takes time. If you're trying to reduce your build time, consider - using the _External toolchain backend_. - -[[external-toolchain-backend]] -==== External toolchain backend - -The _external toolchain backend_ allows to use existing pre-built -cross-compilation toolchains. Buildroot knows about a number of -well-known cross-compilation toolchains (from -http://www.linaro.org[Linaro] for ARM, -http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery -CodeBench] for ARM, x86-64, PowerPC, and MIPS, and is capable of -downloading them automatically, or it can be pointed to a custom -toolchain, either available for download or installed locally. - -Then, you have three solutions to use an external toolchain: - -* Use a predefined external toolchain profile, and let Buildroot - download, extract and install the toolchain. Buildroot already knows - about a few CodeSourcery and Linaro toolchains. Just select the - toolchain profile in +Toolchain+ from the available ones. This is - definitely the easiest solution. - -* Use a predefined external toolchain profile, but instead of having - Buildroot download and extract the toolchain, you can tell Buildroot - where your toolchain is already installed on your system. Just - select the toolchain profile in +Toolchain+ through the available - ones, unselect +Download toolchain automatically+, and fill the - +Toolchain path+ text entry with the path to your cross-compiling - toolchain. - -* Use a completely custom external toolchain. This is particularly - useful for toolchains generated using crosstool-NG or with Buildroot - itself. To do this, select the +Custom toolchain+ solution in the - +Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain - prefix+ and +External toolchain C library+ options. Then, you have - to tell Buildroot what your external toolchain supports. If your - external toolchain uses the 'glibc' library, you only have to tell - whether your toolchain supports C\++ or not and whether it has - built-in RPC support. If your external toolchain uses the 'uClibc' - library, then you have to tell Buildroot if it supports RPC, - wide-char, locale, program invocation, threads and C++. - At the beginning of the execution, Buildroot will tell you if - the selected options do not match the toolchain configuration. - -Our external toolchain support has been tested with toolchains from -CodeSourcery and Linaro, toolchains generated by -http://crosstool-ng.org[crosstool-NG], and toolchains generated by -Buildroot itself. In general, all toolchains that support the -'sysroot' feature should work. If not, do not hesitate to contact the -developers. - -We do not support toolchains or SDK generated by OpenEmbedded or -Yocto, because these toolchains are not pure toolchains (i.e. just the -compiler, binutils, the C and C++ libraries). Instead these toolchains -come with a very large set of pre-compiled libraries and -programs. Therefore, Buildroot cannot import the 'sysroot' of the -toolchain, as it would contain hundreds of megabytes of pre-compiled -libraries that are normally built by Buildroot. - -We also do not support using the distribution toolchain (i.e. the -gcc/binutils/C library installed by your distribution) as the -toolchain to build software for the target. This is because your -distribution toolchain is not a "pure" toolchain (i.e. only with the -C/C++ library), so we cannot import it properly into the Buildroot -build environment. So even if you are building a system for a x86 or -x86_64 target, you have to generate a cross-compilation toolchain with -Buildroot or crosstool-NG. - -If you want to generate a custom toolchain for your project, that can -be used as an external toolchain in Buildroot, our recommendation is -to build it either with Buildroot itself (see -xref:build-toolchain-with-buildroot[]) or with -http://crosstool-ng.org[crosstool-NG]. - -Advantages of this backend: - -* Allows to use well-known and well-tested cross-compilation - toolchains. - -* Avoids the build time of the cross-compilation toolchain, which is - often very significant in the overall build time of an embedded - Linux system. - -Drawbacks of this backend: - -* If your pre-built external toolchain has a bug, may be hard to get a - fix from the toolchain vendor, unless you build your external - toolchain by yourself using Buildroot or Crosstool-NG. - -[[build-toolchain-with-buildroot]] -==== Build an external toolchain with Buildroot - -The Buildroot internal toolchain option can be used to create an -external toolchain. Here are a series of steps to build an internal -toolchain and package it up for reuse by Buildroot itself (or other -projects). - -Create a new Buildroot configuration, with the following details: - -* Select the appropriate *Target options* for your target CPU - architecture - -* In the *Toolchain* menu, keep the default of *Buildroot toolchain* - for *Toolchain type*, and configure your toolchain as desired - -* In the *System configuration* menu, select *None* as the *Init - system* and *none* as */bin/sh* - -* In the *Target packages* menu, disable *BusyBox* - -* In the *Filesystem images* menu, disable *tar the root filesystem* - -Then, we can trigger the build, and also ask Buildroot to generate a -SDK. This will conveniently generate for us a tarball which contains -our toolchain: - ------ -make sdk ------ - -This produces the SDK tarball in +$(O)/images+, with a name similar to -+arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz+. Save this -tarball, as it is now the toolchain that you can re-use as an external -toolchain in other Buildroot projects. - -In those other Buildroot projects, in the *Toolchain* menu: - -* Set *Toolchain type* to *External toolchain* - -* Set *Toolchain* to *Custom toolchain* - -* Set *Toolchain origin* to *Toolchain to be downloaded and installed* - -* Set *Toolchain URL* to +file:///path/to/your/sdk/tarball.tar.gz+ - -===== External toolchain wrapper - -When using an external toolchain, Buildroot generates a wrapper program, -that transparently passes the appropriate options (according to the -configuration) to the external toolchain programs. In case you need to -debug this wrapper to check exactly what arguments are passed, you can -set the environment variable +BR2_DEBUG_WRAPPER+ to either one of: - -* +0+, empty or not set: no debug - -* +1+: trace all arguments on a single line - -* +2+: trace one argument per line - -=== /dev management - -On a Linux system, the +/dev+ directory contains special files, called -_device files_, that allow userspace applications to access the -hardware devices managed by the Linux kernel. Without these _device -files_, your userspace applications would not be able to use the -hardware devices, even if they are properly recognized by the Linux -kernel. - -Under +System configuration+, +/dev management+, Buildroot offers four -different solutions to handle the +/dev+ directory : - - * The first solution is *Static using device table*. This is the old - classical way of handling device files in Linux. With this method, - the device files are persistently stored in the root filesystem - (i.e. they persist across reboots), and there is nothing that will - automatically create and remove those device files when hardware - devices are added or removed from the system. Buildroot therefore - creates a standard set of device files using a _device table_, the - default one being stored in +system/device_table_dev.txt+ in the - Buildroot source code. This file is processed when Buildroot - generates the final root filesystem image, and the _device files_ - are therefore not visible in the +output/target+ directory. The - +BR2_ROOTFS_STATIC_DEVICE_TABLE+ option allows to change the - default device table used by Buildroot, or to add an additional - device table, so that additional _device files_ are created by - Buildroot during the build. So, if you use this method, and a - _device file_ is missing in your system, you can for example create - a +board///device_table_dev.txt+ file - that contains the description of your additional _device files_, - and then you can set +BR2_ROOTFS_STATIC_DEVICE_TABLE+ to - +system/device_table_dev.txt - board///device_table_dev.txt+. For more - details about the format of the device table file, see - xref:makedev-syntax[]. - - * The second solution is *Dynamic using devtmpfs only*. _devtmpfs_ is - a virtual filesystem inside the Linux kernel that has been - introduced in kernel 2.6.32 (if you use an older kernel, it is not - possible to use this option). When mounted in +/dev+, this virtual - filesystem will automatically make _device files_ appear and - disappear as hardware devices are added and removed from the - system. This filesystem is not persistent across reboots: it is - filled dynamically by the kernel. Using _devtmpfs_ requires the - following kernel configuration options to be enabled: - +CONFIG_DEVTMPFS+ and +CONFIG_DEVTMPFS_MOUNT+. When Buildroot is in - charge of building the Linux kernel for your embedded device, it - makes sure that those two options are enabled. However, if you - build your Linux kernel outside of Buildroot, then it is your - responsibility to enable those two options (if you fail to do so, - your Buildroot system will not boot). - - * The third solution is *Dynamic using devtmpfs + mdev*. This method - also relies on the _devtmpfs_ virtual filesystem detailed above (so - the requirement to have +CONFIG_DEVTMPFS+ and - +CONFIG_DEVTMPFS_MOUNT+ enabled in the kernel configuration still - apply), but adds the +mdev+ userspace utility on top of it. +mdev+ - is a program part of BusyBox that the kernel will call every time a - device is added or removed. Thanks to the +/etc/mdev.conf+ - configuration file, +mdev+ can be configured to for example, set - specific permissions or ownership on a device file, call a script - or application whenever a device appears or disappear, - etc. Basically, it allows _userspace_ to react on device addition - and removal events. +mdev+ can for example be used to automatically - load kernel modules when devices appear on the system. +mdev+ is - also important if you have devices that require a firmware, as it - will be responsible for pushing the firmware contents to the - kernel. +mdev+ is a lightweight implementation (with fewer - features) of +udev+. For more details about +mdev+ and the syntax - of its configuration file, see - http://git.busybox.net/busybox/tree/docs/mdev.txt. - - * The fourth solution is *Dynamic using devtmpfs + eudev*. This - method also relies on the _devtmpfs_ virtual filesystem detailed - above, but adds the +eudev+ userspace daemon on top of it. +eudev+ - is a daemon that runs in the background, and gets called by the - kernel when a device gets added or removed from the system. It is a - more heavyweight solution than +mdev+, but provides higher - flexibility. +eudev+ is a standalone version of +udev+, the - original userspace daemon used in most desktop Linux distributions, - which is now part of Systemd. For more details, see - http://en.wikipedia.org/wiki/Udev. - -The Buildroot developers recommendation is to start with the *Dynamic -using devtmpfs only* solution, until you have the need for userspace -to be notified when devices are added/removed, or if firmwares are -needed, in which case *Dynamic using devtmpfs + mdev* is usually a -good solution. - -Note that if +systemd+ is chosen as init system, /dev management will -be performed by the +udev+ program provided by +systemd+. - -=== init system - -The _init_ program is the first userspace program started by the -kernel (it carries the PID number 1), and is responsible for starting -the userspace services and programs (for example: web server, -graphical applications, other network servers, etc.). - -Buildroot allows to use three different types of init systems, which -can be chosen from +System configuration+, +Init system+: - - * The first solution is *BusyBox*. Amongst many programs, BusyBox has - an implementation of a basic +init+ program, which is sufficient - for most embedded systems. Enabling the +BR2_INIT_BUSYBOX+ will - ensure BusyBox will build and install its +init+ program. This is - the default solution in Buildroot. The BusyBox +init+ program will - read the +/etc/inittab+ file at boot to know what to do. The syntax - of this file can be found in - http://git.busybox.net/busybox/tree/examples/inittab (note that - BusyBox +inittab+ syntax is special: do not use a random +inittab+ - documentation from the Internet to learn about BusyBox - +inittab+). The default +inittab+ in Buildroot is stored in - +system/skeleton/etc/inittab+. Apart from mounting a few important - filesystems, the main job the default inittab does is to start the - +/etc/init.d/rcS+ shell script, and start a +getty+ program (which - provides a login prompt). - - * The second solution is *systemV*. This solution uses the old - traditional _sysvinit_ program, packed in Buildroot in - +package/sysvinit+. This was the solution used in most desktop - Linux distributions, until they switched to more recent - alternatives such as Upstart or Systemd. +sysvinit+ also works with - an +inittab+ file (which has a slightly different syntax than the - one from BusyBox). The default +inittab+ installed with this init - solution is located in +package/sysvinit/inittab+. - - * The third solution is *systemd*. +systemd+ is the new generation - init system for Linux. It does far more than traditional _init_ - programs: aggressive parallelization capabilities, uses socket and - D-Bus activation for starting services, offers on-demand starting - of daemons, keeps track of processes using Linux control groups, - supports snapshotting and restoring of the system state, - etc. +systemd+ will be useful on relatively complex embedded - systems, for example the ones requiring D-Bus and services - communicating between each other. It is worth noting that +systemd+ - brings a fairly big number of large dependencies: +dbus+, +udev+ - and more. For more details about +systemd+, see - http://www.freedesktop.org/wiki/Software/systemd. - -The solution recommended by Buildroot developers is to use the -*BusyBox init* as it is sufficient for most embedded -systems. *systemd* can be used for more complex situations. diff --git a/docs.original/manual/contribute.txt b/docs.original/manual/contribute.txt deleted file mode 100644 index bf2aed6b51..0000000000 --- a/docs.original/manual/contribute.txt +++ /dev/null @@ -1,712 +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 http://patchwork.buildroot.org[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 http://patchwork.buildroot.org[patchwork]. You need to -create an account on http://patchwork.buildroot.org[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 http://patchwork.buildroot.org[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 -http://patchwork.buildroot.org[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.original/manual/customize-configuration.txt b/docs.original/manual/customize-configuration.txt deleted file mode 100644 index ae6cebe6c4..0000000000 --- a/docs.original/manual/customize-configuration.txt +++ /dev/null @@ -1,64 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize-store-buildroot-config]] -=== Storing the Buildroot configuration - -The Buildroot configuration can be stored using the command - +make savedefconfig+. - -This strips the Buildroot configuration down by removing configuration -options that are at their default value. The result is stored in a file -called +defconfig+. If you want to save it in another place, change the -+BR2_DEFCONFIG+ option in the Buildroot configuration itself, or call -make with +make savedefconfig BR2_DEFCONFIG=+. - -The recommended place to store this defconfig is -+configs/_defconfig+. If you follow this recommendation, the -configuration will be listed in +make help+ and can be set again by -running +make _defconfig+. - -Alternatively, you can copy the file to any other place and rebuild with -+make defconfig BR2_DEFCONFIG=+. - -[[customize-store-package-config]] -=== Storing the configuration of other components - -The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot -and uClibc should be stored as well if changed. For each of these -components, a Buildroot configuration option exists to point to an input -configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To store -their configuration, set these configuration options to a path where you -want to save the configuration files, and then use the helper targets -described below to actually store the configuration. - -As explained in xref:customize-dir-structure[], the recommended path to -store these configuration files is -+board///foo.config+. - -Make sure that you create a configuration file 'before' changing -the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise, -Buildroot will try to access this config file, which doesn't exist -yet, and will fail. You can create the configuration file by running -+make linux-menuconfig+ etc. - -Buildroot provides a few helper targets to make the saving of -configuration files easier. - -* +make linux-update-defconfig+ saves the linux configuration to the - path specified by +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. It - simplifies the config file by removing default values. However, - this only works with kernels starting from 2.6.33. For earlier - kernels, use +make linux-update-config+. -* +make busybox-update-config+ saves the busybox configuration to the - path specified by +BR2_PACKAGE_BUSYBOX_CONFIG+. -* +make uclibc-update-config+ saves the uClibc configuration to the - path specified by +BR2_UCLIBC_CONFIG+. -* +make barebox-update-defconfig+ saves the barebox configuration to the - path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+. -* +make uboot-update-defconfig+ saves the U-Boot configuration to the - path specified by +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+. -* For at91bootstrap3, no helper exists so you have to copy the config - file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. - - diff --git a/docs.original/manual/customize-directory-structure.txt b/docs.original/manual/customize-directory-structure.txt deleted file mode 100644 index a3a7ad4cb9..0000000000 --- a/docs.original/manual/customize-directory-structure.txt +++ /dev/null @@ -1,111 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize-dir-structure]] -=== Recommended directory structure - -When customizing Buildroot for your project, you will be creating one or -more project-specific files that need to be stored somewhere. While most -of these files could be placed in _any_ location as their path is to be -specified in the Buildroot configuration, the Buildroot developers -recommend a specific directory structure which is described in this -section. - -Orthogonal to this directory structure, you can choose _where_ you place -this structure itself: either inside the Buildroot tree, or outside of -it using a br2-external tree. Both options are valid, the choice is up -to you. - ------ -+-- board/ -| +-- / -| +-- / -| +-- linux.config -| +-- busybox.config -| +-- -| +-- post_build.sh -| +-- post_image.sh -| +-- rootfs_overlay/ -| | +-- etc/ -| | +-- -| +-- patches/ -| +-- foo/ -| | +-- -| +-- libbar/ -| +-- -| -+-- configs/ -| +-- _defconfig -| -+-- package/ -| +-- / -| +-- Config.in (if not using a br2-external tree) -| +-- .mk (if not using a br2-external tree) -| +-- package1/ -| | +-- Config.in -| | +-- package1.mk -| +-- package2/ -| +-- Config.in -| +-- package2.mk -| -+-- Config.in (if using a br2-external tree) -+-- external.mk (if using a br2-external tree) -+-- external.desc (if using a br2-external tree) ------- - -Details on the files shown above are given further in this chapter. - -Note: if you choose to place this structure outside of the Buildroot -tree but in a br2-external tree, the and possibly -components may be superfluous and can be left out. - -==== Implementing layered customizations - -It is quite common for a user to have several related projects that partly -need the same customizations. Instead of duplicating these -customizations for each project, it is recommended to use a layered -customization approach, as explained in this section. - -Almost all of the customization methods available in Buildroot, like -post-build scripts and root filesystem overlays, accept a -space-separated list of items. The specified items are always treated in -order, from left to right. By creating more than one such item, one for -the common customizations and another one for the really -project-specific customizations, you can avoid unnecessary duplication. -Each layer is typically embodied by a separate directory inside -+board//+. Depending on your projects, you could even introduce -more than two layers. - -An example directory structure for where a user has two customization -layers 'common' and 'fooboard' is: - ------ -+-- board/ - +-- / - +-- common/ - | +-- post_build.sh - | +-- rootfs_overlay/ - | | +-- ... - | +-- patches/ - | +-- ... - | - +-- fooboard/ - +-- linux.config - +-- busybox.config - +-- - +-- post_build.sh - +-- rootfs_overlay/ - | +-- ... - +-- patches/ - +-- ... ------ - -For example, if the user has the +BR2_GLOBAL_PATCH_DIR+ configuration -option set as: - ------ -BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" ------ - -then first the patches from the 'common' layer would be applied, -followed by the patches from the 'fooboard' layer. diff --git a/docs.original/manual/customize-quick-guide.txt b/docs.original/manual/customize-quick-guide.txt deleted file mode 100644 index 627ecbacb1..0000000000 --- a/docs.original/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.original/manual/developers.txt b/docs.original/manual/developers.txt deleted file mode 100644 index 7058d57b20..0000000000 --- a/docs.original/manual/developers.txt +++ /dev/null @@ -1,49 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[DEVELOPERS]] -== DEVELOPERS file and get-developers - -The main Buildroot directory contains a file named +DEVELOPERS+ that -lists the developers involved with various areas of Buildroot. Thanks -to this file, the +get-developers+ tool allows to: - -- Calculate the list of developers to whom patches should be sent, by - parsing the patches and matching the modified files with the - relevant developers. See xref:submitting-patches[] for details. - -- Find which developers are taking care of a given architecture or - package, so that they can be notified when a build failure occurs on - this architecture or package. This is done in interaction with - Buildroot's autobuild infrastructure. - -We ask developers adding new packages, new boards, or generally new -functionality in Buildroot, to register themselves in the +DEVELOPERS+ -file. As an example, we expect a developer contributing a new package -to include in his patch the appropriate modification to the -+DEVELOPERS+ file. - -The +DEVELOPERS+ file format is documented in detail inside the file -itself. - -The +get-developers+ tool, located in +utils/+ allows to use -the +DEVELOPERS+ file for various tasks: - -- When passing one or several patches as command line argument, - +get-developers+ will return the appropriate +git send-email+ - command. If the +-e+ option is passed, only the email addresses are - printed in a format suitable for +git send-email --cc-cmd+. - -- When using the +-a + command line option, +get-developers+ will - return the list of developers in charge of the given architecture. - -- When using the +-p + command line option, +get-developers+ - will return the list of developers in charge of the given package. - -- When using the +-c+ command line option, +get-developers+ will look - at all files under version control in the Buildroot repository, and - list the ones that are not handled by any developer. The purpose of - this option is to help completing the +DEVELOPERS+ file. - -- When using without any arguments, it validates the integrity of the - DEVELOPERS file and will note WARNINGS for items that don't match. diff --git a/docs.original/manual/docbook-xsl.css b/docs.original/manual/docbook-xsl.css deleted file mode 100644 index ee9ca46d6f..0000000000 --- a/docs.original/manual/docbook-xsl.css +++ /dev/null @@ -1,329 +0,0 @@ -/* - CSS stylesheet for XHTML produced by DocBook XSL stylesheets. -*/ - -body { - font-family: Georgia,serif; -} - -code, pre { - font-family: "Courier New", Courier, monospace; -} - -span.strong { - font-weight: bold; -} - -body blockquote { - margin-top: .75em; - line-height: 1.5; - margin-bottom: .75em; -} - -html body { - margin: 1em 5% 1em 5%; - line-height: 1.2; -} - -body div { - margin: 0; -} - -h1, h2, h3, h4, h5, h6 -{ - color: #527bbd; - font-family: Arial,Helvetica,sans-serif; -} - -div.toc p:first-child, -div.list-of-figures p:first-child, -div.list-of-tables p:first-child, -div.list-of-examples p:first-child, -div.example p.title, -div.sidebar p.title -{ - font-weight: bold; - color: #527bbd; - font-family: Arial,Helvetica,sans-serif; - margin-bottom: 0.2em; -} - -body h1 { - margin: .0em 0 0 -4%; - line-height: 1.3; - border-bottom: 2px solid silver; -} - -body h2 { - margin: 0.5em 0 0 -4%; - line-height: 1.3; - border-bottom: 2px solid silver; -} - -body h3 { - margin: .8em 0 0 -3%; - line-height: 1.3; -} - -body h4 { - margin: .8em 0 0 -3%; - line-height: 1.3; -} - -body h5 { - margin: .8em 0 0 -2%; - line-height: 1.3; -} - -body h6 { - margin: .8em 0 0 -1%; - line-height: 1.3; -} - -body hr { - border: none; /* Broken on IE6 */ -} -div.footnotes hr { - border: 1px solid silver; -} - -div.navheader th, div.navheader td, div.navfooter td { - font-family: Arial,Helvetica,sans-serif; - font-size: 0.9em; - font-weight: bold; - color: #527bbd; -} -div.navheader img, div.navfooter img { - border-style: none; -} -div.navheader a, div.navfooter a { - font-weight: normal; -} -div.navfooter hr { - border: 1px solid silver; -} - -body td { - line-height: 1.2 -} - -body th { - line-height: 1.2; -} - -ol { - line-height: 1.2; -} - -ul, body dir, body menu { - line-height: 1.2; -} - -html { - margin: 0; - padding: 0; -} - -body h1, body h2, body h3, body h4, body h5, body h6 { - margin-left: 0 -} - -body pre { - margin: 0.5em 10% 0.5em 1em; - line-height: 1.0; - color: navy; -} - -tt.literal, code.literal { - color: navy; -} - -.programlisting, .screen { - border: 1px solid silver; - background: #f4f4f4; - margin: 0.5em 10% 0.5em 0; - padding: 0.5em 1em; -} - -div.sidebar { - background: #ffffee; - margin: 1.0em 10% 0.5em 0; - padding: 0.5em 1em; - border: 1px solid silver; -} -div.sidebar * { padding: 0; } -div.sidebar div { margin: 0; } -div.sidebar p.title { - margin-top: 0.5em; - margin-bottom: 0.2em; -} - -div.bibliomixed { - margin: 0.5em 5% 0.5em 1em; -} - -div.glossary dt { - font-weight: bold; -} -div.glossary dd p { - margin-top: 0.2em; -} - -dl { - margin: .8em 0; - line-height: 1.2; -} - -dt { - margin-top: 0.5em; -} - -dt span.term { - font-style: normal; - color: navy; -} - -div.variablelist dd p { - margin-top: 0; -} - -div.itemizedlist li, div.orderedlist li { - margin-left: -0.8em; - margin-top: 0.5em; -} - -ul, ol { - list-style-position: outside; -} - -div.sidebar ul, div.sidebar ol { - margin-left: 2.8em; -} - -div.itemizedlist p.title, -div.orderedlist p.title, -div.variablelist p.title -{ - margin-bottom: -0.8em; -} - -div.revhistory table { - border-collapse: collapse; - border: none; -} -div.revhistory th { - border: none; - color: #527bbd; - font-family: Arial,Helvetica,sans-serif; -} -div.revhistory td { - border: 1px solid silver; -} - -/* Keep TOC and index lines close together. */ -div.toc dl, div.toc dt, -div.list-of-figures dl, div.list-of-figures dt, -div.list-of-tables dl, div.list-of-tables dt, -div.indexdiv dl, div.indexdiv dt -{ - line-height: normal; - margin-top: 0; - margin-bottom: 0; -} - -/* - Table styling does not work because of overriding attributes in - generated HTML. -*/ -div.table table, -div.informaltable table -{ - margin-left: 0; - margin-right: 5%; - margin-bottom: 0.8em; -} -div.informaltable table -{ - margin-top: 0.4em -} -div.table thead, -div.table tfoot, -div.table tbody, -div.informaltable thead, -div.informaltable tfoot, -div.informaltable tbody -{ - /* No effect in IE6. */ - border-top: 3px solid #527bbd; - border-bottom: 3px solid #527bbd; -} -div.table thead, div.table tfoot, -div.informaltable thead, div.informaltable tfoot -{ - font-weight: bold; -} - -div.mediaobject img { - margin-bottom: 0.8em; -} -div.figure p.title, -div.table p.title -{ - margin-top: 1em; - margin-bottom: 0.4em; -} - -div.calloutlist p -{ - margin-top: 0em; - margin-bottom: 0.4em; -} - -a img { - border-style: none; -} - -@media print { - div.navheader, div.navfooter { display: none; } -} - -span.aqua { color: aqua; } -span.black { color: black; } -span.blue { color: blue; } -span.fuchsia { color: fuchsia; } -span.gray { color: gray; } -span.green { color: green; } -span.lime { color: lime; } -span.maroon { color: maroon; } -span.navy { color: navy; } -span.olive { color: olive; } -span.purple { color: purple; } -span.red { color: red; } -span.silver { color: silver; } -span.teal { color: teal; } -span.white { color: white; } -span.yellow { color: yellow; } - -span.aqua-background { background: aqua; } -span.black-background { background: black; } -span.blue-background { background: blue; } -span.fuchsia-background { background: fuchsia; } -span.gray-background { background: gray; } -span.green-background { background: green; } -span.lime-background { background: lime; } -span.maroon-background { background: maroon; } -span.navy-background { background: navy; } -span.olive-background { background: olive; } -span.purple-background { background: purple; } -span.red-background { background: red; } -span.silver-background { background: silver; } -span.teal-background { background: teal; } -span.white-background { background: white; } -span.yellow-background { background: yellow; } - -span.big { font-size: 2em; } -span.small { font-size: 0.6em; } - -span.underline { text-decoration: underline; } -span.overline { text-decoration: overline; } -span.line-through { text-decoration: line-through; } diff --git a/docs.original/manual/eclipse-integration.txt b/docs.original/manual/eclipse-integration.txt deleted file mode 100644 index 1f726d8240..0000000000 --- a/docs.original/manual/eclipse-integration.txt +++ /dev/null @@ -1,30 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Integration with Eclipse - -While a part of the embedded Linux developers like classical text -editors like Vim or Emacs, and command-line based interfaces, a number -of other embedded Linux developers like richer graphical interfaces to -do their development work. Eclipse being one of the most popular -Integrated Development Environment, Buildroot integrates with Eclipse -in order to ease the development work of Eclipse users. - -Our integration with Eclipse simplifies the compilation, remote -execution and remote debugging of applications and libraries that are -built on top of a Buildroot system. It does not integrate the -Buildroot configuration and build processes themselves with -Eclipse. Therefore, the typical usage model of our Eclipse integration -would be: - -* Configure your Buildroot system with +make menuconfig+, +make - xconfig+ or any other configuration interface provided with - Buildroot. -* Build your Buildroot system by running +make+. -* Start Eclipse to develop, execute and debug your own custom - applications and libraries, that will rely on the libraries built - and installed by Buildroot. - -The Buildroot Eclipse integration installation process and usage is -described in detail at -https://github.com/mbats/eclipse-buildroot-bundle/wiki. diff --git a/docs.original/manual/faq-troubleshooting.txt b/docs.original/manual/faq-troubleshooting.txt deleted file mode 100644 index 5adf3fa6ce..0000000000 --- a/docs.original/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] -* http://www.emdebian.org[emdebian] -* 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.original/manual/github_hash_mongrel2.png b/docs.original/manual/github_hash_mongrel2.png deleted file mode 100644 index c695c3181a..0000000000 Binary files a/docs.original/manual/github_hash_mongrel2.png and /dev/null differ diff --git a/docs.original/manual/known-issues.txt b/docs.original/manual/known-issues.txt deleted file mode 100644 index ae29a48b38..0000000000 --- a/docs.original/manual/known-issues.txt +++ /dev/null @@ -1,15 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Known issues - -* It is not possible to pass extra linker options via +BR2_TARGET_LDFLAGS+ - if such options contain a +$+ sign. For example, the following is known - to break: +BR2_TARGET_LDFLAGS="-Wl,-rpath=\'$ORIGIN/../lib'"+ - -* The +libffi+ package is not supported on the SuperH 2 and ARC - architectures. - -* The +prboom+ package triggers a compiler failure with the SuperH 4 - compiler from Sourcery CodeBench, version 2012.09. - diff --git a/docs.original/manual/logo.png b/docs.original/manual/logo.png deleted file mode 100644 index 2db743b4fa..0000000000 Binary files a/docs.original/manual/logo.png and /dev/null differ diff --git a/docs.original/manual/make-tips.txt b/docs.original/manual/make-tips.txt deleted file mode 100644 index 869b6807dd..0000000000 --- a/docs.original/manual/make-tips.txt +++ /dev/null @@ -1,133 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[make-tips]] -=== 'make' tips - -This is a collection of tips that help you make the most of Buildroot. - -.Display all commands executed by make: - --------------------- - $ make V=1 --------------------- - -.Display the list of boards with a defconfig: - --------------------- - $ make list-defconfigs --------------------- - -.Display all available targets: - --------------------- - $ make help --------------------- - -Not all targets are always available, -some settings in the +.config+ file may hide some targets: - -* +busybox-menuconfig+ only works when +busybox+ is enabled; -* +linux-menuconfig+ and +linux-savedefconfig+ only work when - +linux+ is enabled; -* +uclibc-menuconfig+ is only available when the uClibc C library is - selected in the internal toolchain backend; -* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the - +barebox+ bootloader is enabled. -* +uboot-menuconfig+ and +uboot-savedefconfig+ only work when the - +U-Boot+ bootloader is enabled. - -.Cleaning: - -Explicit cleaning is required when any of the architecture or toolchain -configuration options are changed. - -To delete all build products (including build directories, host, staging -and target trees, the images and the toolchain): - --------------------- - $ make clean --------------------- - -.Generating the manual: - -The present manual sources are located in the 'docs/manual' directory. -To generate the manual: - ---------------------------------- - $ make manual-clean - $ make manual ---------------------------------- - -The manual outputs will be generated in 'output/docs/manual'. - -.Notes -- A few tools are required to build the documentation (see: - xref:requirement-optional[]). - -.Resetting Buildroot for a new target: - -To delete all build products as well as the configuration: - --------------------- - $ make distclean --------------------- - -.Notes -If +ccache+ is enabled, running +make clean+ or +distclean+ does -not empty the compiler cache used by Buildroot. To delete it, refer -to xref:ccache[]. - -.Dumping the internal make variables: - -One can dump the variables known to make, along with their values: - ----- - $ make -s printvars VARS='VARIABLE1 VARIABLE2' - VARIABLE1=value_of_variable - VARIABLE2=value_of_variable ----- - -It is possible to tweak the output using some variables: - -- +VARS+ will limit the listing to variables which names match the - specified make-patterns - this must be set else nothing is printed -- +QUOTED_VARS+, if set to +YES+, will single-quote the value -- +RAW_VARS+, if set to +YES+, will print the unexpanded value - -For example: - ----- - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES - BUSYBOX_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_PATCH_DEPENDENCIES= - BUSYBOX_RDEPENDENCIES=ncurses util-linux ----- - ----- - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES - BUSYBOX_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_PATCH_DEPENDENCIES='' - BUSYBOX_RDEPENDENCIES='ncurses util-linux' ----- - ----- - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES - BUSYBOX_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) - BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) - BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) - BUSYBOX_RDEPENDENCIES=ncurses util-linux ----- - -The output of quoted variables can be reused in shell scripts, for example: - ----- - $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) - $ echo $BUSYBOX_DEPENDENCIES - skeleton toolchain ----- diff --git a/docs.original/manual/makedev-syntax.txt b/docs.original/manual/makedev-syntax.txt deleted file mode 100644 index d6efb31d42..0000000000 --- a/docs.original/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.original/manual/makeusers-syntax.txt b/docs.original/manual/makeusers-syntax.txt deleted file mode 100644 index 467e596230..0000000000 --- a/docs.original/manual/makeusers-syntax.txt +++ /dev/null @@ -1,89 +0,0 @@ -// -*- mode:doc -*- ; -// vim: set syntax=asciidoc: - -[[makeuser-syntax]] -== Makeusers syntax documentation - -The syntax to create users is inspired by the makedev syntax, above, but -is specific to Buildroot. - -The syntax for adding a user is a space-separated list of fields, one -user per line; the fields are: - -|================================================================= -|username |uid |group |gid |password |home |shell |groups |comment -|================================================================= - -Where: - -- +username+ is the desired user name (aka login name) for the user. - It can not be +root+, and must be unique. If set to +-+, then just a - group will be created. -- +uid+ is the desired UID for the user. It must be unique, and not - +0+. If set to +-1+, then a unique UID will be computed by Buildroot - in the range [1000...1999] -- +group+ is the desired name for the user's main group. It can not - be +root+. If the group does not exist, it will be created. -- +gid+ is the desired GID for the user's main group. It must be unique, - and not +0+. If set to +-1+, and the group does not already exist, then - a unique GID will be computed by Buildroot in the range [1000..1999] -- +password+ is the crypt(3)-encoded password. If prefixed with +!+, - then login is disabled. If prefixed with +=+, then it is interpreted - as clear-text, and will be crypt-encoded (using MD5). If prefixed with - +!=+, then the password will be crypt-encoded (using MD5) and login - will be disabled. If set to +*+, then login is not allowed. If set to - +-+, then no password value will be set. -- +home+ is the desired home directory for the user. If set to '-', no - home directory will be created, and the user's home will be +/+. - Explicitly setting +home+ to +/+ is not allowed. -- +shell+ is the desired shell for the user. If set to +-+, then - +/bin/false+ is set as the user's shell. -- +groups+ is the comma-separated list of additional groups the user - should be part of. If set to +-+, then the user will be a member of - no additional group. Missing groups will be created with an arbitrary - +gid+. -- +comment+ (aka https://en.wikipedia.org/wiki/Gecos_field[GECOS] - field) is an almost-free-form text. - -There are a few restrictions on the content of each field: - -* except for +comment+, all fields are mandatory. -* except for +comment+, fields may not contain spaces. -* no field may contain a colon (+:+). - -If +home+ is not +-+, then the home directory, and all files below, -will belong to the user and its main group. - -Examples: - ----- -foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user ----- - -This will create this user: - -- +username+ (aka login name) is: +foo+ -- +uid+ is computed by Buildroot -- main +group+ is: +bar+ -- main group +gid+ is computed by Buildroot -- clear-text +password+ is: +blabla+, will be crypt(3)-encoded, and login is disabled. -- +home+ is: +/home/foo+ -- +shell+ is: +/bin/sh+ -- +foo+ is also a member of +groups+: +alpha+ and +bravo+ -- +comment+ is: +Foo user+ - ----- -test 8000 wheel -1 = - /bin/sh - Test user ----- - -This will create this user: - -- +username+ (aka login name) is: +test+ -- +uid+ is : +8000+ -- main +group+ is: +wheel+ -- main group +gid+ is computed by Buildroot, and will use the value defined in the rootfs skeleton -- +password+ is empty (aka no password). -- +home+ is +/+ but will not belong to +test+ -- +shell+ is: +/bin/sh+ -- +test+ is not a member of any additional +groups+ -- +comment+ is: +Test user+ diff --git a/docs.original/manual/manual.html b/docs.original/manual/manual.html deleted file mode 100644 index af7f2fc3f4..0000000000 --- a/docs.original/manual/manual.html +++ /dev/null @@ -1,5898 +0,0 @@ - -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Details about packages
8.9. Graphing the dependencies between packages
8.10. Graphing the build duration
8.11. Graphing the filesystem size contribution of packages
8.12. Top-level parallel build
8.13. Integration with Eclipse
8.14. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Using SELinux in Buildroot
10.1. Enabling SELinux support
10.2. SELinux policy tweaking
11. Frequently Asked Questions & Troubleshooting
11.1. The boot hangs after Starting network…
11.2. Why is there no compiler on the target?
11.3. Why are there no development files on the target?
11.4. Why is there no documentation on the target?
11.5. Why are some packages not visible in the Buildroot config menu?
11.6. Why not use the target directory as a chroot directory?
11.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
11.8. How to speed-up the build process?
12. Known issues
13. Legal notice and licensing
13.1. Complying with open source licenses
13.2. Complying with the Buildroot license
14. Beyond Buildroot
14.1. Boot the generated images
14.2. Chroot
III. Developer guide
15. How Buildroot works
16. Coding style
16.1. Config.in file
16.2. The .mk file
16.3. The documentation
16.4. Support scripts
17. Adding support for a particular board
18. Adding new packages to Buildroot
18.1. Package directory
18.2. Config files
18.3. The .mk file
18.4. The .hash file
18.5. Infrastructure for packages with specific build systems
18.6. Infrastructure for autotools-based packages
18.7. Infrastructure for CMake-based packages
18.8. Infrastructure for Python packages
18.9. Infrastructure for LuaRocks-based packages
18.10. Infrastructure for Perl/CPAN packages
18.11. Infrastructure for virtual packages
18.12. Infrastructure for packages using kconfig for configuration files
18.13. Infrastructure for rebar-based packages
18.14. Infrastructure for Waf-based packages
18.15. Infrastructure for Meson-based packages
18.16. Integration of Cargo-based packages
18.17. Infrastructure for Go packages
18.18. Infrastructure for QMake-based packages
18.19. Infrastructure for packages building kernel modules
18.20. Infrastructure for asciidoc documents
18.21. Infrastructure specific to the Linux kernel package
18.22. Hooks available in the various build steps
18.23. Gettext integration and interaction with packages
18.24. Tips and tricks
18.25. Conclusion
19. Patching a package
19.1. Providing patches
19.2. How patches are applied
19.3. Format and licensing of the package patches
19.4. Integrating patches found on the Web
20. Download infrastructure
21. Debugging Buildroot
22. Contributing to Buildroot
22.1. Reproducing, analyzing and fixing bugs
22.2. Analyzing and fixing autobuild failures
22.3. Reviewing and testing patches
22.4. Work on items from the TODO list
22.5. Submitting patches
22.6. Reporting issues/bugs or getting help
22.7. Using the runtime tests framework
23. DEVELOPERS file and get-developers
24. Release Engineering
24.1. Releases
24.2. Development
IV. Appendix
25. Makedev syntax documentation
26. Makeusers syntax documentation
27. Migrating from older Buildroot versions
27.1. General approach
27.2. Migrating to 2016.11
27.3. Migrating to 2017.08

Buildroot 2021.08.2 manual generated on 2021-11-10 -13:24:54 UTC from git revision d815599e37

The Buildroot manual is written by the Buildroot developers. -It is licensed under the GNU General Public License, version 2. Refer to the -COPYING -file in the Buildroot sources for the full text of this license.

Copyright © 2004-2020 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of -building a complete Linux system for an embedded system, using -cross-compilation.

In order to achieve this, Buildroot is able to generate a -cross-compilation toolchain, a root filesystem, a Linux kernel image -and a bootloader for your target. Buildroot can be used for any -combination of these options, independently (you can for example use -an existing cross-compilation toolchain, and build only your root -filesystem with Buildroot).

Buildroot is useful mainly for people working with embedded systems. -Embedded systems often use processors that are not the regular x86 -processors everyone is used to having in his PC. They can be PowerPC -processors, MIPS processors, ARM processors, etc.

Buildroot supports numerous processors and their variants; it also -comes with default configurations for several boards available -off-the-shelf. Besides this, a number of third-party projects are based on, -or develop their BSP [1] or -SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. 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).

2.1. Mandatory packages

  • -Build tools: -

    • -which -
    • -sed -
    • -make (version 3.81 or any later) -
    • -binutils -
    • -build-essential (only for Debian based systems) -
    • -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 -
  • -Source fetching tools: -

    • -wget -

2.2. 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 Chapter 20, Download infrastructure 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 -
    • -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 <pkg>-graph-depends -
    • -python-matplotlib to use graph-build -

Chapter 3. Getting Buildroot

Buildroot releases are made every 3 months, in February, May, August and -November. Release numbers are in the format YYYY.MM, so for example -2013.02, 2014.08.

Release tarballs are available at http://buildroot.org/downloads/.

For your convenience, a Vagrantfile is -available in support/misc/Vagrantfile in the Buildroot source tree -to quickly set up a virtual machine with the needed dependencies to -get started.

If you want to setup an isolated buildroot environment on Linux or Mac -Os X, paste this line onto your terminal:

curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up

If you are on Windows, paste this into your powershell:

(new-object System.Net.WebClient).DownloadFile(
-"https://buildroot.org/downloads/Vagrantfile","Vagrantfile");
-vagrant up

If you want to follow development, you can use the daily snapshots or -make a clone of the Git repository. Refer to the -Download page of the Buildroot website -for more details.

Chapter 4. Buildroot quick start

Important: you can and should build everything as a normal user. There -is no need to be root to configure and use Buildroot. By running all -commands as a regular user, you protect your system against packages -behaving badly during compilation and installation.

The first step when using Buildroot is to create a configuration. -Buildroot has a nice configuration tool similar to the one you can -find in the Linux kernel or in -BusyBox.

From the buildroot directory, run

 $ make menuconfig

for the original curses-based configurator, or

 $ make nconfig

for the new curses-based configurator, or

 $ make xconfig

for the Qt-based configurator, or

 $ make gconfig

for the GTK-based configurator.

All of these "make" commands will need to build a configuration -utility (including the interface), so you may need to install -"development" packages for relevant libraries used by the -configuration utilities. Refer to Chapter 2, System requirements for more details, -specifically the optional requirements -to get the dependencies of your favorite interface.

For each menu entry in the configuration tool, you can find associated -help that describes the purpose of the entry. Refer to Chapter 6, Buildroot configuration -for details on some specific configuration aspects.

Once everything is configured, the configuration tool generates a -.config file that contains the entire configuration. This file will be -read by the top-level Makefile.

To start the build process, simply run:

 $ make

By default, Buildroot does not support top-level parallel build, so -running make -jN is not necessary. There is however experimental -support for top-level parallel build, see -Section 8.12, “Top-level parallel buildâ€.

The make command will generally perform the following steps:

  • -download source files (as required); -
  • -configure, build and install the cross-compilation toolchain, or - simply import an external toolchain; -
  • -configure, build and install selected target packages; -
  • -build a kernel image, if selected; -
  • -build a bootloader image, if selected; -
  • -create a root filesystem in selected formats. -

Buildroot output is stored in a single directory, output/. -This directory contains several subdirectories:

  • -images/ where all the images (kernel image, bootloader and root - filesystem images) are stored. These are the files you need to put - on your target system. -
  • -build/ where all the components are built (this includes tools - needed by Buildroot on the host and packages compiled for the - target). This directory contains one subdirectory for each of these - components. -
  • -host/ contains both the tools built for the host, and the sysroot - of the target toolchain. The former is an installation of tools - compiled for the host that are needed for the proper execution of - Buildroot, including the cross-compilation toolchain. The latter - is a hierarchy similar to a root filesystem hierarchy. It contains - the headers and libraries of all user-space packages that provide - and install libraries used by other packages. However, this - directory is not intended to be the root filesystem for the target: - it contains a lot of development files, unstripped binaries and - libraries that make it far too big for an embedded system. These - development files are used to compile libraries and applications for - the target that depend on other libraries. -
  • -staging/ is a symlink to the target toolchain sysroot inside - host/, which exists for backwards compatibility. -
  • -target/ which contains almost the complete root filesystem for - the target: everything needed is present except the device files in - /dev/ (Buildroot can’t create them because Buildroot doesn’t run - as root and doesn’t want to run as root). Also, it doesn’t have the correct - permissions (e.g. setuid for the busybox binary). Therefore, this directory - should not be used on your target. Instead, you should use one of - the images built in the images/ directory. If you need an - extracted image of the root filesystem for booting over NFS, then - use the tarball image generated in images/ and extract it as - root. Compared to staging/, target/ contains only the files and - libraries needed to run the selected target applications: the - development files (headers, etc.) are not present, the binaries are - stripped. -

These commands, make menuconfig|nconfig|gconfig|xconfig and make, are the -basic ones that allow to easily and quickly generate images fitting -your needs, with all the features and applications you enabled.

More details about the "make" command usage are given in -Section 8.1, “make tipsâ€.

Chapter 5. Community resources

Like any open source project, Buildroot has different ways to share -information in its community and outside.

Each of those ways may interest you if you are looking for some help, -want to understand Buildroot or contribute to the project.

-Mailing List -

Buildroot has a mailing list for discussion and development. It is the -main method of interaction for Buildroot users and developers.

Only subscribers to the Buildroot mailing list are allowed to post to -this list. You can subscribe via the -mailing list info -page.

Mails that are sent to the mailing list are also available in the -mailing list archives, available through -Mailman or at -lore.kernel.org.

-IRC -

The Buildroot IRC channel #buildroot is -hosted on OFTC. It is a useful place to -ask quick questions or discuss on certain topics.

When asking for help on IRC, share relevant logs or pieces of code -using a code sharing website, such as https://paste.ack.tf/.

Note that for certain questions, posting to the mailing list may be -better as it will reach more people, both developers and users.

-Bug tracker -
Bugs in Buildroot can be reported via the mailing list or alternatively -via the Buildroot -bugtracker. Please refer to Section 22.6, “Reporting issues/bugs or getting help†before creating a bug -report.
-Wiki -
The Buildroot wiki page is hosted on -the eLinux wiki. It contains some useful links, an -overview of past and upcoming events, and a TODO list.
-Patchwork -

Patchwork is a web-based patch tracking system designed to facilitate -the contribution and management of contributions to an open-source -project. Patches that have been sent to a mailing list are 'caught' by -the system, and appear on a web page. Any comments posted that -reference the patch are appended to the patch page too. For more -information on Patchwork see -http://jk.ozlabs.org/projects/patchwork/.

Buildroot’s Patchwork website is mainly for use by Buildroot’s -maintainer to ensure patches aren’t missed. It is also used by Buildroot -patch reviewers (see also Section 22.3.1, “Applying Patches from Patchworkâ€). -However, since the website exposes patches and their corresponding -review comments in a clean and concise web interface, it can be useful -for all Buildroot developers.

The Buildroot patch management interface is available at -http://patchwork.buildroot.org.

Part II. User guide

Chapter 6. Buildroot configuration

All the configuration options in make *config have a help text -providing details about the option.

The make *config commands also offer a search tool. Read the help -message in the different frontend menus to know how to use it:

  • -in menuconfig, the search tool is called by pressing /; -
  • -in xconfig, the search tool is called by pressing Ctrl + f. -

The result of the search shows the help message of the matching items. -In menuconfig, numbers in the left column provide a shortcut to the -corresponding entry. Just type this number to directly jump to the -entry, or to the containing menu in case the entry is not selectable due -to a missing dependency.

Although the menu structure and the help text of the entries should be -sufficiently self-explanatory, a number of topics require additional -explanation that cannot easily be covered in the help text and are -therefore covered in the following sections.

6.1. Cross-compilation toolchain

A compilation toolchain is the set of tools that allows you to compile -code for your system. It consists of a compiler (in our case, gcc), -binary utils like assembler and linker (in our case, binutils) and a -C standard library (for example -GNU Libc, -uClibc-ng).

The system installed on your development station certainly already has -a compilation toolchain that you can use to compile an application -that runs on your system. If you’re using a PC, your compilation -toolchain runs on an x86 processor and generates code for an x86 -processor. Under most Linux systems, the compilation toolchain uses -the GNU libc (glibc) as the C standard library. This compilation -toolchain is called the "host compilation toolchain". The machine on -which it is running, and on which you’re working, is called the "host -system" [3].

The compilation toolchain is provided by your distribution, and -Buildroot has nothing to do with it (other than using it to build a -cross-compilation toolchain and other tools that are run on the -development host).

As said above, the compilation toolchain that comes with your system -runs on and generates code for the processor in your host system. As -your embedded system has a different processor, you need a -cross-compilation toolchain - a compilation toolchain that runs on -your host system but generates code for your target system (and -target processor). For example, if your host system uses x86 and your -target system uses ARM, the regular compilation toolchain on your host -runs on x86 and generates code for x86, while the cross-compilation -toolchain runs on x86 and generates code for ARM.

Buildroot provides two solutions for the cross-compilation toolchain:

  • -The internal toolchain backend, called Buildroot toolchain in - the configuration interface. -
  • -The external toolchain backend, called External toolchain in - the configuration interface. -

The choice between these two solutions is done using the Toolchain -Type option in the Toolchain menu. Once one solution has been -chosen, a number of configuration options appear, they are detailed in -the following sections.

6.1.1. Internal toolchain backend

The internal toolchain backend is the backend where Buildroot builds -by itself a cross-compilation toolchain, before building the userspace -applications and libraries for your target embedded system.

This backend supports several C libraries: -uClibc-ng, -glibc and -musl.

Once you have selected this backend, a number of options appear. The -most important ones allow to:

  • -Change the version of the Linux kernel headers used to build the - toolchain. This item deserves a few explanations. In the process of - building a cross-compilation toolchain, the C library is being - built. This library provides the interface between userspace - applications and the Linux kernel. In order to know how to "talk" - to the Linux kernel, the C library needs to have access to the - Linux kernel headers (i.e. the .h files from the kernel), which - define the interface between userspace and the kernel (system - calls, data structures, etc.). Since this interface is backward - compatible, the version of the Linux kernel headers used to build - your toolchain do not need to match exactly the version of the - Linux kernel you intend to run on your embedded system. They only - need to have a version equal or older to the version of the Linux - kernel you intend to run. If you use kernel headers that are more - recent than the Linux kernel you run on your embedded system, then - the C library might be using interfaces that are not provided by - your Linux kernel. -
  • -Change the version of the GCC compiler, binutils and the C library. -
  • -Select a number of toolchain options (uClibc only): whether the - toolchain should have RPC support (used mainly for NFS), - wide-char support, locale support (for internationalization), - C++ support or thread support. Depending on which options you choose, - the number of userspace applications and libraries visible in - Buildroot menus will change: many applications and libraries require - certain toolchain options to be enabled. Most packages show a comment - when a certain toolchain option is required to be able to enable - those packages. If needed, you can further refine the uClibc - configuration by running make uclibc-menuconfig. Note however that - all packages in Buildroot are tested against the default uClibc - configuration bundled in Buildroot: if you deviate from this - configuration by removing features from uClibc, some packages may no - longer build. -

It is worth noting that whenever one of those options is modified, -then the entire toolchain and system must be rebuilt. See -Section 8.2, “Understanding when a full rebuild is necessaryâ€.

Advantages of this backend:

  • -Well integrated with Buildroot -
  • -Fast, only builds what’s necessary -

Drawbacks of this backend:

  • -Rebuilding the toolchain is needed when doing make clean, which - takes time. If you’re trying to reduce your build time, consider - using the External toolchain backend. -

6.1.2. External toolchain backend

The external toolchain backend allows to use existing pre-built -cross-compilation toolchains. Buildroot knows about a number of -well-known cross-compilation toolchains (from -Linaro for ARM, -Sourcery -CodeBench for ARM, x86-64, PowerPC, and MIPS, and is capable of -downloading them automatically, or it can be pointed to a custom -toolchain, either available for download or installed locally.

Then, you have three solutions to use an external toolchain:

  • -Use a predefined external toolchain profile, and let Buildroot - download, extract and install the toolchain. Buildroot already knows - about a few CodeSourcery and Linaro toolchains. Just select the - toolchain profile in Toolchain from the available ones. This is - definitely the easiest solution. -
  • -Use a predefined external toolchain profile, but instead of having - Buildroot download and extract the toolchain, you can tell Buildroot - where your toolchain is already installed on your system. Just - select the toolchain profile in Toolchain through the available - ones, unselect Download toolchain automatically, and fill the - Toolchain path text entry with the path to your cross-compiling - toolchain. -
  • -Use a completely custom external toolchain. This is particularly - useful for toolchains generated using crosstool-NG or with Buildroot - itself. To do this, select the Custom toolchain solution in the - Toolchain list. You need to fill the Toolchain path, Toolchain - prefix and External toolchain C library options. Then, you have - to tell Buildroot what your external toolchain supports. If your - external toolchain uses the glibc library, you only have to tell - whether your toolchain supports C++ or not and whether it has - built-in RPC support. If your external toolchain uses the uClibc - library, then you have to tell Buildroot if it supports RPC, - wide-char, locale, program invocation, threads and C++. - At the beginning of the execution, Buildroot will tell you if - the selected options do not match the toolchain configuration. -

Our external toolchain support has been tested with toolchains from -CodeSourcery and Linaro, toolchains generated by -crosstool-NG, and toolchains generated by -Buildroot itself. In general, all toolchains that support the -sysroot feature should work. If not, do not hesitate to contact the -developers.

We do not support toolchains or SDK generated by OpenEmbedded or -Yocto, because these toolchains are not pure toolchains (i.e. just the -compiler, binutils, the C and C++ libraries). Instead these toolchains -come with a very large set of pre-compiled libraries and -programs. Therefore, Buildroot cannot import the sysroot of the -toolchain, as it would contain hundreds of megabytes of pre-compiled -libraries that are normally built by Buildroot.

We also do not support using the distribution toolchain (i.e. the -gcc/binutils/C library installed by your distribution) as the -toolchain to build software for the target. This is because your -distribution toolchain is not a "pure" toolchain (i.e. only with the -C/C++ library), so we cannot import it properly into the Buildroot -build environment. So even if you are building a system for a x86 or -x86_64 target, you have to generate a cross-compilation toolchain with -Buildroot or crosstool-NG.

If you want to generate a custom toolchain for your project, that can -be used as an external toolchain in Buildroot, our recommendation is -to build it either with Buildroot itself (see -Section 6.1.3, “Build an external toolchain with Buildrootâ€) or with -crosstool-NG.

Advantages of this backend:

  • -Allows to use well-known and well-tested cross-compilation - toolchains. -
  • -Avoids the build time of the cross-compilation toolchain, which is - often very significant in the overall build time of an embedded - Linux system. -

Drawbacks of this backend:

  • -If your pre-built external toolchain has a bug, may be hard to get a - fix from the toolchain vendor, unless you build your external - toolchain by yourself using Buildroot or Crosstool-NG. -

6.1.3. Build an external toolchain with Buildroot

The Buildroot internal toolchain option can be used to create an -external toolchain. Here are a series of steps to build an internal -toolchain and package it up for reuse by Buildroot itself (or other -projects).

Create a new Buildroot configuration, with the following details:

  • -Select the appropriate Target options for your target CPU - architecture -
  • -In the Toolchain menu, keep the default of Buildroot toolchain - for Toolchain type, and configure your toolchain as desired -
  • -In the System configuration menu, select None as the Init - system and none as /bin/sh -
  • -In the Target packages menu, disable BusyBox -
  • -In the Filesystem images menu, disable tar the root filesystem -

Then, we can trigger the build, and also ask Buildroot to generate a -SDK. This will conveniently generate for us a tarball which contains -our toolchain:

make sdk

This produces the SDK tarball in $(O)/images, with a name similar to -arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz. Save this -tarball, as it is now the toolchain that you can re-use as an external -toolchain in other Buildroot projects.

In those other Buildroot projects, in the Toolchain menu:

  • -Set Toolchain type to External toolchain -
  • -Set Toolchain to Custom toolchain -
  • -Set Toolchain origin to Toolchain to be downloaded and installed -
  • -Set Toolchain URL to file:///path/to/your/sdk/tarball.tar.gz -

External toolchain wrapper

When using an external toolchain, Buildroot generates a wrapper program, -that transparently passes the appropriate options (according to the -configuration) to the external toolchain programs. In case you need to -debug this wrapper to check exactly what arguments are passed, you can -set the environment variable BR2_DEBUG_WRAPPER to either one of:

  • -0, empty or not set: no debug -
  • -1: trace all arguments on a single line -
  • -2: trace one argument per line -

6.2. /dev management

On a Linux system, the /dev directory contains special files, called -device files, that allow userspace applications to access the -hardware devices managed by the Linux kernel. Without these device -files, your userspace applications would not be able to use the -hardware devices, even if they are properly recognized by the Linux -kernel.

Under System configuration, /dev management, Buildroot offers four -different solutions to handle the /dev directory :

  • -The first solution is Static using device table. This is the old - classical way of handling device files in Linux. With this method, - the device files are persistently stored in the root filesystem - (i.e. they persist across reboots), and there is nothing that will - automatically create and remove those device files when hardware - devices are added or removed from the system. Buildroot therefore - creates a standard set of device files using a device table, the - default one being stored in system/device_table_dev.txt in the - Buildroot source code. This file is processed when Buildroot - generates the final root filesystem image, and the device files - are therefore not visible in the output/target directory. The - BR2_ROOTFS_STATIC_DEVICE_TABLE option allows to change the - default device table used by Buildroot, or to add an additional - device table, so that additional device files are created by - Buildroot during the build. So, if you use this method, and a - device file is missing in your system, you can for example create - a board/<yourcompany>/<yourproject>/device_table_dev.txt file - that contains the description of your additional device files, - and then you can set BR2_ROOTFS_STATIC_DEVICE_TABLE to - system/device_table_dev.txt - board/<yourcompany>/<yourproject>/device_table_dev.txt. For more - details about the format of the device table file, see - Chapter 25, Makedev syntax documentation. -
  • -The second solution is Dynamic using devtmpfs only. devtmpfs is - a virtual filesystem inside the Linux kernel that has been - introduced in kernel 2.6.32 (if you use an older kernel, it is not - possible to use this option). When mounted in /dev, this virtual - filesystem will automatically make device files appear and - disappear as hardware devices are added and removed from the - system. This filesystem is not persistent across reboots: it is - filled dynamically by the kernel. Using devtmpfs requires the - following kernel configuration options to be enabled: - CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT. When Buildroot is in - charge of building the Linux kernel for your embedded device, it - makes sure that those two options are enabled. However, if you - build your Linux kernel outside of Buildroot, then it is your - responsibility to enable those two options (if you fail to do so, - your Buildroot system will not boot). -
  • -The third solution is Dynamic using devtmpfs + mdev. This method - also relies on the devtmpfs virtual filesystem detailed above (so - the requirement to have CONFIG_DEVTMPFS and - CONFIG_DEVTMPFS_MOUNT enabled in the kernel configuration still - apply), but adds the mdev userspace utility on top of it. mdev - is a program part of BusyBox that the kernel will call every time a - device is added or removed. Thanks to the /etc/mdev.conf - configuration file, mdev can be configured to for example, set - specific permissions or ownership on a device file, call a script - or application whenever a device appears or disappear, - etc. Basically, it allows userspace to react on device addition - and removal events. mdev can for example be used to automatically - load kernel modules when devices appear on the system. mdev is - also important if you have devices that require a firmware, as it - will be responsible for pushing the firmware contents to the - kernel. mdev is a lightweight implementation (with fewer - features) of udev. For more details about mdev and the syntax - of its configuration file, see - http://git.busybox.net/busybox/tree/docs/mdev.txt. -
  • -The fourth solution is Dynamic using devtmpfs + eudev. This - method also relies on the devtmpfs virtual filesystem detailed - above, but adds the eudev userspace daemon on top of it. eudev - is a daemon that runs in the background, and gets called by the - kernel when a device gets added or removed from the system. It is a - more heavyweight solution than mdev, but provides higher - flexibility. eudev is a standalone version of udev, the - original userspace daemon used in most desktop Linux distributions, - which is now part of Systemd. For more details, see - http://en.wikipedia.org/wiki/Udev. -

The Buildroot developers recommendation is to start with the Dynamic -using devtmpfs only solution, until you have the need for userspace -to be notified when devices are added/removed, or if firmwares are -needed, in which case Dynamic using devtmpfs + mdev is usually a -good solution.

Note that if systemd is chosen as init system, /dev management will -be performed by the udev program provided by systemd.

6.3. init system

The init program is the first userspace program started by the -kernel (it carries the PID number 1), and is responsible for starting -the userspace services and programs (for example: web server, -graphical applications, other network servers, etc.).

Buildroot allows to use three different types of init systems, which -can be chosen from System configuration, Init system:

  • -The first solution is BusyBox. Amongst many programs, BusyBox has - an implementation of a basic init program, which is sufficient - for most embedded systems. Enabling the BR2_INIT_BUSYBOX will - ensure BusyBox will build and install its init program. This is - the default solution in Buildroot. The BusyBox init program will - read the /etc/inittab file at boot to know what to do. The syntax - of this file can be found in - http://git.busybox.net/busybox/tree/examples/inittab (note that - BusyBox inittab syntax is special: do not use a random inittab - documentation from the Internet to learn about BusyBox - inittab). The default inittab in Buildroot is stored in - system/skeleton/etc/inittab. Apart from mounting a few important - filesystems, the main job the default inittab does is to start the - /etc/init.d/rcS shell script, and start a getty program (which - provides a login prompt). -
  • -The second solution is systemV. This solution uses the old - traditional sysvinit program, packed in Buildroot in - package/sysvinit. This was the solution used in most desktop - Linux distributions, until they switched to more recent - alternatives such as Upstart or Systemd. sysvinit also works with - an inittab file (which has a slightly different syntax than the - one from BusyBox). The default inittab installed with this init - solution is located in package/sysvinit/inittab. -
  • -The third solution is systemd. systemd is the new generation - init system for Linux. It does far more than traditional init - programs: aggressive parallelization capabilities, uses socket and - D-Bus activation for starting services, offers on-demand starting - of daemons, keeps track of processes using Linux control groups, - supports snapshotting and restoring of the system state, - etc. systemd will be useful on relatively complex embedded - systems, for example the ones requiring D-Bus and services - communicating between each other. It is worth noting that systemd - brings a fairly big number of large dependencies: dbus, udev - and more. For more details about systemd, see - http://www.freedesktop.org/wiki/Software/systemd. -

The solution recommended by Buildroot developers is to use the -BusyBox init as it is sufficient for most embedded -systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU -configure, where the host is the machine on which the application will -run (which is usually the same as target)

Chapter 7. Configuration of other components

Before attempting to modify any of the components below, make sure you -have already configured Buildroot itself, and have enabled the -corresponding package.

-BusyBox -

If you already have a BusyBox configuration file, you can directly -specify this file in the Buildroot configuration, using -BR2_PACKAGE_BUSYBOX_CONFIG. Otherwise, Buildroot will start from a -default BusyBox configuration file.

To make subsequent changes to the configuration, use make -busybox-menuconfig to open the BusyBox configuration editor.

It is also possible to specify a BusyBox configuration file through an -environment variable, although this is not recommended. Refer to -Section 8.6, “Environment variables†for more details.

-uClibc -
Configuration of uClibc is done in the same way as for BusyBox. The -configuration variable to specify an existing configuration file is -BR2_UCLIBC_CONFIG. The command to make subsequent changes is make -uclibc-menuconfig.
-Linux kernel -

If you already have a kernel configuration file, you can directly -specify this file in the Buildroot configuration, using -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG.

If you do not yet have a kernel configuration file, you can either start -by specifying a defconfig in the Buildroot configuration, using -BR2_LINUX_KERNEL_USE_DEFCONFIG, or start by creating an empty file and -specifying it as custom configuration file, using -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG.

To make subsequent changes to the configuration, use make -linux-menuconfig to open the Linux configuration editor.

-Barebox -
Configuration of Barebox is done in the same way as for the Linux -kernel. The corresponding configuration variables are -BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG and -BR2_TARGET_BAREBOX_USE_DEFCONFIG. To open the configuration editor, -use make barebox-menuconfig.
-U-Boot -
Configuration of U-Boot (version 2015.04 or newer) is done in the same -way as for the Linux kernel. The corresponding configuration variables -are BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG and -BR2_TARGET_UBOOT_USE_DEFCONFIG. To open the configuration editor, -use make uboot-menuconfig.

Chapter 8. General Buildroot usage

8.1. make tips

This is a collection of tips that help you make the most of Buildroot.

Display all commands executed by make:  -

 $ make V=1 <target>

-

Display the list of boards with a defconfig:  -

 $ make list-defconfigs

-

Display all available targets:  -

 $ make help

-

Not all targets are always available, -some settings in the .config file may hide some targets:

  • -busybox-menuconfig only works when busybox is enabled; -
  • -linux-menuconfig and linux-savedefconfig only work when - linux is enabled; -
  • -uclibc-menuconfig is only available when the uClibc C library is - selected in the internal toolchain backend; -
  • -barebox-menuconfig and barebox-savedefconfig only work when the - barebox bootloader is enabled. -
  • -uboot-menuconfig and uboot-savedefconfig only work when the - U-Boot bootloader is enabled. -

Cleaning: Explicit cleaning is required when any of the architecture or toolchain -configuration options are changed.

To delete all build products (including build directories, host, staging -and target trees, the images and the toolchain):

 $ make clean

Generating the manual: The present manual sources are located in the docs/manual directory. -To generate the manual:

 $ make manual-clean
- $ make manual

The manual outputs will be generated in output/docs/manual.

Notes

Resetting Buildroot for a new target: To delete all build products as well as the configuration:

 $ make distclean

Notes. If ccache is enabled, running make clean or distclean does -not empty the compiler cache used by Buildroot. To delete it, refer -to Section 8.14.3, “Using ccache in Buildrootâ€.

Dumping the internal make variables: One can dump the variables known to make, along with their values:

 $ make -s printvars VARS='VARIABLE1 VARIABLE2'
- VARIABLE1=value_of_variable
- VARIABLE2=value_of_variable

It is possible to tweak the output using some variables:

  • -VARS will limit the listing to variables which names match the - specified make-patterns - this must be set else nothing is printed -
  • -QUOTED_VARS, if set to YES, will single-quote the value -
  • -RAW_VARS, if set to YES, will print the unexpanded value -

For example:

 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES
- BUSYBOX_DEPENDENCIES=skeleton toolchain
- BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain
- BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain
- BUSYBOX_FINAL_PATCH_DEPENDENCIES=
- BUSYBOX_RDEPENDENCIES=ncurses util-linux
 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES
- BUSYBOX_DEPENDENCIES='skeleton toolchain'
- BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain'
- BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain'
- BUSYBOX_FINAL_PATCH_DEPENDENCIES=''
- BUSYBOX_RDEPENDENCIES='ncurses util-linux'
 $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES
- BUSYBOX_DEPENDENCIES=skeleton toolchain
- BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES))
- BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES))
- BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES))
- BUSYBOX_RDEPENDENCIES=ncurses util-linux

The output of quoted variables can be reused in shell scripts, for example:

 $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES)
- $ echo $BUSYBOX_DEPENDENCIES
- skeleton toolchain

8.2. Understanding when a full rebuild is necessary

Buildroot does not attempt to detect what parts of the system should -be rebuilt when the system configuration is changed through make -menuconfig, make xconfig or one of the other configuration -tools. In some cases, Buildroot should rebuild the entire system, in -some cases, only a specific subset of packages. But detecting this in -a completely reliable manner is very difficult, and therefore the -Buildroot developers have decided to simply not attempt to do this.

Instead, it is the responsibility of the user to know when a full -rebuild is necessary. As a hint, here are a few rules of thumb that -can help you understand how to work with Buildroot:

  • -When the target architecture configuration is changed, a complete - rebuild is needed. Changing the architecture variant, the binary - format or the floating point strategy for example has an impact on - the entire system. -
  • -When the toolchain configuration is changed, a complete rebuild - generally is needed. Changing the toolchain configuration often - involves changing the compiler version, the type of C library or - its configuration, or some other fundamental configuration item, - and these changes have an impact on the entire system. -
  • -When an additional package is added to the configuration, a full - rebuild is not necessarily needed. Buildroot will detect that this - package has never been built, and will build it. However, if this - package is a library that can optionally be used by packages that - have already been built, Buildroot will not automatically rebuild - those. Either you know which packages should be rebuilt, and you - can rebuild them manually, or you should do a full rebuild. For - example, let’s suppose you have built a system with the ctorrent - package, but without openssl. Your system works, but you realize - you would like to have SSL support in ctorrent, so you enable the - openssl package in Buildroot configuration and restart the - build. Buildroot will detect that openssl should be built and - will be build it, but it will not detect that ctorrent should be - rebuilt to benefit from openssl to add OpenSSL support. You will - either have to do a full rebuild, or rebuild ctorrent itself. -
  • -When a package is removed from the configuration, Buildroot does - not do anything special. It does not remove the files installed by - this package from the target root filesystem or from the toolchain - sysroot. A full rebuild is needed to get rid of this - package. However, generally you don’t necessarily need this package - to be removed right now: you can wait for the next lunch break to - restart the build from scratch. -
  • -When the sub-options of a package are changed, the package is not - automatically rebuilt. After making such changes, rebuilding only - this package is often sufficient, unless enabling the package - sub-option adds some features to the package that are useful for - another package which has already been built. Again, Buildroot does - not track when a package should be rebuilt: once a package has been - built, it is never rebuilt unless explicitly told to do so. -
  • -When a change to the root filesystem skeleton is made, a full - rebuild is needed. However, when changes to the root filesystem - overlay, a post-build script or a post-image script are made, - there is no need for a full rebuild: a simple make invocation - will take the changes into account. -
  • -When a package listed in FOO_DEPENDENCIES is rebuilt or removed, - the package foo is not automatically rebuilt. For example, if a - package bar is listed in FOO_DEPENDENCIES with FOO_DEPENDENCIES - = bar and the configuration of the bar package is changed, the - configuration change would not result in a rebuild of package foo - automatically. In this scenario, you may need to either rebuild any - packages in your build which reference bar in their DEPENDENCIES, - or perform a full rebuild to ensure any bar dependent packages are - up to date. -

Generally speaking, when you’re facing a build error and you’re unsure -of the potential consequences of the configuration changes you’ve -made, do a full rebuild. If you get the same build error, then you are -sure that the error is not related to partial rebuilds of packages, -and if this error occurs with packages from the official Buildroot, do -not hesitate to report the problem! As your experience with Buildroot -progresses, you will progressively learn when a full rebuild is really -necessary, and you will save more and more time.

For reference, a full rebuild is achieved by running:

$ make clean all

8.3. Understanding how to rebuild packages

One of the most common questions asked by Buildroot users is how to -rebuild a given package or how to remove a package without rebuilding -everything from scratch.

Removing a package is unsupported by Buildroot without -rebuilding from scratch. This is because Buildroot doesn’t keep track -of which package installs what files in the output/staging and -output/target directories, or which package would be compiled differently -depending on the availability of another package.

The easiest way to rebuild a single package from scratch is to remove -its build directory in output/build. Buildroot will then re-extract, -re-configure, re-compile and re-install this package from scratch. You -can ask buildroot to do this with the make <package>-dirclean command.

On the other hand, if you only want to restart the build process of a -package from its compilation step, you can run make <package>-rebuild. It -will restart the compilation and installation of the package, but not from -scratch: it basically re-executes make and make install inside the package, -so it will only rebuild files that changed.

If you want to restart the build process of a package from its configuration -step, you can run make <package>-reconfigure. It will restart the -configuration, compilation and installation of the package.

While <package>-rebuild implies <package>-reinstall and -<package>-reconfigure implies <package>-rebuild, these targets as well -as <package> only act on the said package, and do not trigger re-creating -the root filesystem image. If re-creating the root filesystem in necessary, -one should in addition run make or make all.

Internally, Buildroot creates so-called stamp files to keep track of -which build steps have been completed for each package. They are -stored in the package build directory, -output/build/<package>-<version>/ and are named -.stamp_<step-name>. The commands detailed above simply manipulate -these stamp files to force Buildroot to restart a specific set of -steps of a package build process.

Further details about package special make targets are explained in -Section 8.14.5, “Package-specific make targetsâ€.

8.4. 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.

8.5. 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=<directory> 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 <target>

8.6. 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/.config>, 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/.config>, 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 - Section 8.14.4, “Location of downloaded packages†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 - Section 8.9, “Graphing the dependencies between packages†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 - Section 8.11, “Graphing the filesystem size contribution of packages†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

8.7. 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.

8.8. Details about packages

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

8.9. Graphing the dependencies between packages

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 <pkg>-graph-depends

You will find the generated graph in -output/graph/<pkg>-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

8.10. Graphing the build 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

8.11. 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 Section 8.9, “Graphing the dependencies between packages†-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

8.12. 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:

  1. -Enable the option BR2_PER_PACKAGE_DIRECTORIES in the Buildroot -configuration -
  2. -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/<pkg>/target/ and - $(O)/per-package/<pkg>/host/ respectively. Those folders will be - populated from the corresponding folders of the package dependencies - at the beginning of <pkg> build. The compiler and all other tools - will therefore only be able to see and access files installed by - dependencies explicitly listed by <pkg>. -
  • -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. -

8.13. Integration with Eclipse

While a part of the embedded Linux developers like classical text -editors like Vim or Emacs, and command-line based interfaces, a number -of other embedded Linux developers like richer graphical interfaces to -do their development work. Eclipse being one of the most popular -Integrated Development Environment, Buildroot integrates with Eclipse -in order to ease the development work of Eclipse users.

Our integration with Eclipse simplifies the compilation, remote -execution and remote debugging of applications and libraries that are -built on top of a Buildroot system. It does not integrate the -Buildroot configuration and build processes themselves with -Eclipse. Therefore, the typical usage model of our Eclipse integration -would be:

  • -Configure your Buildroot system with make menuconfig, make - xconfig or any other configuration interface provided with - Buildroot. -
  • -Build your Buildroot system by running make. -
  • -Start Eclipse to develop, execute and debug your own custom - applications and libraries, that will rely on the libraries built - and installed by Buildroot. -

The Buildroot Eclipse integration installation process and usage is -described in detail at -https://github.com/mbats/eclipse-buildroot-bundle/wiki.

8.14. Advanced usage

8.14.1. Using the generated toolchain outside Buildroot

You may want to compile, for your target, your own programs or other -software that are not packaged in Buildroot. In order to do this you -can use the toolchain that was generated by Buildroot.

The toolchain generated by Buildroot is located by default in -output/host/. The simplest way to use it is to add -output/host/bin/ to your PATH environment variable and then to -use ARCH-linux-gcc, ARCH-linux-objdump, ARCH-linux-ld, etc.

Alternatively, Buildroot can also export the toolchain and the development -files of all selected packages, as an SDK, by running the command -make sdk. This generates a tarball of the content of the host directory -output/host/, named <TARGET-TUPLE>_sdk-buildroot.tar.gz (which can be -overriden by setting the environment variable BR2_SDK_PREFIX) and -located in the output directory output/images/.

This tarball can then be distributed to application developers, when -they want to develop their applications that are not (yet) packaged as -a Buildroot package.

Upon extracting the SDK tarball, the user must run the script -relocate-sdk.sh (located at the top directory of the SDK), to make -sure all paths are updated with the new location.

Alternatively, if you just want to prepare the SDK without generating -the tarball (e.g. because you will just be moving the host directory, -or will be generating the tarball on your own), Buildroot also allows -you to just prepare the SDK with make prepare-sdk without actually -generating a tarball.

For your convenience, by selecting the option -BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a -environment-setup script installed in output/host/ and therefore -in your SDK. This script can be sourced with -. your/sdk/path/environment-setup to export a number of environment -variables that will help cross-compile your projects using the -Buildroot SDK: the PATH will contain the SDK binaries, standard -autotools variables will be defined with the appropriate values, and -CONFIGURE_FLAGS will contain basic ./configure options to -cross-compile autotools projects. It also provides some useful -commands. Note however that once this script is sourced, the -environment is setup only for cross-compilation, and no longer for -native compilation.

8.14.2. Using gdb in Buildroot

Buildroot allows to do cross-debugging, where the debugger runs on the -build machine and communicates with gdbserver on the target to -control the execution of the program.

To achieve this:

  • -If you are using an internal toolchain (built by Buildroot), you - must enable BR2_PACKAGE_HOST_GDB, BR2_PACKAGE_GDB and - BR2_PACKAGE_GDB_SERVER. This ensures that both the cross gdb and - gdbserver get built, and that gdbserver gets installed to your target. -
  • -If you are using an external toolchain, you should enable - BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY, which will copy the - gdbserver included with the external toolchain to the target. If your - external toolchain does not have a cross gdb or gdbserver, it is also - possible to let Buildroot build them, by enabling the same options as - for the internal toolchain backend. -

Now, to start debugging a program called foo, you should run on the -target:

gdbserver :2345 foo

This will cause gdbserver to listen on TCP port 2345 for a connection -from the cross gdb.

Then, on the host, you should start the cross gdb using the following -command line:

<buildroot>/output/host/bin/<tuple>-gdb -ix <buildroot>/output/staging/usr/share/buildroot/gdbinit foo

Of course, foo must be available in the current directory, built -with debugging symbols. Typically you start this command from the -directory where foo is built (and not from output/target/ as the -binaries in that directory are stripped).

The <buildroot>/output/staging/usr/share/buildroot/gdbinit file will tell the -cross gdb where to find the libraries of the target.

Finally, to connect to the target from the cross gdb:

(gdb) target remote <target ip address>:2345

8.14.3. Using ccache in Buildroot

ccache is a compiler cache. It stores the -object files resulting from each compilation process, and is able to -skip future compilation of the same source file (with same compiler -and same arguments) by using the pre-existing object files. When doing -almost identical builds from scratch a number of times, it can nicely -speed up the build process.

ccache support is integrated in Buildroot. You just have to enable -Enable compiler cache in Build options. This will automatically -build ccache and use it for every host and target compilation.

The cache is located in $HOME/.buildroot-ccache. It is stored -outside of Buildroot output directory so that it can be shared by -separate Buildroot builds. If you want to get rid of the cache, simply -remove this directory.

You can get statistics on the cache (its size, number of hits, -misses, etc.) by running make ccache-stats.

The make target ccache-options and the CCACHE_OPTIONS variable -provide more generic access to the ccache. For example

# set cache limit size
-make CCACHE_OPTIONS="--max-size=5G" ccache-options
-
-# zero statistics counters
-make CCACHE_OPTIONS="--zero-stats" ccache-options

ccache makes a hash of the source files and of the compiler options. -If a compiler option is different, the cached object file will not be -used. Many compiler options, however, contain an absolute path to the -staging directory. Because of this, building in a different output -directory would lead to many cache misses.

To avoid this issue, buildroot has the Use relative paths option -(BR2_CCACHE_USE_BASEDIR). This will rewrite all absolute paths that -point inside the output directory into relative paths. Thus, changing -the output directory no longer leads to cache misses.

A disadvantage of the relative paths is that they also end up to be -relative paths in the object file. Therefore, for example, the debugger -will no longer find the file, unless you cd to the output directory -first.

See the -ccache manual’s section on "Compiling in different directories" for -more details about this rewriting of absolute paths.

8.14.4. Location of downloaded packages

The various tarballs that are downloaded by Buildroot are all stored -in BR2_DL_DIR, which by default is the dl directory. If you want -to keep a complete version of Buildroot which is known to be working -with the associated tarballs, you can make a copy of this directory. -This will allow you to regenerate the toolchain and the target -filesystem with exactly the same versions.

If you maintain several Buildroot trees, it might be better to have a -shared download location. This can be achieved by pointing the -BR2_DL_DIR environment variable to a directory. If this is -set, then the value of BR2_DL_DIR in the Buildroot configuration is -overridden. The following line should be added to <~/.bashrc>.

 export BR2_DL_DIR=<shared download location>

The download location can also be set in the .config file, with the -BR2_DL_DIR option. Unlike most options in the .config file, this value -is overridden by the BR2_DL_DIR environment variable.

8.14.5. Package-specific make targets

Running make <package> builds and installs that particular package -and its dependencies.

For packages relying on the Buildroot infrastructure, there are -numerous special make targets that can be called independently like -this:

make <package>-<target>

The package build targets are (in the order they are executed):

command/target Description

source

Fetch the source (download the tarball, clone -the source repository, etc)

depends

Build and install all dependencies required to -build the package

extract

Put the source in the package build directory -(extract the tarball, copy the source, etc)

patch

Apply the patches, if any

configure

Run the configure commands, if any

build

Run the compilation commands

install-staging

target package: Run the installation of the package in the -staging directory, if necessary

install-target

target package: Run the installation of the package in the -target directory, if necessary

install

target package: Run the 2 previous installation commands

-

host package: Run the installation of the package in the host -directory

Additionally, there are some other useful make targets:

command/target Description

show-depends

Displays the first-order dependencies required to build the -package

show-recursive-depends

Recursively displays the dependencies - required to build the package

show-rdepends

Displays the first-order reverse dependencies of - the package (i.e packages that directly depend on it)

show-recursive-rdepends

Recursively displays the reverse - dependencies of the package (i.e the packages that depend on it, - directly or indirectly)

graph-depends

Generate a dependency graph of the package, in the -context of the current Buildroot configuration. See -this section for more details about dependency -graphs.

graph-rdepends

Generate a graph of this package reverse - dependencies (i.e the packages that depend on it, directly or - indirectly)

dirclean

Remove the whole package build directory

reinstall

Re-run the install commands

rebuild

Re-run the compilation commands - this only makes -sense when using the OVERRIDE_SRCDIR feature or when you modified a file -directly in the build directory

reconfigure

Re-run the configure commands, then rebuild - this only -makes sense when using the OVERRIDE_SRCDIR feature or when you modified a -file directly in the build directory

8.14.6. Using Buildroot during development

The normal operation of Buildroot is to download a tarball, extract -it, configure, compile and install the software component found inside -this tarball. The source code is extracted in -output/build/<package>-<version>, which is a temporary directory: -whenever make clean is used, this directory is entirely removed, and -re-created at the next make invocation. Even when a Git or -Subversion repository is used as the input for the package source -code, Buildroot creates a tarball out of it, and then behaves as it -normally does with tarballs.

This behavior is well-suited when Buildroot is used mainly as an -integration tool, to build and integrate all the components of an -embedded Linux system. However, if one uses Buildroot during the -development of certain components of the system, this behavior is not -very convenient: one would instead like to make a small change to the -source code of one package, and be able to quickly rebuild the system -with Buildroot.

Making changes directly in output/build/<package>-<version> is not -an appropriate solution, because this directory is removed on make -clean.

Therefore, Buildroot provides a specific mechanism for this use case: -the <pkg>_OVERRIDE_SRCDIR mechanism. Buildroot reads an override -file, which allows the user to tell Buildroot the location of the -source for certain packages.

The default location of the override file is $(CONFIG_DIR)/local.mk, -as defined by the BR2_PACKAGE_OVERRIDE_FILE configuration option. -$(CONFIG_DIR) is the location of the Buildroot .config file, so -local.mk by default lives side-by-side with the .config file, -which means:

  • -In the top-level Buildroot source directory for in-tree builds - (i.e., when O= is not used) -
  • -In the out-of-tree directory for out-of-tree builds (i.e., when - O= is used) -

If a different location than these defaults is required, it can be -specified through the BR2_PACKAGE_OVERRIDE_FILE configuration -option.

In this override file, Buildroot expects to find lines of the form:

<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
-<pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources

For example:

LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
-BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/

When Buildroot finds that for a given package, an -<pkg>_OVERRIDE_SRCDIR has been defined, it will no longer attempt to -download, extract and patch the package. Instead, it will directly use -the source code available in the specified directory and make clean -will not touch this directory. This allows to point Buildroot to your -own directories, that can be managed by Git, Subversion, or any other -version control system. To achieve this, Buildroot will use rsync to -copy the source code of the component from the specified -<pkg>_OVERRIDE_SRCDIR to output/build/<package>-custom/.

This mechanism is best used in conjunction with the make -<pkg>-rebuild and make <pkg>-reconfigure targets. A make -<pkg>-rebuild all sequence will rsync the source code from -<pkg>_OVERRIDE_SRCDIR to output/build/<package>-custom (thanks to -rsync, only the modified files are copied), and restart the build -process of just this package.

In the example of the linux package above, the developer can then -make a source code change in /home/bob/linux and then run:

make linux-rebuild all

and in a matter of seconds gets the updated Linux kernel image in -output/images. Similarly, a change can be made to the BusyBox source -code in /home/bob/busybox, and after:

make busybox-rebuild all

the root filesystem image in output/images contains the updated -BusyBox.

Source trees for big projects often contain hundreds or thousands of -files which are not needed for building, but will slow down the process -of copying the sources with rsync. Optionally, it is possible define -<pkg>_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS to skip syncing certain files -from the source tree. For example, when working on the webkitgtk -package, the following will exclude the tests and in-tree builds from -a local WebKit source tree:

WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit
-WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \
-        --exclude JSTests --exclude ManualTests --exclude PerformanceTests \
-        --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \
-        --exclude WebKit.xcworkspace --exclude Websites --exclude Examples

By default, Buildroot skips syncing of VCS artifacts (e.g., the .git and -.svn directories). Some packages prefer to have these VCS directories -available during build, for example for automatically determining a precise -commit reference for version information. To undo this built-in filtering at a -cost of a slower speed, add these directories back:

LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git

Chapter 9. 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!

9.1. Recommended directory structure

When customizing Buildroot for your project, you will be creating one or -more project-specific files that need to be stored somewhere. While most -of these files could be placed in any location as their path is to be -specified in the Buildroot configuration, the Buildroot developers -recommend a specific directory structure which is described in this -section.

Orthogonal to this directory structure, you can choose where you place -this structure itself: either inside the Buildroot tree, or outside of -it using a br2-external tree. Both options are valid, the choice is up -to you.

+-- board/
-|   +-- <company>/
-|       +-- <boardname>/
-|           +-- linux.config
-|           +-- busybox.config
-|           +-- <other configuration files>
-|           +-- post_build.sh
-|           +-- post_image.sh
-|           +-- rootfs_overlay/
-|           |   +-- etc/
-|           |   +-- <some file>
-|           +-- patches/
-|               +-- foo/
-|               |   +-- <some patch>
-|               +-- libbar/
-|                   +-- <some other patches>
-|
-+-- configs/
-|   +-- <boardname>_defconfig
-|
-+-- package/
-|   +-- <company>/
-|       +-- Config.in (if not using a br2-external tree)
-|       +-- <company>.mk (if not using a br2-external tree)
-|       +-- package1/
-|       |    +-- Config.in
-|       |    +-- package1.mk
-|       +-- package2/
-|           +-- Config.in
-|           +-- package2.mk
-|
-+-- Config.in (if using a br2-external tree)
-+-- external.mk (if using a br2-external tree)
-+-- external.desc (if using a br2-external tree)

Details on the files shown above are given further in this chapter.

Note: if you choose to place this structure outside of the Buildroot -tree but in a br2-external tree, the <company> and possibly <boardname> -components may be superfluous and can be left out.

9.1.1. Implementing layered customizations

It is quite common for a user to have several related projects that partly -need the same customizations. Instead of duplicating these -customizations for each project, it is recommended to use a layered -customization approach, as explained in this section.

Almost all of the customization methods available in Buildroot, like -post-build scripts and root filesystem overlays, accept a -space-separated list of items. The specified items are always treated in -order, from left to right. By creating more than one such item, one for -the common customizations and another one for the really -project-specific customizations, you can avoid unnecessary duplication. -Each layer is typically embodied by a separate directory inside -board/<company>/. Depending on your projects, you could even introduce -more than two layers.

An example directory structure for where a user has two customization -layers common and fooboard is:

+-- board/
-    +-- <company>/
-        +-- common/
-        |   +-- post_build.sh
-        |   +-- rootfs_overlay/
-        |   |   +-- ...
-        |   +-- patches/
-        |       +-- ...
-        |
-        +-- fooboard/
-            +-- linux.config
-            +-- busybox.config
-            +-- <other configuration files>
-            +-- post_build.sh
-            +-- rootfs_overlay/
-            |   +-- ...
-            +-- patches/
-                +-- ...

For example, if the user has the BR2_GLOBAL_PATCH_DIR configuration -option set as:

BR2_GLOBAL_PATCH_DIR="board/<company>/common/patches board/<company>/fooboard/patches"

then first the patches from the common layer would be applied, -followed by the patches from the fooboard layer.

9.2. Keeping customizations outside of Buildroot

As already briefly mentioned in Section 9.1, “Recommended directory structureâ€, you can -place project-specific customizations in two locations:

  • -directly within the Buildroot tree, typically maintaining them using - branches in a version control system so that upgrading to a newer - Buildroot release is easy. -
  • -outside of the Buildroot tree, using the br2-external mechanism. - This mechanism allows to keep package recipes, board support and - configuration files outside of the Buildroot tree, while still - having them nicely integrated in the build logic. We call this - location a br2-external tree. This section explains how to use - the br2-external mechanism and what to provide in a br2-external - tree. -

One can tell Buildroot to use one or more br2-external trees by setting -the BR2_EXTERNAL make variable set to the path(s) of the br2-external -tree(s) to use. It can be passed to any Buildroot make invocation. It -is automatically saved in the hidden .br2-external.mk file in the output -directory. Thanks to this, there is no need to pass BR2_EXTERNAL at -every make invocation. It can however be changed at any time by -passing a new value, and can be removed by passing an empty value.

Note. The path to a br2-external tree can be either absolute or relative. -If it is passed as a relative path, it is important to note that it is -interpreted relative to the main Buildroot source directory, not to -the Buildroot output directory.

Note: If using an br2-external tree from before Buildroot 2016.11, you need to -convert it before you can use it with Buildroot 2016.11 onward. See -Section 27.2, “Migrating to 2016.11†for help on doing so.

Some examples:

buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig

From now on, definitions from the /path/to/foo br2-external tree -will be used:

buildroot/ $ make
-buildroot/ $ make legal-info

We can switch to another br2-external tree at any time:

buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig

We can also use multiple br2-external trees:

buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig

Or disable the usage of any br2-external tree:

buildroot/ $ make BR2_EXTERNAL= xconfig

9.2.1. Layout of a br2-external tree

A br2-external tree must contain at least those three files, described -in the following chapters:

  • -external.desc -
  • -external.mk -
  • -Config.in -

Apart from those mandatory files, there may be additional and optional -content that may be present in a br2-external tree, like the configs/ -or provides/ directories. They are described in the following chapters -as well.

A complete example br2-external tree layout is also described later.

The external.desc file

That file describes the br2-external tree: the name and description -for that br2-external tree.

The format for this file is line based, with each line starting by a -keyword, followed by a colon and one or more spaces, followed by the -value assigned to that keyword. There are two keywords currently -recognised:

  • -name, mandatory, defines the name for that br2-external tree. That - name must only use ASCII characters in the set [A-Za-z0-9_]; any - other character is forbidden. Buildroot sets the variable - BR2_EXTERNAL_$(NAME)_PATH to the absolute path of the br2-external - tree, so that you can use it to refer to your br2-external tree. This - variable is available both in Kconfig, so you can use it to source your - Kconfig files (see below) and in the Makefile, so that you can use it - to include other Makefiles (see below) or refer to other files (like - data files) from your br2-external tree. -

    Note: Since it is possible to use multiple br2-external trees at once, this - name is used by Buildroot to generate variables for each of those trees. - That name is used to identify your br2-external tree, so try to come up - with a name that really describes your br2-external tree, in order for - it to be relatively unique, so that it does not clash with another name - from another br2-external tree, especially if you are planning on - somehow sharing your br2-external tree with third parties or using - br2-external trees from third parties.

  • -desc, optional, provides a short description for that br2-external - tree. It shall fit on a single line, is mostly free-form (see below), - and is used when displaying information about a br2-external tree (e.g. - above the list of defconfig files, or as the prompt in the menuconfig); - as such, it should relatively brief (40 chars is probably a good upper - limit). The description is available in the BR2_EXTERNAL_$(NAME)_DESC - variable. -

Examples of names and the corresponding BR2_EXTERNAL_$(NAME)_PATH -variables:

  • -FOO → BR2_EXTERNAL_FOO_PATH -
  • -BAR_42 → BR2_EXTERNAL_BAR_42_PATH -

In the following examples, it is assumed the name to be set to BAR_42.

Note: Both BR2_EXTERNAL_$(NAME)_PATH and BR2_EXTERNAL_$(NAME)_DESC are - available in the Kconfig files and the Makefiles. They are also - exported in the environment so are available in post-build, post-image - and in-fakeroot scripts.

The Config.in and external.mk files

Those files (which may each be empty) can be used to define package -recipes (i.e. foo/Config.in and foo/foo.mk like for packages bundled -in Buildroot itself) or other custom configuration options or make logic.

Buildroot automatically includes the Config.in from each br2-external -tree to make it appear in the top-level configuration menu, and includes -the external.mk from each br2-external tree with the rest of the -makefile logic.

The main usage of this is to store package recipes. The recommended way -to do this is to write a Config.in file that looks like:

source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in"
-source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in"

Then, have an external.mk file that looks like:

include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))

And then in $(BR2_EXTERNAL_BAR_42_PATH)/package/package1 and -$(BR2_EXTERNAL_BAR_42_PATH)/package/package2 create normal -Buildroot package recipes, as explained in Chapter 18, Adding new packages to Buildroot. -If you prefer, you can also group the packages in subdirectories -called <boardname> and adapt the above paths accordingly.

You can also define custom configuration options in Config.in and -custom make logic in external.mk.

The configs/ directory

One can store Buildroot defconfigs in the configs subdirectory of -the br2-external tree. Buildroot will automatically show them in the -output of make list-defconfigs and allow them to be loaded with the -normal make <name>_defconfig command. They will be visible in the -make list-defconfigs output, below an External configs label that -contains the name of the br2-external tree they are defined in.

Note: If a defconfig file is present in more than one br2-external tree, then -the one from the last br2-external tree is used. It is thus possible -to override a defconfig bundled in Buildroot or another br2-external -tree.

The provides/ directory

For some packages, Buildroot provides a choice between two (or more) -implementations of API-compatible such packages. For example, there is -a choice to choose either libjpeg ot jpeg-turbo; there is one between -openssl or libressl; there is one to select one of the known, -pre-configured toolchains…

It is possible for a br2-external to extend those choices, by providing -a set of files that define those alternatives:

  • -provides/toolchains.in defines the pre-configured toolchains, which - will then be listed in the toolchain selection; -
  • -provides/jpeg.in defines the alternative libjpeg implementations; -
  • -provides/openssl.in defines the alternative openssl implementations; -
  • -provides/skeleton.in defines the alternative skeleton implementations; -
  • -provides/init.in defines the alternative init system implementations, this - can be used to select a default skeleton for your init. -

Free-form content

One can store all the board-specific configuration files there, such -as the kernel configuration, the root filesystem overlay, or any other -configuration file for which Buildroot allows to set the location (by -using the BR2_EXTERNAL_$(NAME)_PATH variable). For example, you -could set the paths to a global patch directory, to a rootfs overlay -and to the kernel configuration file as follows (e.g. by running -make menuconfig and filling in these options):

BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/
-BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board/<boardname>/overlay/
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board/<boardname>/kernel.config

Additional Linux kernel extensions

Additional Linux kernel extensions (see Section 18.21.2, “linux-kernel-extensionsâ€) can -be added by storing them in the linux/ directory at the root of a -br2-external tree.

Example layout

Here is an example layout using all features of br2-external (the sample -content is shown for the file above it, when it is relevant to explain -the br2-external tree; this is all entirely made up just for the sake of -illustration, of course):

/path/to/br2-ext-tree/
-  |- external.desc
-  |     |name: BAR_42
-  |     |desc: Example br2-external tree
-  |     `----
-  |
-  |- Config.in
-  |     |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options"
-  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in"
-  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in"
-  |     |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in"
-  |     |
-  |     |config BAR_42_FLASH_ADDR
-  |     |    hex "my-board flash address"
-  |     |    default 0x10AD
-  |     `----
-  |
-  |- external.mk
-  |     |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))
-  |     |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/toolchain/*/*.mk))
-  |     |
-  |     |flash-my-board:
-  |     |    $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \
-  |     |        --image $(BINARIES_DIR)/image.bin \
-  |     |        --address $(BAR_42_FLASH_ADDR)
-  |     `----
-  |
-  |- package/pkg-1/Config.in
-  |     |config BR2_PACKAGE_PKG_1
-  |     |    bool "pkg-1"
-  |     |    help
-  |     |      Some help about pkg-1
-  |     `----
-  |- package/pkg-1/pkg-1.hash
-  |- package/pkg-1/pkg-1.mk
-  |     |PKG_1_VERSION = 1.2.3
-  |     |PKG_1_SITE = /some/where/to/get/pkg-1
-  |     |PKG_1_LICENSE = blabla
-  |     |
-  |     |define PKG_1_INSTALL_INIT_SYSV
-  |     |    $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \
-  |     |                          $(TARGET_DIR)/etc/init.d/S99my-daemon
-  |     |endef
-  |     |
-  |     |$(eval $(autotools-package))
-  |     `----
-  |- package/pkg-1/S99my-daemon
-  |
-  |- package/pkg-2/Config.in
-  |- package/pkg-2/pkg-2.hash
-  |- package/pkg-2/pkg-2.mk
-  |
-  |- provides/jpeg.in
-  |     |config BR2_PACKAGE_MY_JPEG
-  |     |    bool "my-jpeg"
-  |     `----
-  |- package/my-jpeg/Config.in
-  |     |config BR2_PACKAGE_PROVIDES_JPEG
-  |     |    default "my-jpeg" if BR2_PACKAGE_MY_JPEG
-  |     `----
-  |- package/my-jpeg/my-jpeg.mk
-  |     |# This is a normal package .mk file
-  |     |MY_JPEG_VERSION = 1.2.3
-  |     |MY_JPEG_SITE = https://example.net/some/place
-  |     |MY_JPEG_PROVIDES = jpeg
-  |     |$(eval $(autotools-package))
-  |     `----
-  |
-  |- provides/init.in
-  |     |config BR2_INIT_MINE
-  |     |    bool "my custom init"
-  |     |    select BR2_PACKAGE_MY_INIT
-  |     |    select BR2_PACKAGE_SKELETON_INIT_MINE if BR2_ROOTFS_SKELETON_DEFAULT
-  |     `----
-  |
-  |- provides/skeleton.in
-  |     |config BR2_ROOTFS_SKELETON_MINE
-  |     |    bool "my custom skeleton"
-  |     |    select BR2_PACKAGE_SKELETON_MINE
-  |     `----
-  |- package/skeleton-mine/Config.in
-  |     |config BR2_PACKAGE_SKELETON_MINE
-  |     |    bool
-  |     |    select BR2_PACKAGE_HAS_SKELETON
-  |     |
-  |     |config BR2_PACKAGE_PROVIDES_SKELETON
-  |     |    default "skeleton-mine" if BR2_PACKAGE_SKELETON_MINE
-  |     `----
-  |- package/skeleton-mine/skeleton-mine.mk
-  |     |SKELETON_MINE_ADD_TOOLCHAIN_DEPENDENCY = NO
-  |     |SKELETON_MINE_ADD_SKELETON_DEPENDENCY = NO
-  |     |SKELETON_MINE_PROVIDES = skeleton
-  |     |SKELETON_MINE_INSTALL_STAGING = YES
-  |     |$(eval $(generic-package))
-  |     `----
-  |
-  |- provides/toolchains.in
-  |     |config BR2_TOOLCHAIN_EXTERNAL_MINE
-  |     |    bool "my custom toolchain"
-  |     |    depends on BR2_some_arch
-  |     |    select BR2_INSTALL_LIBSTDCPP
-  |     `----
-  |- toolchain/toolchain-external-mine/Config.in.options
-  |     |if BR2_TOOLCHAIN_EXTERNAL_MINE
-  |     |config BR2_TOOLCHAIN_EXTERNAL_PREFIX
-  |     |    default "arch-mine-linux-gnu"
-  |     |config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
-  |     |    default "toolchain-external-mine"
-  |     |endif
-  |     `----
-  |- toolchain/toolchain-external-mine/toolchain-external-mine.mk
-  |     |TOOLCHAIN_EXTERNAL_MINE_SITE = https://example.net/some/place
-  |     |TOOLCHAIN_EXTERNAL_MINE_SOURCE = my-toolchain.tar.gz
-  |     |$(eval $(toolchain-external-package))
-  |     `----
-  |
-  |- linux/Config.ext.in
-  |     |config BR2_LINUX_KERNEL_EXT_EXAMPLE_DRIVER
-  |     |    bool "example-external-driver"
-  |     |    help
-  |     |      Example external driver
-  |     |---
-  |- linux/linux-ext-example-driver.mk
-  |
-  |- configs/my-board_defconfig
-  |     |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/"
-  |     |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/"
-  |     |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh"
-  |     |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config"
-  |     `----
-  |
-  |- patches/linux/0001-some-change.patch
-  |- patches/linux/0002-some-other-change.patch
-  |- patches/busybox/0001-fix-something.patch
-  |
-  |- board/my-board/kernel.config
-  |- board/my-board/overlay/var/www/index.html
-  |- board/my-board/overlay/var/www/my.css
-  |- board/my-board/flash-image
-  `- board/my-board/post-image.sh
-        |#!/bin/sh
-        |generate-my-binary-image \
-        |    --root ${BINARIES_DIR}/rootfs.tar \
-        |    --kernel ${BINARIES_DIR}/zImage \
-        |    --dtb ${BINARIES_DIR}/my-board.dtb \
-        |    --output ${BINARIES_DIR}/image.bin
-        `----

The br2-external tree will then be visible in the menuconfig (with -the layout expanded):

External options  --->
-    *** Example br2-external tree (in /path/to/br2-ext-tree/)
-    [ ] pkg-1
-    [ ] pkg-2
-    (0x10AD) my-board flash address

If you are using more than one br2-external tree, it would look like -(with the layout expanded and the second one with name FOO_27 but no -desc: field in external.desc):

External options  --->
-    Example br2-external tree  --->
-        *** Example br2-external tree (in /path/to/br2-ext-tree)
-        [ ] pkg-1
-        [ ] pkg-2
-        (0x10AD) my-board flash address
-    FOO_27  --->
-        *** FOO_27 (in /path/to/another-br2-ext)
-        [ ] foo
-        [ ] bar

Additionally, the jpeg provider will be visible in the jpeg choice:

Target packages  --->
-    Libraries  --->
-        Graphics  --->
-            [*] jpeg support
-                jpeg variant ()  --->
-                    ( ) jpeg
-                    ( ) jpeg-turbo
-                        *** jpeg from: Example br2-external tree ***
-                    (X) my-jpeg
-                        *** jpeg from: FOO_27 ***
-                    ( ) another-jpeg

And similarly for the toolchains:

Toolchain  --->
-    Toolchain ()  --->
-        ( ) Custom toolchain
-            *** Toolchains from: Example br2-external tree ***
-        (X) my custom toolchain

Note. The toolchain options in toolchain/toolchain-external-mine/Config.in.options -will not appear in the Toolchain menu. They must be explicitly included -from within the br2-external’s top-level Config.in and will thus appear -in the External options menu.

9.3. Storing the Buildroot configuration

The Buildroot configuration can be stored using the command - make savedefconfig.

This strips the Buildroot configuration down by removing configuration -options that are at their default value. The result is stored in a file -called defconfig. If you want to save it in another place, change the -BR2_DEFCONFIG option in the Buildroot configuration itself, or call -make with make savedefconfig BR2_DEFCONFIG=<path-to-defconfig>.

The recommended place to store this defconfig is -configs/<boardname>_defconfig. If you follow this recommendation, the -configuration will be listed in make help and can be set again by -running make <boardname>_defconfig.

Alternatively, you can copy the file to any other place and rebuild with -make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>.

9.4. Storing the configuration of other components

The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot -and uClibc should be stored as well if changed. For each of these -components, a Buildroot configuration option exists to point to an input -configuration file, e.g. BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. To store -their configuration, set these configuration options to a path where you -want to save the configuration files, and then use the helper targets -described below to actually store the configuration.

As explained in Section 9.1, “Recommended directory structureâ€, the recommended path to -store these configuration files is -board/<company>/<boardname>/foo.config.

Make sure that you create a configuration file before changing -the BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE etc. options. Otherwise, -Buildroot will try to access this config file, which doesn’t exist -yet, and will fail. You can create the configuration file by running -make linux-menuconfig etc.

Buildroot provides a few helper targets to make the saving of -configuration files easier.

  • -make linux-update-defconfig saves the linux configuration to the - path specified by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. It - simplifies the config file by removing default values. However, - this only works with kernels starting from 2.6.33. For earlier - kernels, use make linux-update-config. -
  • -make busybox-update-config saves the busybox configuration to the - path specified by BR2_PACKAGE_BUSYBOX_CONFIG. -
  • -make uclibc-update-config saves the uClibc configuration to the - path specified by BR2_UCLIBC_CONFIG. -
  • -make barebox-update-defconfig saves the barebox configuration to the - path specified by BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE. -
  • -make uboot-update-defconfig saves the U-Boot configuration to the - path specified by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE. -
  • -For at91bootstrap3, no helper exists so you have to copy the config - file manually to BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE. -

9.5. 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 Section 9.1, “Recommended directory structureâ€, the recommended path for - this overlay is board/<company>/<boardname>/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 Section 9.1, “Recommended directory structureâ€, the recommended path for - this script is board/<company>/<boardname>/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 - Section 18.5.2, “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 Section 8.2, “Understanding when a full rebuild is necessary†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 Section 9.5.1, “Setting file permissions and ownership and adding custom devices nodesâ€) or - to create users (see Section 9.6, “Adding custom user accountsâ€)

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.

9.5.1. Setting file permissions and ownership and adding custom devices nodes

Sometimes it is needed to set specific permissions or ownership on files -or device nodes. For example, certain files may need to be owned by -root. Since the post-build scripts are not run as root, you cannot do -such changes from there unless you use an explicit fakeroot from the -post-build script.

Instead, Buildroot provides support for so-called permission tables. -To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a -space-separated list of permission tables, regular text files following -the makedev syntax.

If you are using a static device table (i.e. not using devtmpfs, -mdev, or (e)udev) then you can add device nodes using the same -syntax, in so-called device tables. To use this feature, set config -option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of -device tables.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for -such files is board/<company>/<boardname>/.

It should be noted that if the specific permissions or device nodes are -related to a specific application, you should set variables -FOO_PERMISSIONS and FOO_DEVICES in the package’s .mk file instead -(see Section 18.5.2, “generic-package referenceâ€).

9.6. Adding custom user accounts

Sometimes it is needed to add specific users in the target system. -To cover this requirement, Buildroot provides support for so-called -users tables. To use this feature, set config option -BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, -regular text files following the makeusers syntax.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for -such files is board/<company>/<boardname>/.

It should be noted that if the custom users are related to a specific -application, you should set variable FOO_USERS in the package’s .mk -file instead (see Section 18.5.2, “generic-package referenceâ€).

9.7. Customization after the images have been created

While post-build scripts (Section 9.5, “Customizing the generated target filesystemâ€) are run before -building the filesystem image, kernel and bootloader, post-image -scripts can be used to perform some specific actions after all images -have been created.

Post-image scripts can for example be used to automatically extract your -root filesystem tarball in a location exported by your NFS server, or -to create a special firmware image that bundles your root filesystem and -kernel image, or any other custom action required for your project.

To enable this feature, specify a space-separated list of post-image -scripts in config option BR2_ROOTFS_POST_IMAGE_SCRIPT (in the System -configuration menu). If you specify a relative path, it will be -relative to the root of the Buildroot tree.

Just like post-build scripts, post-image scripts are run with the main -Buildroot tree as current working directory. The path to the images -output directory 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.

Again just like for the post-build scripts, the scripts have access to -the environment variables BR2_CONFIG, HOST_DIR, STAGING_DIR, -TARGET_DIR, BUILD_DIR, BINARIES_DIR, CONFIG_DIR and -BASE_DIR.

The post-image scripts will be executed as the user that executes -Buildroot, which should normally not be the root user. Therefore, any -action requiring root permissions in one of these scripts will require -special handling (usage of fakeroot or sudo), which is left to the -script developer.

9.8. 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 <packageversion> of a specific package -<packagename>, patches are applied from BR2_GLOBAL_PATCH_DIR as -follows:

  1. -For every directory - <global-patch-dir> - that exists in - BR2_GLOBAL_PATCH_DIR, a <package-patch-dir> will be determined as - follows: -

    • -<global-patch-dir>/<packagename>/<packageversion>/ if the - directory exists. -
    • -Otherwise, <global-patch-dir>/<packagename> if the directory - exists. -
  2. -Patches will then be applied from a <package-patch-dir> 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: - <number>-<description>.patch, where <number> refers to the - apply order. -

For information about how patches are applied for a package, see -Section 19.2, “How patches are appliedâ€

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.

9.9. Adding project-specific packages

In general, any new package should be added directly in the package -directory and submitted to the Buildroot upstream project. How to add -packages to Buildroot in general is explained in full detail in -Chapter 18, Adding new packages to Buildroot and will not be repeated here. However, your -project may need some proprietary packages that cannot be upstreamed. -This section will explain how you can keep such project-specific -packages in a project-specific directory.

As shown in Section 9.1, “Recommended directory structureâ€, the recommended location for -project-specific packages is package/<company>/. If you are using the -br2-external tree feature (see Section 9.2, “Keeping customizations outside of Buildrootâ€) the recommended -location is to put them in a sub-directory named package/ in your -br2-external tree.

However, Buildroot will not be aware of the packages in this location, -unless we perform some additional steps. As explained in -Chapter 18, Adding new packages to Buildroot, a package in Buildroot basically consists of two -files: a .mk file (describing how to build the package) and a -Config.in file (describing the configuration options for this -package).

Buildroot will automatically include the .mk files in first-level -subdirectories of the package directory (using the pattern -package/*/*.mk). If we want Buildroot to include .mk files from -deeper subdirectories (like package/<company>/package1/) then we -simply have to add a .mk file in a first-level subdirectory that -includes these additional .mk files. Therefore, create a file -package/<company>/<company>.mk with following contents (assuming you -have only one extra directory level below package/<company>/):

include $(sort $(wildcard package/<company>/*/*.mk))

For the Config.in files, create a file package/<company>/Config.in -that includes the Config.in files of all your packages. An exhaustive -list has to be provided since wildcards are not supported in the source command of kconfig. -For example:

source "package/<company>/package1/Config.in"
-source "package/<company>/package2/Config.in"

Include this new file package/<company>/Config.in from -package/Config.in, preferably in a company-specific menu to make -merges with future Buildroot versions easier.

If using a br2-external tree, refer to Section 9.2, “Keeping customizations outside of Buildroot†for how -to fill in those files.

9.10. 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. -
  2. -make linux-menuconfig to update the kernel config, similar for - other configuration like busybox, uclibc, … -
  3. -mkdir -p board/<manufacturer>/<boardname> -
  4. -Set the following options to board/<manufacturer>/<boardname>/<package>.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 -
  5. -Write the configuration files: -

    • -make linux-update-defconfig -
    • -make busybox-update-config -
    • -make uclibc-update-config -
    • -cp <output>/build/at91bootstrap3-*/.config - board/<manufacturer>/<boardname>/at91bootstrap3.config -
    • -make barebox-update-defconfig -
    • -make uboot-update-defconfig -
  6. -Create board/<manufacturer>/<boardname>/rootfs-overlay/ and fill it - with additional files you need on your rootfs, e.g. - board/<manufacturer>/<boardname>/rootfs-overlay/etc/inittab. - Set BR2_ROOTFS_OVERLAY - to board/<manufacturer>/<boardname>/rootfs-overlay. -
  7. -Create a post-build script - board/<manufacturer>/<boardname>/post_build.sh. Set - BR2_ROOTFS_POST_BUILD_SCRIPT to - board/<manufacturer>/<boardname>/post_build.sh -
  8. -If additional setuid permissions have to be set or device nodes have - to be created, create board/<manufacturer>/<boardname>/device_table.txt - and add that path to BR2_ROOTFS_DEVICE_TABLE. -
  9. -If additional user accounts have to be created, create - board/<manufacturer>/<boardname>/users_table.txt and add that path - to BR2_ROOTFS_USERS_TABLES. -
  10. -To add custom patches to certain packages, set BR2_GLOBAL_PATCH_DIR - to board/<manufacturer>/<boardname>/patches/ and add your patches - for each package in a subdirectory named after the package. Each - patch should be called <packagename>-<num>-<description>.patch. -
  11. -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. -
  12. -If you need to add project-specific packages, create - package/<manufacturer>/ and place your packages in that - directory. Create an overall <manufacturer>.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. -
  13. -make savedefconfig to save the buildroot configuration. -
  14. -cp defconfig configs/<boardname>_defconfig -

Chapter 10. Using SELinux in Buildroot

SELinux is a Linux kernel security module -enforcing access control policies. In addition to the traditional file -permissions and access control lists, SELinux allows to write rules -for users or processes to access specific functions of resources -(files, sockets…).

SELinux has three modes of operation:

  • -Disabled: the policy is not applied -
  • -Permissive: the policy is applied, and non-authorized actions are - simply logged. This mode is often used for troubleshooting SELinux - issues. -
  • -Enforcing: the policy is applied, and non-authorized actions are - denied -

In Buildroot the mode of operation is controlled by the -BR2_PACKAGE_REFPOLICY_POLICY_STATE_* configuration options. The -Linux kernel also has various configuration options that affect how -SELinux is enabled (see security/selinux/Kconfig in the Linux -kernel sources).

By default in Buildroot the SELinux policy is provided by the -upstream refpolicy -project, enabled with BR2_PACKAGE_REFPOLICY.

10.1. Enabling SELinux support

To have proper support for SELinux in a Buildroot generated system, -the following configuration options must be enabled:

  • -BR2_PACKAGE_LIBSELINUX -
  • -BR2_PACKAGE_REFPOLICY -

In addition, your filesystem image format must support extended -attributes.

10.2. SELinux policy tweaking

The SELinux refpolicy contains modules that can be enabled or -disabled when being built. Each module provide a number of SELinux -rules. In Buildroot the non-base modules are disabled by default and -several ways to enable such modules are provided:

  • -Packages can enable a list of SELinux modules within the refpolicy using - the <packagename>_SELINUX_MODULES variable. -
  • -Packages can provide additional SELinux modules by putting them (.fc, .if - and .te files) in package/<packagename>/selinux/. -
  • -Extra SELinux modules can be added in directories pointed by the - BR2_REFPOLICY_EXTRA_MODULES_DIRS configuration option. -
  • -Additional modules in the refpolicy can be enabled if listed in the - BR2_REFPOLICY_EXTRA_MODULES_DEPENDENCIES configuration option. -

Buildroot also allows to completely override the refpolicy. This -allows to provide a full custom policy designed specifically for a -given system. When going this way, all of the above mechanisms are -disabled: no extra SElinux module is added to the policy, and all -the available modules within the custom policy are enabled and built -into the final binary policy. The custom policy must be a fork of the -official refpolicy.

In order to fully override the refpolicy the following configuration -variables have to be set:

  • -BR2_PACKAGE_REFPOLICY_CUSTOM_GIT -
  • -BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL -
  • -BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION -

Chapter 11. Frequently Asked Questions & Troubleshooting

11.1. 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.

11.2. 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:

11.3. Why are there no development files on the target?

Since there is no compiler available on the target (see -Section 11.2, “Why is there no compiler on the 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.

11.4. 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: Section 11.2, “Why is there no compiler on the target?â€).

11.5. 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 Section 8.1, “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 Section 8.1, “make tips†for -more explanations).

11.6. 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.

11.7. 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/<tuple>/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, - Open Embedded, or 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. -

11.8. 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: Section 8.14.3, “Using ccache in Buildrootâ€); -
  • -Learn about rebuilding only the few packages you actually care - about (see Section 8.3, “Understanding how to rebuild packagesâ€), but beware that sometimes full - rebuilds are anyway necessary (see Section 8.2, “Understanding when a full rebuild is necessaryâ€); -
  • -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 - Section 8.12, “Top-level parallel buildâ€. -

Chapter 12. Known issues

  • -It is not possible to pass extra linker options via BR2_TARGET_LDFLAGS - if such options contain a $ sign. For example, the following is known - to break: BR2_TARGET_LDFLAGS="-Wl,-rpath='$ORIGIN/../lib'" -
  • -The libffi package is not supported on the SuperH 2 and ARC - architectures. -
  • -The prboom package triggers a compiler failure with the SuperH 4 - compiler from Sourcery CodeBench, version 2012.09. -

Chapter 13. Legal notice and licensing

13.1. Complying with open source licenses

All of the end products of Buildroot (toolchain, root filesystem, kernel, -bootloaders) contain open source software, released under various licenses.

Using open source software gives you the freedom to build rich embedded -systems, choosing from a wide range of packages, but also imposes some -obligations that you must know and honour. -Some licenses require you to publish the license text in the documentation of -your product. Others require you to redistribute the source code of the -software to those that receive your product.

The exact requirements of each license are documented in each package, and -it is your responsibility (or that of your legal office) to comply with those -requirements. -To make this easier for you, Buildroot can collect for you some material you -will probably need. To produce this material, after you have configured -Buildroot with make menuconfig, make xconfig or make gconfig, run:

make legal-info

Buildroot will collect legally-relevant material in your output directory, -under the legal-info/ subdirectory. -There you will find:

  • -A README file, that summarizes the produced material and contains warnings - about material that Buildroot could not produce. -
  • -buildroot.config: this is the Buildroot configuration file that is usually - produced with make menuconfig, and which is necessary to reproduce the - build. -
  • -The source code for all packages; this is saved in the sources/ and - host-sources/ subdirectories for target and host packages respectively. - The source code for packages that set <PKG>_REDISTRIBUTE = NO will not be - saved. - Patches that were applied are also saved, along with a file named series - that lists the patches in the order they were applied. Patches are under the - same license as the files that they modify. - Note: Buildroot applies additional patches to Libtool scripts of - autotools-based packages. These patches can be found under - support/libtool in the Buildroot source and, due to technical - limitations, are not saved with the package sources. You may need to - collect them manually. -
  • -A manifest file (one for host and one for target packages) listing the - configured packages, their version, license and related information. - Some of this information might not be defined in Buildroot; such items are - marked as "unknown". -
  • -The license texts of all packages, in the licenses/ and host-licenses/ - subdirectories for target and host packages respectively. - If the license file(s) are not defined in Buildroot, the file is not produced - and a warning in the README indicates this. -

Please note that the aim of the legal-info feature of Buildroot is to -produce all the material that is somehow relevant for legal compliance with the -package licenses. Buildroot does not try to produce the exact material that -you must somehow make public. Certainly, more material is produced than is -needed for a strict legal compliance. For example, it produces the source code -for packages released under BSD-like licenses, that you are not required to -redistribute in source form.

Moreover, due to technical limitations, Buildroot does not produce some -material that you will or may need, such as the toolchain source code for -some of the external toolchains and the Buildroot source code itself. -When you run make legal-info, Buildroot produces warnings in the README -file to inform you of relevant material that could not be saved.

Finally, keep in mind that the output of make legal-info is based on -declarative statements in each of the packages recipes. The Buildroot -developers try to do their best to keep those declarative statements as -accurate as possible, to the best of their knowledge. However, it is very -well possible that those declarative statements are not all fully accurate -nor exhaustive. You (or your legal department) have to check the output -of make legal-info before using it as your own compliance delivery. See -the NO WARRANTY clauses (clauses 11 and 12) in the COPYING file at the -root of the Buildroot distribution.

13.2. Complying with the Buildroot license

Buildroot itself is an open source software, released under the -GNU General -Public License, version 2 or (at your option) any later version, with -the exception of the package patches detailed below. -However, being a build system, it is not normally part of the end product: -if you develop the root filesystem, kernel, bootloader or toolchain for a -device, the code of Buildroot is only present on the development machine, not -in the device storage.

Nevertheless, the general view of the Buildroot developers is that you should -release the Buildroot source code along with the source code of other packages -when releasing a product that contains GPL-licensed software. -This is because the -GNU GPL -defines the "complete source code" for an executable work as "all the -source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and installation -of the executable". -Buildroot is part of the scripts used to control compilation and -installation of the executable, and as such it is considered part of the -material that must be redistributed.

Keep in mind that this is only the Buildroot developers' opinion, and you -should consult your legal department or lawyer in case of any doubt.

13.2.1. Patches to packages

Buildroot also bundles patch files, which are applied to the sources -of the various packages. Those patches are not covered by the license -of Buildroot. Instead, they are covered by the license of the software -to which the patches are applied. When said software is available -under multiple licenses, the Buildroot patches are only provided under -the publicly accessible licenses.

See Chapter 19, Patching a package for the technical details.

Chapter 14. Beyond Buildroot

14.1. Boot the generated images

14.1.1. NFS boot

To achieve NFS-boot, enable tar root filesystem in the Filesystem -images menu.

After a complete build, just run the following commands to setup the -NFS-root directory:

sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir

Remember to add this path to /etc/exports.

Then, you can execute a NFS-boot from your target.

14.1.2. Live CD

To build a live CD image, enable the iso image option in the -Filesystem images menu. Note that this option is only available on -the x86 and x86-64 architectures, and if you are building your kernel -with Buildroot.

You can build a live CD image with either IsoLinux, Grub or Grub 2 as -a bootloader, but only Isolinux supports making this image usable both -as a live CD and live USB (through the Build hybrid image option).

You can test your live CD image using QEMU:

qemu-system-i386 -cdrom output/images/rootfs.iso9660

Or use it as a hard-drive image if it is a hybrid ISO:

qemu-system-i386 -hda output/images/rootfs.iso9660

It can be easily flashed to a USB drive with dd:

dd if=output/images/rootfs.iso9660 of=/dev/sdb

14.2. Chroot

If you want to chroot in a generated image, then there are few thing -you should be aware of:

  • -you should setup the new root from the tar root filesystem image; -
  • -either the selected target architecture is compatible with your host - machine, or you should use some qemu-* binary and correctly set it - within the binfmt properties to be able to run the binaries built - for the target on your host machine; -
  • -Buildroot does not currently provide host-qemu and binfmt - correctly built and set for that kind of use. -

Part III. Developer guide

Chapter 15. How Buildroot works

As mentioned above, Buildroot is basically a set of Makefiles that -download, configure, and compile software with the correct options. It -also includes patches for various software packages - mainly the ones -involved in the cross-compilation toolchain (gcc, binutils and -uClibc).

There is basically one Makefile per software package, and they are -named with the .mk extension. Makefiles are split into many different -parts.

  • -The toolchain/ directory contains the Makefiles - and associated files for all software related to the - cross-compilation toolchain: binutils, gcc, gdb, - kernel-headers and uClibc. -
  • -The arch/ directory contains the definitions for all the processor - architectures that are supported by Buildroot. -
  • -The package/ directory contains the Makefiles and - associated files for all user-space tools and libraries that Buildroot - can compile and add to the target root filesystem. There is one - sub-directory per package. -
  • -The linux/ directory contains the Makefiles and associated files for - the Linux kernel. -
  • -The boot/ directory contains the Makefiles and associated files for - the bootloaders supported by Buildroot. -
  • -The system/ directory contains support for system integration, e.g. - the target filesystem skeleton and the selection of an init system. -
  • -The fs/ directory contains the Makefiles and - associated files for software related to the generation of the - target root filesystem image. -

Each directory contains at least 2 files:

  • -something.mk is the Makefile that downloads, configures, - compiles and installs the package something. -
  • -Config.in is a part of the configuration tool - description file. It describes the options related to the - package. -

The main Makefile performs the following steps (once the -configuration is done):

  • -Create all the output directories: staging, target, build, - etc. in the output directory (output/ by default, - another value can be specified using O=) -
  • -Generate the toolchain target. When an internal toolchain is used, this - means generating the cross-compilation toolchain. When an external - toolchain is used, this means checking the features of the external - toolchain and importing it into the Buildroot environment. -
  • -Generate all the targets listed in the TARGETS variable. This - variable is filled by all the individual components' - Makefiles. Generating these targets will trigger the compilation of - the userspace packages (libraries, programs), the kernel, the - bootloader and the generation of the root filesystem images, - depending on the configuration. -

Chapter 16. 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. -

16.1. 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.

16.2. 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_PYTHON),y)
      -LIBFOO_CONF_OPTS += --with-python-support
      -LIBFOO_DEPENDENCIES += python
      -else
      -LIBFOO_CONF_OPTS += --without-python-support
      -endif

      NO:

      LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support
      -LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,)
    • -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

16.3. The documentation

The documentation uses the -asciidoc format.

For further details about the asciidoc syntax, refer to -http://www.methods.co.nz/asciidoc/userguide.html.

16.4. Support scripts

Some scripts in the support/ and utils/ directories are written in -Python and should follow the -PEP8 Style Guide for Python Code.

Chapter 17. 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 <boardname>_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/<manufacturer> and a subdirectory -board/<manufacturer>/<boardname>. You can then store your patches -and configurations in these directories, and reference them from the main -Buildroot configuration. Refer to Chapter 9, Project-specific customization for more details.

Chapter 18. 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 Section 18.24.3, “How to test your packageâ€) and also check it for coding style (see -Section 18.24.2, “How to check the coding styleâ€).

18.1. 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.

18.2. 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.

18.2.1. 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"

18.2.2. 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.

18.2.3. 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 Section 18.2.4, “Dependencies on target and 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"
-        select BR2_PACKAGE_B
-        depends on BR2_PACKAGE_A
-
-config BR2_PACKAGE_E
-        bool "Package E"
-        select BR2_PACKAGE_D
-        depends on BR2_PACKAGE_A

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 the -coding style.

18.2.4. 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 -

18.2.5. 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

18.2.6. 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

18.2.7. Dependencies on features provided by virtual packages

Some features can be provided by more than one package, such as the -openGL libraries.

See Section 18.11, “Infrastructure for virtual packages†for more on the virtual packages.

18.3. The .mk file

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 tutorial and a - 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 tutorial - and 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 tutorial - and reference. -
  • -Makefiles for Python modules: We have a dedicated infrastructure - for Python modules that use either the distutils or the - setuptools mechanism. We cover them through a - tutorial and a - reference. -
  • -Makefiles for Lua modules: We have a dedicated infrastructure for - Lua modules available through the LuaRocks web site. We cover them - through a tutorial and a - reference. -

Further formatting details: see the writing -rules.

18.4. 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, none -
  • -the hash of the file: -

    • -for none, one or more non-space chars, usually just the string xxx -
    • -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 <packageversion> of that package -(see also Section 19.2, “How patches are appliedâ€).

The none hash type is reserved to those archives downloaded from a -repository, like a git clone, a subversion checkout…

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
-
-# No hash for 1234:
-none  xxx  libfoo-1234.tar.gz
-
-# 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.

18.5. 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.

18.5.1. 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.

Example 18.1. 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

Example 18.2. 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.

18.5.2. 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 - 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 - Section 18.24.4, “How to add a package from GitHub†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. - 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://. -
    • -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 - Section 18.22.1, “Using the POST_RSYNC hookâ€. -
  • -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_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 - "<pkg-name>-<pkg-version>", 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 Section 18.11, “Infrastructure for virtual packagesâ€. -
  • -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 - Chapter 25, Makedev syntax documentation. 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 Chapter 25, Makedev syntax documentation. - 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 Chapter 26, Makeusers syntax documentation. 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 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 Chapter 13, Legal notice and licensing 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 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 - <pkgname>_project. -
    • -LIBFOO_CPE_ID_PRODUCT, specifies the product part of the CPE - identifier. When not defined, the default value is <pkgname>. -
    • -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 Section 8.12, “Top-level parallel build†for more details - about per-package directory support. -

Finally, you can also use hooks. See Section 18.22, “Hooks available in the various build steps†for more information.

18.6. Infrastructure for autotools-based packages

18.6.1. 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.

18.6.2. 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 Section 18.22, “Hooks available in the various build steps†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. -

18.7. Infrastructure for CMake-based packages

18.7.1. 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.

18.7.2. 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 Section 18.22, “Hooks available in the various build steps†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. -

18.8. Infrastructure for Python packages

This infrastructure applies to Python packages that use the standard -Python setuptools mechanism as their build system, generally -recognizable by the usage of a setup.py script.

18.8.1. 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 two -supported ones are distutils 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.

18.8.2. python-package reference

As a policy, packages that merely provide Python modules should all be -named python-<something> 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).

Packages that are only compatible with one version of Python (as in: -Python 2 or Python 3) should depend on that version explicitely in -their Config.in file (BR2_PACKAGE_PYTHON for Python 2, -BR2_PACKAGE_PYTHON3 for Python 3). Packages that are compatible -with both versions should not explicitely depend on them in their -Config.in file, since that condition is already expressed for the -whole "External python modules" menu.

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 -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 two supported values are distutils and - setuptools. If you don’t know which one is used in your package, - look at the setup.py file in your package source code, and see - whether it imports things from the distutils module or the - setuptools module. -

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 file. This is useful, - if for example, the main setup.py 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 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) and HOST_PKG_PYTHON_SETUPTOOLS_ENV - (for setuptools host packages). -
  • -PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to the - Python setup.py script during the build step. 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 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) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host - setuptools packages). -
  • -HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python - interpreter. The usage of this variable is limited to host - packages. The two supported value are python2 and python3. It - will ensure the right host python package is available and will - invoke it for the build. If some build steps are overloaded, the - right python interpreter must be explicitly called in the commands. -

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 Section 18.22, “Hooks available in the various build steps†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. -

18.8.3. 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 -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

18.8.4. 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))

18.9. Infrastructure for LuaRocks-based packages

18.9.1. luarocks-package tutorial

First, let’s see how to write a .mk file for a LuaRocks-based package, -with an example :

01: ################################################################################
-02: #
-03: # lua-foo
-04: #
-05: ################################################################################
-06:
-07: LUA_FOO_VERSION = 1.0.2-1
-08: LUA_FOO_NAME_UPSTREAM = foo
-09: LUA_FOO_DEPENDENCIES = bar
-10:
-11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include
-12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib
-13: LUA_FOO_LICENSE = luaFoo license
-14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING
-15:
-16: $(eval $(luarocks-package))

On line 7, we declare the version of the package (the same as in the rockspec, -which is the concatenation of the upstream version and the rockspec revision, -separated by a hyphen -).

On line 8, we declare that the package is called "foo" on LuaRocks. In -Buildroot, we give Lua-related packages a name that starts with "lua", so the -Buildroot name is different from the upstream name. LUA_FOO_NAME_UPSTREAM -makes the link between the two names.

On line 9, we declare our dependencies against native libraries, so that they -are built before the build process of our package starts.

On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is -building the package.

On lines 13-14, we specify the licensing terms for the package.

Finally, on line 16, we invoke the luarocks-package -macro that generates all the Makefile rules that actually allows the -package to be built.

Most of these details can be retrieved from the rock and rockspec. -So, this file and the Config.in file can be generated by running the -command luarocks buildroot foo lua-foo in the Buildroot -directory. This command runs a specific Buildroot addon of luarocks -that will automatically generate a Buildroot package. The result must -still be manually inspected and possibly modified.

  • -The package/Config.in file has to be updated manually to include the - generated Config.in files. -

18.9.2. luarocks-package reference

LuaRocks is a deployment and management system for Lua modules, and supports -various build.type: builtin, make and cmake. In the context of -Buildroot, the luarocks-package infrastructure only supports the builtin -mode. LuaRocks packages that use the make or cmake build mechanisms -should instead be packaged using the generic-package and cmake-package -infrastructures in Buildroot, respectively.

The main macro of the LuaRocks package infrastructure is luarocks-package: -like generic-package it works by defining a number of variables providing -metadata information about the package, and then calling luarocks-package.

Just like the generic infrastructure, the LuaRocks infrastructure works -by defining a number of variables before calling the luarocks-package -macro.

First, all the package metadata information variables that exist in -the generic infrastructure also exist in the LuaRocks infrastructure: -LUA_FOO_VERSION, LUA_FOO_SOURCE, LUA_FOO_SITE, -LUA_FOO_DEPENDENCIES, LUA_FOO_LICENSE, LUA_FOO_LICENSE_FILES.

Two of them are populated by the LuaRocks infrastructure (for the -download step). If your package is not hosted on the LuaRocks mirror -$(BR2_LUAROCKS_MIRROR), you can override them:

  • -LUA_FOO_SITE, which defaults to $(BR2_LUAROCKS_MIRROR) -
  • -LUA_FOO_SOURCE, which defaults to - $(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock -

A few additional variables, specific to the LuaRocks infrastructure, are -also defined. They can be overridden in specific cases.

  • -LUA_FOO_NAME_UPSTREAM, which defaults to lua-foo, i.e. the Buildroot - package name -
  • -LUA_FOO_ROCKSPEC, which defaults to - $(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec -
  • -LUA_FOO_SUBDIR, which defaults to - $(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION) -
  • -LUA_FOO_BUILD_OPTS contains additional build options for the - luarocks build call. -

18.10. Infrastructure for Perl/CPAN packages

18.10.1. perl-package tutorial

First, let’s see how to write a .mk file for a Perl/CPAN package, -with an example :

01: ################################################################################
-02: #
-03: # perl-foo-bar
-04: #
-05: ################################################################################
-06:
-07: PERL_FOO_BAR_VERSION = 0.02
-08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz
-09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER
-10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures
-11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+
-12: PERL_FOO_BAR_LICENSE_FILES = LICENSE
-13: PERL_FOO_BAR_DISTNAME = Foo-Bar
-14:
-15: $(eval $(perl-package))

On line 7, we declare the version of the package.

On line 8 and 9, we declare the name of the tarball and the location -of the tarball on a CPAN server. Buildroot will automatically download -the tarball from this location.

On line 10, we declare our dependencies, so that they are built -before the build process of our package starts.

On line 11 and 12, we give licensing details about the package (its -license on line 11, and the file containing the license text on line -12).

On line 13, the name of the distribution as needed by the script -utils/scancpan (in order to regenerate/upgrade these package files).

Finally, on line 15, we invoke the perl-package macro that -generates all the Makefile rules that actually allow the package to be -built.

Most of these data can be retrieved from https://metacpan.org/. -So, this file and the Config.in can be generated by running -the script utils/scancpan Foo-Bar in the Buildroot directory -(or in a br2-external tree). -This script creates a Config.in file and foo-bar.mk file for the -requested package, and also recursively for all dependencies specified by -CPAN. You should still manually edit the result. In particular, the -following things should be checked.

  • -If the perl module links with a shared library that is provided by - another (non-perl) package, this dependency is not added automatically. - It has to be added manually to PERL_FOO_BAR_DEPENDENCIES. -
  • -The package/Config.in file has to be updated manually to include the - generated Config.in files. As a hint, the scancpan script prints out - the required source "…" statements, sorted alphabetically. -

18.10.2. perl-package reference

As a policy, packages that provide Perl/CPAN modules should all be -named perl-<something> in Buildroot.

This infrastructure handles various Perl build systems : -ExtUtils-MakeMaker (EUMM), Module-Build (MB) and Module-Build-Tiny. -Build.PL is preferred by default when a package provides a Makefile.PL -and a Build.PL.

The main macro of the Perl/CPAN package infrastructure is -perl-package. It is similar to the generic-package macro. The ability to -have target and host packages is also available, with the -host-perl-package macro.

Just like the generic infrastructure, the Perl/CPAN infrastructure -works by defining a number of variables before calling the -perl-package macro.

First, all the package metadata information variables that exist in the -generic infrastructure also exist in the Perl/CPAN infrastructure: -PERL_FOO_VERSION, PERL_FOO_SOURCE, -PERL_FOO_PATCH, PERL_FOO_SITE, -PERL_FOO_SUBDIR, PERL_FOO_DEPENDENCIES, -PERL_FOO_INSTALL_TARGET.

Note that setting PERL_FOO_INSTALL_STAGING to YES has no effect -unless a PERL_FOO_INSTALL_STAGING_CMDS variable is defined. The perl -infrastructure doesn’t define these commands since Perl modules generally -don’t need to be installed to the staging directory.

A few additional variables, specific to the Perl/CPAN 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.

  • -PERL_FOO_PREFER_INSTALLER/HOST_PERL_FOO_PREFER_INSTALLER, - specifies the preferred installation method. Possible values are - EUMM (for Makefile.PL based installation using - ExtUtils-MakeMaker) and MB (for Build.PL based installation - using Module-Build). This variable is only used when the package - provides both installation methods. -
  • -PERL_FOO_CONF_ENV/HOST_PERL_FOO_CONF_ENV, to specify additional - environment variables to pass to the perl Makefile.PL or perl Build.PL. - By default, empty. -
  • -PERL_FOO_CONF_OPTS/HOST_PERL_FOO_CONF_OPTS, to specify additional - configure options to pass to the perl Makefile.PL or perl Build.PL. - By default, empty. -
  • -PERL_FOO_BUILD_OPTS/HOST_PERL_FOO_BUILD_OPTS, to specify additional - options to pass to make pure_all or perl Build build in the build step. - By default, empty. -
  • -PERL_FOO_INSTALL_TARGET_OPTS, to specify additional options to - pass to make pure_install or perl Build install in the install step. - By default, empty. -
  • -HOST_PERL_FOO_INSTALL_OPTS, to specify additional options to - pass to make pure_install or perl Build install in the install step. - By default, empty. -

18.11. Infrastructure for virtual packages

In Buildroot, a virtual package is a package whose functionalities are -provided by one or more packages, referred to as providers. The virtual -package management is an extensible mechanism allowing the user to choose -the provider used in the rootfs.

For example, OpenGL ES is an API for 2D and 3D graphics on embedded systems. -The implementation of this API is different for the Allwinner Tech Sunxi and -the Texas Instruments OMAP35xx platforms. So libgles will be a virtual -package and sunxi-mali and ti-gfx will be the providers.

18.11.1. virtual-package tutorial

In the following example, we will explain how to add a new virtual package -(something-virtual) and a provider for it (some-provider).

First, let’s create the virtual package.

18.11.2. Virtual package’s Config.in file

The Config.in file of virtual package something-virtual should contain:

01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
-02:     bool
-03:
-04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
-05:     depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
-06:     string

In this file, we declare two options, BR2_PACKAGE_HAS_SOMETHING_VIRTUAL and -BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL, whose values will be used by the -providers.

18.11.3. Virtual package’s .mk file

The .mk for the virtual package should just evaluate the virtual-package macro:

01: ################################################################################
-02: #
-03: # something-virtual
-04: #
-05: ################################################################################
-06:
-07: $(eval $(virtual-package))

The ability to have target and host packages is also available, with the -host-virtual-package macro.

18.11.4. Provider’s Config.in file

When adding a package as a provider, only the Config.in file requires some -modifications.

The Config.in file of the package some-provider, which provides the -functionalities of something-virtual, should contain:

01: config BR2_PACKAGE_SOME_PROVIDER
-02:     bool "some-provider"
-03:     select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL
-04:     help
-05:       This is a comment that explains what some-provider is.
-06:
-07:       http://foosoftware.org/some-provider/
-08:
-09: if BR2_PACKAGE_SOME_PROVIDER
-10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL
-11:     default "some-provider"
-12: endif

On line 3, we select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL, and on line 11, we -set the value of BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL to the name of the -provider, but only if it is selected.

18.11.5. Provider’s .mk file

The .mk file should also declare an additional variable -SOME_PROVIDER_PROVIDES to contain the names of all the virtual -packages it is an implementation of:

01: SOME_PROVIDER_PROVIDES = something-virtual

Of course, do not forget to add the proper build and runtime dependencies for -this package!

18.11.6. Notes on depending on a virtual package

When adding a package that requires a certain FEATURE provided by a virtual -package, you have to use depends on BR2_PACKAGE_HAS_FEATURE, like so:

config BR2_PACKAGE_HAS_FEATURE
-    bool
-
-config BR2_PACKAGE_FOO
-    bool "foo"
-    depends on BR2_PACKAGE_HAS_FEATURE

18.11.7. Notes on depending on a specific provider

If your package really requires a specific provider, then you’ll have to -make your package depends on this provider; you can not select a -provider.

Let’s take an example with two providers for a FEATURE:

config BR2_PACKAGE_HAS_FEATURE
-    bool
-
-config BR2_PACKAGE_FOO
-    bool "foo"
-    select BR2_PACKAGE_HAS_FEATURE
-
-config BR2_PACKAGE_BAR
-    bool "bar"
-    select BR2_PACKAGE_HAS_FEATURE

And you are adding a package that needs FEATURE as provided by foo, -but not as provided by bar.

If you were to use select BR2_PACKAGE_FOO, then the user would still -be able to select BR2_PACKAGE_BAR in the menuconfig. This would create -a configuration inconsistency, whereby two providers of the same FEATURE -would be enabled at once, one explicitly set by the user, the other -implicitly by your select.

Instead, you have to use depends on BR2_PACKAGE_FOO, which avoids any -implicit configuration inconsistency.

18.12. Infrastructure for packages using kconfig for configuration files

A popular way for a software package to handle user-specified -configuration is kconfig. Among others, it is used by the Linux -kernel, Busybox, and Buildroot itself. The presence of a .config file -and a menuconfig target are two well-known symptoms of kconfig being -used.

Buildroot features an infrastructure for packages that use kconfig for -their configuration. This infrastructure provides the necessary logic to -expose the package’s menuconfig target as foo-menuconfig in -Buildroot, and to handle the copying back and forth of the configuration -file in a correct way.

The kconfig-package infrastructure is based on the generic-package -infrastructure. All variables supported by generic-package are -available in kconfig-package as well. See -Section 18.5.2, “generic-package reference†for more details.

In order to use the kconfig-package infrastructure for a Buildroot -package, the minimally required lines in the .mk file, in addition to -the variables required by the generic-package infrastructure, are:

FOO_KCONFIG_FILE = reference-to-source-configuration-file
-
-$(eval $(kconfig-package))

This snippet creates the following make targets:

  • -foo-menuconfig, which calls the package’s menuconfig target -
  • -foo-update-config, which copies the configuration back to the - source configuration file. It is not possible to use this target - when fragment files are set. -
  • -foo-update-defconfig, which copies the configuration back to the - source configuration file. The configuration file will only list the - options that differ from the default values. It is not possible to - use this target when fragment files are set. -
  • -foo-diff-config, which outputs the differences between the current - configuration and the one defined in the Buildroot configuration for - this kconfig package. The output is useful to identify the - configuration changes that may have to be propagated to - configuration fragments for example. -

and ensures that the source configuration file is copied to the build -directory at the right moment.

There are two options to specify a configuration file to use, either -FOO_KCONFIG_FILE (as in the example, above) or FOO_KCONFIG_DEFCONFIG. -It is mandatory to provide either, but not both:

  • -FOO_KCONFIG_FILE specifies the path to a defconfig or full-config file - to be used to configure the package. -
  • -FOO_KCONFIG_DEFCONFIG specifies the defconfig make rule to call to - configure the package. -

In addition to these minimally required lines, several optional variables can -be set to suit the needs of the package under consideration:

  • -FOO_KCONFIG_EDITORS: a space-separated list of kconfig editors to - support, for example menuconfig xconfig. By default, menuconfig. -
  • -FOO_KCONFIG_FRAGMENT_FILES: a space-separated list of configuration - fragment files that are merged to the main configuration file. - Fragment files are typically used when there is a desire to stay in sync - with an upstream (def)config file, with some minor modifications. -
  • -FOO_KCONFIG_OPTS: extra options to pass when calling the kconfig - editors. This may need to include $(FOO_MAKE_OPTS), for example. By - default, empty. -
  • -FOO_KCONFIG_FIXUP_CMDS: a list of shell commands needed to fixup the - configuration file after copying it or running a kconfig editor. Such - commands may be needed to ensure a configuration consistent with other - configuration of Buildroot, for example. By default, empty. -
  • -FOO_KCONFIG_DOTCONFIG: path (with filename) of the .config file, - relative to the package source tree. The default, .config, should - be well suited for all packages that use the standard kconfig - infrastructure as inherited from the Linux kernel; some packages use - a derivative of kconfig that use a different location. -
  • -FOO_KCONFIG_DEPENDENCIES: the list of packages (most probably, host - packages) that need to be built before this package’s kconfig is - interpreted. Seldom used. By default, empty. -
  • -FOO_KCONFIG_SUPPORTS_DEFCONFIG: whether the package’s kconfig system - supports using defconfig files; few packages do not. By default, YES. -

18.13. Infrastructure for rebar-based packages

18.13.1. rebar-package tutorial

First, let’s see how to write a .mk file for a rebar-based package, -with an example :

01: ################################################################################
-02: #
-03: # erlang-foobar
-04: #
-05: ################################################################################
-06:
-07: ERLANG_FOOBAR_VERSION = 1.0
-08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz
-09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download
-10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb
-11:
-12: $(eval $(rebar-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 declare our dependencies, so that they are built -before the build process of our package starts.

Finally, on line 12, we invoke the rebar-package macro that -generates all the Makefile rules that actually allows the package to -be built.

18.13.2. rebar-package reference

The main macro of the rebar package infrastructure is -rebar-package. It is similar to the generic-package macro. The -ability to have host packages is also available, with the -host-rebar-package macro.

Just like the generic infrastructure, the rebar infrastructure works -by defining a number of variables before calling the rebar-package -macro.

First, all the package metadata information variables that exist in -the generic infrastructure also exist in the rebar infrastructure: -ERLANG_FOOBAR_VERSION, ERLANG_FOOBAR_SOURCE, -ERLANG_FOOBAR_PATCH, ERLANG_FOOBAR_SITE, -ERLANG_FOOBAR_SUBDIR, ERLANG_FOOBAR_DEPENDENCIES, -ERLANG_FOOBAR_INSTALL_STAGING, ERLANG_FOOBAR_INSTALL_TARGET, -ERLANG_FOOBAR_LICENSE and ERLANG_FOOBAR_LICENSE_FILES.

A few additional variables, specific to the rebar 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.

  • -ERLANG_FOOBAR_USE_AUTOCONF, to specify that the package uses - autoconf at the configuration step. When a package sets this - variable to YES, the autotools infrastructure is used. -

    Note. You can also use some of the variables from the autotools - infrastructure: ERLANG_FOOBAR_CONF_ENV, ERLANG_FOOBAR_CONF_OPTS, - ERLANG_FOOBAR_AUTORECONF, ERLANG_FOOBAR_AUTORECONF_ENV and - ERLANG_FOOBAR_AUTORECONF_OPTS.

  • -ERLANG_FOOBAR_USE_BUNDLED_REBAR, to specify that the package has - a bundled version of rebar and that it shall be used. Valid - values are YES or NO (the default). -

    Note. If the package bundles a rebar utility, but can use the generic - one that Buildroot provides, just say NO (i.e., do not specify - this variable). Only set if it is mandatory to use the rebar - utility bundled in this package.

  • -ERLANG_FOOBAR_REBAR_ENV, to specify additional environment - variables to pass to the rebar utility. -
  • -ERLANG_FOOBAR_KEEP_DEPENDENCIES, to keep the dependencies - described in the rebar.config file. Valid values are YES or NO - (the default). Unless this variable is set to YES, the rebar - infrastructure removes such dependencies in a post-patch hook to - ensure rebar does not download nor compile them. -

With the rebar infrastructure, all the steps required to build -and install the packages are already defined, and they generally work -well for most rebar-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 Section 18.22, “Hooks available in the various build steps†for details. -
  • -By overriding one of the steps. For example, even if the rebar - infrastructure is used, if the package .mk file defines its - own ERLANG_FOOBAR_BUILD_CMDS variable, it will be used instead - of the default rebar one. However, using this method should be - restricted to very specific cases. Do not use it in the general - case. -

18.14. Infrastructure for Waf-based packages

18.14.1. waf-package tutorial

First, let’s see how to write a .mk file for a Waf-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_CONF_OPTS = --enable-bar --disable-baz
-11: LIBFOO_DEPENDENCIES = bar
-12:
-13: $(eval $(waf-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 what options to enable for libfoo.

On line 11, we tell Buildroot the dependencies of libfoo.

Finally, on line line 13, we invoke the waf-package -macro that generates all the Makefile rules that actually allows the -package to be built.

18.14.2. waf-package reference

The main macro of the Waf package infrastructure is waf-package. -It is similar to the generic-package macro.

Just like the generic infrastructure, the Waf infrastructure works -by defining a number of variables before calling the waf-package -macro.

First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Waf infrastructure: -LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, -LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, -LIBFOO_INSTALL_TARGET.

An additional variable, specific to the Waf infrastructure, can -also be defined.

  • -LIBFOO_SUBDIR may contain the name of a subdirectory inside the - package that contains the main wscript file. This is useful, - if for example, the main wscript 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_NEEDS_EXTERNAL_WAF can be set to YES or NO to tell - Buildroot to use the bundled waf executable. If set to NO, the - default, then Buildroot will use the waf executable provided in the - package source tree; if set to YES, then Buildroot will download, - install waf as a host tool and use it to build the package. -
  • -LIBFOO_WAF_OPTS, to specify additional options to pass to the - waf script at every step of the package build process: configure, - build and installation. By default, empty. -
  • -LIBFOO_CONF_OPTS, to specify additional options to pass to the - waf script for the configuration step. By default, empty. -
  • -LIBFOO_BUILD_OPTS, to specify additional options to pass to the - waf script during the build step. By default, empty. -
  • -LIBFOO_INSTALL_STAGING_OPTS, to specify additional options to pass - to the waf script during the staging installation step. By default, - empty. -
  • -LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass - to the waf script during the target installation step. By default, - empty. -

18.15. Infrastructure for Meson-based packages

18.15.1. meson-package tutorial

Meson is an open source build system meant to be both -extremely fast, and, even more importantly, as user friendly as possible. It -uses Ninja as a companion tool to perform the actual -build operations.

Let’s see how to write a .mk file for a Meson-based package, with an example:

01: ################################################################################
-02: #
-03: # foo
-04: #
-05: ################################################################################
-06:
-07: FOO_VERSION = 1.0
-08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz
-09: FOO_SITE = http://www.foosoftware.org/download
-10: FOO_LICENSE = GPL-3.0+
-11: FOO_LICENSE_FILES = COPYING
-12: FOO_INSTALL_STAGING = YES
-13:
-14: FOO_DEPENDENCIES = host-pkgconf bar
-15:
-16: ifeq ($(BR2_PACKAGE_BAZ),y)
-17: FOO_CONF_OPTS += -Dbaz=true
-18: FOO_DEPENDENCIES += baz
-19: else
-20: FOO_CONF_OPTS += -Dbaz=false
-21: endif
-22:
-23: $(eval $(meson-package))

The Makefile starts with the definition of the standard variables for package -declaration (lines 7 to 11).

On line line 23, we invoke the meson-package macro that generates all the -Makefile rules that actually allows the package to be built.

In the example, host-pkgconf and bar are declared as dependencies in -FOO_DEPENDENCIES at line 14 because the Meson build file of foo uses -pkg-config to determine the compilation flags and libraries of package bar.

Note that it is not necessary to add host-meson in the FOO_DEPENDENCIES -variable of a package, since this basic dependency is automatically added as -needed by the Meson package infrastructure.

If the "baz" package is selected, then support for the "baz" feature in "foo" is -activated by adding -Dbaz=true to FOO_CONF_OPTS at line 17, as specified in -the meson_options.txt file in "foo" source tree. The "baz" package is also -added to FOO_DEPENDENCIES. Note that the support for baz is explicitly -disabled at line 20, if the package is not selected.

To sum it up, to add a new meson-based package, the Makefile example can be -copied verbatim then edited to replace all occurences of FOO with the -uppercase name of the new package and update the values of the standard -variables.

18.15.2. meson-package reference

The main macro of the Meson package infrastructure is meson-package. It is -similar to the generic-package macro. The ability to have target and host -packages is also available, with the host-meson-package macro.

Just like the generic infrastructure, the Meson infrastructure works by defining -a number of variables before calling the meson-package macro.

First, all the package metadata information variables that exist in the generic -infrastructure also exist in the Meson infrastructure: FOO_VERSION, -FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, FOO_DEPENDENCIES, -FOO_INSTALL_STAGING, FOO_INSTALL_TARGET.

A few additional variables, specific to the Meson infrastructure, can also be -defined. Many of them are only useful in very specific cases, typical packages -will therefore only use a few of them.

  • -FOO_SUBDIR may contain the name of a subdirectory inside the - package that contains the main meson.build file. This is useful, - if for example, the main meson.build file is not at the root of - the tree extracted by the tarball. If HOST_FOO_SUBDIR is not - specified, it defaults to FOO_SUBDIR. -
  • -FOO_CONF_ENV, to specify additional environment variables to pass to - meson for the configuration step. By default, empty. -
  • -FOO_CONF_OPTS, to specify additional options to pass to meson for the - configuration step. By default, empty. -
  • -FOO_CFLAGS, to specify compiler arguments added to the package specific - cross-compile.conf file c_args property. By default, the value of - TARGET_CFLAGS. -
  • -FOO_CXXFLAGS, to specify compiler arguments added to the package specific - cross-compile.conf file cpp_args property. By default, the value of - TARGET_CXXFLAGS. -
  • -FOO_LDFLAGS, to specify compiler arguments added to the package specific - cross-compile.conf file c_link_args and cpp_link_args properties. By - default, the value of TARGET_LDFLAGS. -
  • -FOO_MESON_EXTRA_BINARIES, to specify a space-separated list of programs - to add to the [binaries] section of the meson cross-compilation.conf - configuration file. The format is program-name='/path/to/program', with - no space around the = sign, and with the path of the program between - single quotes. By default, empty. Note that Buildroot already sets the - correct values for c, cpp, ar, strip, and pkgconfig. -
  • -FOO_MESON_EXTRA_PROPERTIES, to specify a space-separated list of - properties to add to the [properties] section of the meson - cross-compilation.conf configuration file. The format is - property-name=<value> with no space around the = sign, and with - single quotes around string values. By default, empty. Note that - Buildroot already sets values for needs_exe_wrapper, c_args, - c_link_args, cpp_args, cpp_link_args, sys_root, and - pkg_config_libdir. -
  • -FOO_NINJA_ENV, to specify additional environment variables to pass to - ninja, meson companion tool in charge of the build operations. By default, - empty. -
  • -FOO_NINJA_OPTS, to specify a space-separated list of targets to build. By - default, empty, to build the default target(s). -

18.16. Integration of Cargo-based packages

Cargo is the package manager for the Rust programming language. It allows the -user to build programs or libraries written in Rust, but it also downloads and -manages their dependencies, to ensure repeatable builds. Cargo packages are -called "crates".

18.16.1. Cargo-based package’s Config.in file

The Config.in file of Cargo-based package foo should contain:

01: config BR2_PACKAGE_FOO
-02:     bool "foo"
-03:     depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
-04:     select BR2_PACKAGE_HOST_RUSTC
-05:     help
-06:       This is a comment that explains what foo is.
-07:
-08:       http://foosoftware.org/foo/

18.16.2. Cargo-based package’s .mk file

Buildroot does not (yet) provide a dedicated package infrastructure for -Cargo-based packages. So, we will explain how to write a .mk file for such a -package. Let’s start with an example:

01: ################################################################################
-02: #
-03: # foo
-04: #
-05: ################################################################################
-06:
-07: FOO_VERSION = 1.0
-08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz
-09: FOO_SITE = http://www.foosoftware.org/download
-10: FOO_LICENSE = GPL-3.0+
-11: FOO_LICENSE_FILES = COPYING
-12:
-13: FOO_DEPENDENCIES = host-rustc
-14:
-15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo
-16:
-17: FOO_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(FOO_CARGO_MODE)
-18:
-19: FOO_CARGO_OPTS = \
-20:     $(if $(BR2_ENABLE_DEBUG),,--release) \
-21:     --target=$(RUSTC_TARGET_NAME) \
-22:     --manifest-path=$(@D)/Cargo.toml
-23:
-24: define FOO_BUILD_CMDS
-25:     $(TARGET_MAKE_ENV) $(FOO_CARGO_ENV) \
-26:             cargo build $(FOO_CARGO_OPTS)
-27: endef
-28:
-29: define FOO_INSTALL_TARGET_CMDS
-30:     $(INSTALL) -D -m 0755 $(@D)/$(FOO_BIN_DIR)/foo \
-31:             $(TARGET_DIR)/usr/bin/foo
-32: endef
-33:
-34: $(eval $(generic-package))

The Makefile starts with the definition of the standard variables for package -declaration (lines 7 to 11).

As seen in line 34, it is based on the -generic-package infrastructure. So, it defines -the variables required by this particular infrastructure, where Cargo is -invoked:

  • -FOO_BUILD_CMDS: Cargo is invoked to perform the build. The options required - to configure the cross-compilation of the package are passed via - FOO_CONF_OPTS. -
  • -FOO_INSTALL_TARGET_CMDS: The binary executable generated is installed on - the target. -

In order to have Cargo available for the build, FOO_DEPENDENCIES needs to -contain host-cargo.

To sum it up, to add a new Cargo-based package, the Makefile example can be -copied verbatim then edited to replace all occurences of FOO with the -uppercase name of the new package and update the values of the standard -variables.

18.16.3. About Dependencies Management

A crate can depend on other libraries from crates.io or git repositories, listed -in its Cargo.toml file. Before starting a build, Cargo usually downloads -automatically them. This step can also be performed independently, via the -cargo fetch command.

Cargo maintains a local cache of the registry index and of git checkouts of the -crates, whose location is given by $CARGO_HOME. As seen in the package -Makefile example at line 15, this environment variable is set to -$(HOST_DIR)/share/cargo.

This dependency download mechanism is not convenient when performing an offline -build, as Cargo will fail to fetch the dependencies. In that case, it is advised -to generate a tarball of the dependencies using the cargo vendor and add it to -FOO_EXTRA_DOWNLOADS.

18.17. Infrastructure for Go packages

This infrastructure applies to Go packages that use the standard -build system and use bundled dependencies.

18.17.1. golang-package tutorial

First, let’s see how to write a .mk file for a go package, -with an example :

01: ################################################################################
-02: #
-03: # foo
-04: #
-05: ################################################################################
-06:
-07: FOO_VERSION = 1.0
-08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION))
-09: FOO_LICENSE = BSD-3-Clause
-10: FOO_LICENSE_FILES = LICENSE
-11:
-12: $(eval $(golang-package))

On line 7, we declare the version of the package.

On line 8, we declare the upstream location of the package, here -fetched from Github, since a large number of Go packages are hosted on -Github.

On line 9 and 10, we give licensing details about the package.

Finally, on line 12, we invoke the golang-package macro that -generates all the Makefile rules that actually allow the package to be -built.

18.17.2. golang-package reference

In their Config.in file, packages using the golang-package -infrastructure should depend on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS -because Buildroot will automatically add a dependency on host-go -to such packages. -If you need CGO support in your package, you must add a dependency on -BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS.

The main macro of the Go package infrastructure is -golang-package. It is similar to the generic-package macro. The -ability to build host packages is also available, with the -host-golang-package macro. -Host packages built by host-golang-package macro should depend on -BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS.

Just like the generic infrastructure, the Go infrastructure works -by defining a number of variables before calling the golang-package.

All the package metadata information variables that exist in the -generic package infrastructure also -exist in the Go infrastructure: FOO_VERSION, FOO_SOURCE, -FOO_PATCH, FOO_SITE, FOO_SUBDIR, FOO_DEPENDENCIES, -FOO_LICENSE, FOO_LICENSE_FILES, FOO_INSTALL_STAGING, etc.

Note that it is not necessary to add host-go in the -FOO_DEPENDENCIES variable of a package, since this basic dependency -is automatically added as needed by the Go package infrastructure.

A few additional variables, specific to the Go 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.

  • -The package must specify its Go module name in the FOO_GOMOD - variable. If not specified, it defaults to - URL-domain/1st-part-of-URL/2nd-part-of-URL, e.g FOO_GOMOD will - take the value github.com/bar/foo for a package that specifies - FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)). The Go package - infrastructure will automatically generate a minimal go.mod file - in the package source tree if it doesn’t exist. -
  • -FOO_LDFLAGS and FOO_TAGS can be used to pass respectively the - LDFLAGS or the TAGS to the go build command. -
  • -FOO_BUILD_TARGETS can be used to pass the list of targets that - should be built. If FOO_BUILD_TARGETS is not specified, it - defaults to .. We then have two cases: -

    • -FOO_BUILD_TARGETS is .. In this case, we assume only one binary - will be produced, and that by default we name it after the package - name. If that is not appropriate, the name of the produced binary - can be overridden using FOO_BIN_NAME. -
    • -FOO_BUILD_TARGETS is not .. In this case, we iterate over the - values to build each target, and for each produced a binary that is - the non-directory component of the target. For example if - FOO_BUILD_TARGETS = cmd/docker cmd/dockerd the binaries produced - are docker and dockerd. -
  • -FOO_INSTALL_BINS can be used to pass the list of binaries that - should be installed in /usr/bin on the target. If - FOO_INSTALL_BINS is not specified, it defaults to the lower-case - name of package. -

With the Go infrastructure, all the steps required to build and -install the packages are already defined, and they generally work well -for most Go-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 Section 18.22, “Hooks available in the various build steps†for details. -
  • -By overriding one of the steps. For example, even if the Go - infrastructure is used, if the package .mk file defines its own - FOO_BUILD_CMDS variable, it will be used instead of the default Go - one. However, using this method should be restricted to very - specific cases. Do not use it in the general case. -

18.18. Infrastructure for QMake-based packages

18.18.1. qmake-package tutorial

First, let’s see how to write a .mk file for a QMake-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_CONF_OPTS = QT_CONFIG+=bar QT_CONFIG-=baz
-11: LIBFOO_DEPENDENCIES = bar
-12:
-13: $(eval $(qmake-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 what options to enable for libfoo.

On line 11, we tell Buildroot the dependencies of libfoo.

Finally, on line line 13, we invoke the qmake-package -macro that generates all the Makefile rules that actually allows the -package to be built.

18.18.2. qmake-package reference

The main macro of the QMake package infrastructure is qmake-package. -It is similar to the generic-package macro.

Just like the generic infrastructure, the QMake infrastructure works -by defining a number of variables before calling the qmake-package -macro.

First, all the package metadata information variables that exist in -the generic infrastructure also exist in the QMake infrastructure: -LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, -LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, -LIBFOO_INSTALL_TARGET.

An additional variable, specific to the QMake infrastructure, can -also be defined.

  • -LIBFOO_CONF_ENV, to specify additional environment variables to - pass to the qmake script for the configuration step. By default, empty. -
  • -LIBFOO_CONF_OPTS, to specify additional options to pass to the - qmake script for the configuration step. By default, empty. -
  • -LIBFOO_MAKE_ENV, to specify additional environment variables to the - make command during the build and install steps. By default, empty. -
  • -LIBFOO_MAKE_OPTS, to specify additional targets to pass to the - make command during the build step. By default, empty. -
  • -LIBFOO_INSTALL_STAGING_OPTS, to specify additional targets to pass - to the make command during the staging installation step. By default, - install. -
  • -LIBFOO_INSTALL_TARGET_OPTS, to specify additional targets to pass - to the make command during the target installation step. By default, - install. -
  • -LIBFOO_SYNC_QT_HEADERS, to run syncqt.pl before qmake. Some packages - need this to have a properly populated include directory before - running the build. -

18.19. Infrastructure for packages building kernel modules

Buildroot offers a helper infrastructure to make it easy to write packages that -build and install Linux kernel modules. Some packages only contain a kernel -module, other packages contain programs and libraries in addition to kernel -modules. Buildroot’s helper infrastructure supports either case.

18.19.1. kernel-module tutorial

Let’s start with an example on how to prepare a simple package that only -builds a kernel module, and no other component:

01: ################################################################################
-02: #
-03: # foo
-04: #
-05: ################################################################################
-06:
-07: FOO_VERSION = 1.2.3
-08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz
-09: FOO_SITE = http://www.foosoftware.org/download
-10: FOO_LICENSE = GPL-2.0
-11: FOO_LICENSE_FILES = COPYING
-12:
-13: $(eval $(kernel-module))
-14: $(eval $(generic-package))

Lines 7-11 define the usual meta-data to specify the version, archive name, -remote URI where to find the package source, licensing information.

On line 13, we invoke the kernel-module helper infrastructure, that -generates all the appropriate Makefile rules and variables to build -that kernel module.

Finally, on line 14, we invoke the -generic-package infrastructure.

The dependency on linux is automatically added, so it is not needed to -specify it in FOO_DEPENDENCIES.

What you may have noticed is that, unlike other package infrastructures, -we explicitly invoke a second infrastructure. This allows a package to -build a kernel module, but also, if needed, use any one of other package -infrastructures to build normal userland components (libraries, -executables…). Using the kernel-module infrastructure on its own is -not sufficient; another package infrastructure must be used.

Let’s look at a more complex example:

01: ################################################################################
-02: #
-03: # foo
-04: #
-05: ################################################################################
-06:
-07: FOO_VERSION = 1.2.3
-08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz
-09: FOO_SITE = http://www.foosoftware.org/download
-10: FOO_LICENSE = GPL-2.0
-11: FOO_LICENSE_FILES = COPYING
-12:
-13: FOO_MODULE_SUBDIRS = driver/base
-14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED)
-15:
-16: ifeq ($(BR2_PACKAGE_LIBBAR),y)
-17: FOO_DEPENDENCIES = libbar
-18: FOO_CONF_OPTS = --enable-bar
-19: FOO_MODULE_SUBDIRS += driver/bar
-20: else
-21: FOO_CONF_OPTS = --disable-bar
-22: endif
-23:
-24: $(eval $(kernel-module))
-26: $(eval $(autotools-package))

Here, we see that we have an autotools-based package, that also builds -the kernel module located in sub-directory driver/base and, if libbar -is enabled, the kernel module located in sub-directory driver/bar, and -defines the variable KVERSION to be passed to the Linux buildsystem -when building the module(s).

18.19.2. kernel-module reference

The main macro for the kernel module infrastructure is kernel-module. -Unlike other package infrastructures, it is not stand-alone, and requires -any of the other *-package macros be called after it.

The kernel-module macro defines post-build and post-target-install -hooks to build the kernel modules. If the package’s .mk needs access -to the built kernel modules, it should do so in a post-build hook, -registered after the call to kernel-module. Similarly, if the -package’s .mk needs access to the kernel module after it has been -installed, it should do so in a post-install hook, registered after -the call to kernel-module. Here’s an example:

$(eval $(kernel-module))
-
-define FOO_DO_STUFF_WITH_KERNEL_MODULE
-    # Do something with it...
-endef
-FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE
-
-$(eval $(generic-package))

Finally, unlike the other package infrastructures, there is no -host-kernel-module variant to build a host kernel module.

The following additional variables can optionally be defined to further -configure the build of the kernel module:

  • -FOO_MODULE_SUBDIRS may be set to one or more sub-directories (relative - to the package source top-directory) where the kernel module sources are. - If empty or not set, the sources for the kernel module(s) are considered - to be located at the top of the package source tree. -
  • -FOO_MODULE_MAKE_OPTS may be set to contain extra variable definitions - to pass to the Linux buildsystem. -

You may also reference (but you may not set!) those variables:

  • -LINUX_DIR contains the path to where the Linux kernel has been - extracted and built. -
  • -LINUX_VERSION contains the version string as configured by the user. -
  • -LINUX_VERSION_PROBED contains the real version string of the kernel, - retrieved with running make -C $(LINUX_DIR) kernelrelease -
  • -KERNEL_ARCH contains the name of the current architecture, like arm, - mips… -

18.20. Infrastructure for asciidoc documents

The Buildroot manual, which you are currently reading, is entirely written -using the 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 -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.

18.20.1. 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 $(pkgdir)/*))
-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.

18.20.2. 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 Section 18.22, “Hooks available in the various build steps†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. ditaa or - aafigure). -
  • -FOO_CHECK_DEPENDENCIES_<FMT>_HOOKS, to run additional tests for - the specified format <FMT> (see the list of rendered formats, above). -

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 $(pkgdir)/*))
-08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/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))

18.21. Infrastructure specific to the Linux kernel package

The Linux kernel package can use some specific infrastructures based on package -hooks for building Linux kernel tools or/and building Linux kernel extensions.

18.21.1. linux-kernel-tools

Buildroot offers a helper infrastructure to build some userspace tools -for the target available within the Linux kernel sources. Since their -source code is part of the kernel source code, a special package, -linux-tools, exists and re-uses the sources of the Linux kernel that -runs on the target.

Let’s look at an example of a Linux tool. For a new Linux tool named -foo, create a new menu entry in the existing -package/linux-tools/Config.in. This file will contain the option -descriptions related to each kernel tool that will be used and -displayed in the configuration tool. It would basically look like:

01: config BR2_PACKAGE_LINUX_TOOLS_FOO
-02:     bool "foo"
-03:     select BR2_PACKAGE_LINUX_TOOLS
-04:     help
-05:       This is a comment that explains what foo kernel tool is.
-06:
-07:       http://foosoftware.org/foo/

The name of the option starts with the prefix BR2_PACKAGE_LINUX_TOOLS_, -followed by the uppercase name of the tool (like is done for packages).

Note. Unlike other packages, the linux-tools package options appear in the -linux kernel menu, under the Linux Kernel Tools sub-menu, not under -the Target packages main menu.

Then for each linux tool, add a new .mk.in file named -package/linux-tools/linux-tool-foo.mk.in. It would basically look like:

01: ################################################################################
-02: #
-03: # foo
-04: #
-05: ################################################################################
-06:
-07: LINUX_TOOLS += foo
-08:
-09: FOO_DEPENDENCIES = libbbb
-10:
-11: define FOO_BUILD_CMDS
-12:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo
-13: endef
-14:
-15: define FOO_INSTALL_STAGING_CMDS
-16:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
-17:             DESTDIR=$(STAGING_DIR) \
-18:             foo_install
-19: endef
-20:
-21: define FOO_INSTALL_TARGET_CMDS
-22:     $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
-23:             DESTDIR=$(TARGET_DIR) \
-24:             foo_install
-25: endef

On line 7, we register the Linux tool foo to the list of available -Linux tools.

On line 9, we specify the list of dependencies this tool relies on. These -dependencies are added to the Linux package dependencies list only when the -foo tool is selected.

The rest of the Makefile, lines 11-25 defines what should be done at the -different steps of the Linux tool build process like for a -generic package. They will actually be -used only when the foo tool is selected. The only supported commands are -_BUILD_CMDS, _INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS.

Note. One must not call $(eval $(generic-package)) or any other -package infrastructure! Linux tools are not packages by themselves, -they are part of the linux-tools package.

18.21.2. linux-kernel-extensions

Some packages provide new features that require the Linux kernel tree -to be modified. This can be in the form of patches to be applied on -the kernel tree, or in the form of new files to be added to the -tree. The Buildroot’s Linux kernel extensions infrastructure provides -a simple solution to automatically do this, just after the kernel -sources are extracted and before the kernel patches are -applied. Examples of extensions packaged using this mechanism are the -real-time extensions Xenomai and RTAI, as well as the set of -out-of-tree LCD screens drivers fbtft.

Let’s look at an example on how to add a new Linux extension foo.

First, create the package foo that provides the extension: this -package is a standard package; see the previous chapters on how to -create such a package. This package is in charge of downloading the -sources archive, checking the hash, defining the licence informations -and building user space tools if any.

Then create the Linux extension proper: create a new menu entry in -the existing linux/Config.ext.in. This file contains the option -descriptions related to each kernel extension that will be used and -displayed in the configuration tool. It would basically look like:

01: config BR2_LINUX_KERNEL_EXT_FOO
-02:     bool "foo"
-03:     help
-04:       This is a comment that explains what foo kernel extension is.
-05:
-06:       http://foosoftware.org/foo/

Then for each linux extension, add a new .mk file named -linux/linux-ext-foo.mk. It should basically contain:

01: ################################################################################
-02: #
-03: # foo
-04: #
-05: ################################################################################
-06:
-07: LINUX_EXTENSIONS += foo
-08:
-09: define FOO_PREPARE_KERNEL
-10:     $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D)
-11: endef

On line 7, we add the Linux extension foo to the list of available -Linux extensions.

On line 9-11, we define what should be done by the extension to modify -the Linux kernel tree; this is specific to the linux extension and can -use the variables defined by the foo package, like: $(FOO_DIR) or -$(FOO_VERSION)… as well as all the Linux variables, like: -$(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… -See the definition of those kernel variables.

18.22. Hooks available in the various build steps

The generic infrastructure (and as a result also the derived autotools -and cmake infrastructures) allow packages to specify hooks. -These define further actions to perform after existing steps. -Most hooks aren’t really useful for generic packages, since the .mk -file already has full control over the actions performed in each step -of the package construction.

The following hook points are available:

  • -LIBFOO_PRE_DOWNLOAD_HOOKS -
  • -LIBFOO_POST_DOWNLOAD_HOOKS -
  • -LIBFOO_PRE_EXTRACT_HOOKS -
  • -LIBFOO_POST_EXTRACT_HOOKS -
  • -LIBFOO_PRE_RSYNC_HOOKS -
  • -LIBFOO_POST_RSYNC_HOOKS -
  • -LIBFOO_PRE_PATCH_HOOKS -
  • -LIBFOO_POST_PATCH_HOOKS -
  • -LIBFOO_PRE_CONFIGURE_HOOKS -
  • -LIBFOO_POST_CONFIGURE_HOOKS -
  • -LIBFOO_PRE_BUILD_HOOKS -
  • -LIBFOO_POST_BUILD_HOOKS -
  • -LIBFOO_PRE_INSTALL_HOOKS (for host packages only) -
  • -LIBFOO_POST_INSTALL_HOOKS (for host packages only) -
  • -LIBFOO_PRE_INSTALL_STAGING_HOOKS (for target packages only) -
  • -LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) -
  • -LIBFOO_PRE_INSTALL_TARGET_HOOKS (for target packages only) -
  • -LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) -
  • -LIBFOO_PRE_INSTALL_IMAGES_HOOKS -
  • -LIBFOO_POST_INSTALL_IMAGES_HOOKS -
  • -LIBFOO_PRE_LEGAL_INFO_HOOKS -
  • -LIBFOO_POST_LEGAL_INFO_HOOKS -

These variables are lists of variable names containing actions to be -performed at this hook point. This allows several hooks to be -registered at a given hook point. Here is an example:

define LIBFOO_POST_PATCH_FIXUP
-        action1
-        action2
-endef
-
-LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP

18.22.1. Using the POST_RSYNC hook

The POST_RSYNC hook is run only for packages that use a local source, -either through the local site method or the OVERRIDE_SRCDIR -mechanism. In this case, package sources are copied using rsync from -the local location into the buildroot build directory. The rsync -command does not copy all files from the source directory, though. -Files belonging to a version control system, like the directories -.git, .hg, etc. are not copied. For most packages this is -sufficient, but a given package can perform additional actions using -the POST_RSYNC hook.

In principle, the hook can contain any command you want. One specific -use case, though, is the intentional copying of the version control -directory using rsync. The rsync command you use in the hook can, among -others, use the following variables:

  • -$(SRCDIR): the path to the overridden source directory -
  • -$(@D): the path to the build directory -

18.22.2. Target-finalize hook

Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. -These hooks are run after all packages are built, but before the -filesystem images are generated. They are seldom used, and your -package probably do not need them.

18.23. 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. -
  2. -Add $(TARGET_NLS_DEPENDENCIES) to the package - <pkg>_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. -
  3. -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. -

18.24. Tips and tricks

18.24.1. Package name, config entry name and makefile variable relationship

In Buildroot, there is some relationship between:

  • -the package name, which is the package directory name (and the - name of the *.mk file); -
  • -the config entry name that is declared in the Config.in file; -
  • -the makefile variable prefix. -

It is mandatory to maintain consistency between these elements, -using the following rules:

  • -the package directory and the *.mk name are the package name - itself (e.g.: package/foo-bar_boo/foo-bar_boo.mk); -
  • -the make target name is the package name itself (e.g.: - foo-bar_boo); -
  • -the config entry is the upper case package name with . and - - characters substituted with _, prefixed with BR2_PACKAGE_ (e.g.: - BR2_PACKAGE_FOO_BAR_BOO); -
  • -the *.mk file variable prefix is the upper case package name - with . and - characters substituted with _ (e.g.: - FOO_BAR_BOO_VERSION). -

18.24.2. How to check the coding style

Buildroot provides a script in utils/check-package that checks new or -changed files for coding style. It is not a complete language validator, -but it catches many common mistakes. It is meant to run in the actual -files you created or modified, before creating the patch for submission.

This script can be used for packages, filesystem makefiles, Config.in -files, etc. It does not check the files defining the package -infrastructures and some other files containing similar common code.

To use it, run the check-package script, by telling which files you -created or changed:

$ ./utils/check-package package/new-package/*

If you have the utils directory in your path you can also run:

$ cd package/new-package/
-$ check-package *

The tool can also be used for packages in a br2-external:

$ check-package -b /path/to/br2-ext-tree/package/my-package/*

18.24.3. How to test your package

Once you have added your new package, it is important that you test it -under various conditions: does it build for all architectures? Does it -build with the different C libraries? Does it need threads, NPTL? And -so on…

Buildroot runs autobuilders which -continuously test random configurations. However, these only build the -master branch of the git tree, and your new fancy package is not yet -there.

Buildroot provides a script in utils/test-pkg that uses the same base -configurations as used by the autobuilders so you can test your package -in the same conditions.

First, create a config snippet that contains all the necessary options -needed to enable your package, but without any architecture or toolchain -option. For example, let’s create a config snippet that just enables -libcurl, without any TLS backend:

$ cat libcurl.config
-BR2_PACKAGE_LIBCURL=y

If your package needs more configuration options, you can add them to the -config snippet. For example, here’s how you would test libcurl with -openssl as a TLS backend and the curl program:

$ cat libcurl.config
-BR2_PACKAGE_LIBCURL=y
-BR2_PACKAGE_LIBCURL_CURL=y
-BR2_PACKAGE_OPENSSL=y

Then run the test-pkg script, by telling it what config snippet to use -and what package to test:

$ ./utils/test-pkg -c libcurl.config -p libcurl

By default, test-pkg will build your package against a subset of the -toolchains used by the autobuilders, which has been selected by the -Buildroot developers as being the most useful and representative -subset. If you want to test all toolchains, pass the -a option. Note -that in any case, internal toolchains are excluded as they take too -long to build.

The output lists all toolchains that are tested and the corresponding -result (excerpt, results are fake):

$ ./utils/test-pkg -c libcurl.config -p libcurl
-                armv5-ctng-linux-gnueabi [ 1/11]: OK
-              armv7-ctng-linux-gnueabihf [ 2/11]: OK
-                        br-aarch64-glibc [ 3/11]: SKIPPED
-                           br-arcle-hs38 [ 4/11]: SKIPPED
-                            br-arm-basic [ 5/11]: FAILED
-                  br-arm-cortex-a9-glibc [ 6/11]: OK
-                   br-arm-cortex-a9-musl [ 7/11]: FAILED
-                   br-arm-cortex-m4-full [ 8/11]: OK
-                             br-arm-full [ 9/11]: OK
-                    br-arm-full-nothread [10/11]: FAILED
-                      br-arm-full-static [11/11]: OK
-11 builds, 2 skipped, 2 build failed, 1 legal-info failed

The results mean:

  • -OK: the build was successful. -
  • -SKIPPED: one or more configuration options listed in the config - snippet were not present in the final configuration. This is due to - options having dependencies not satisfied by the toolchain, such as - for example a package that depends on BR2_USE_MMU with a noMMU - toolchain. The missing options are reported in missing.config in - the output build directory (~/br-test-pkg/TOOLCHAIN_NAME/ by - default). -
  • -FAILED: the build failed. Inspect the logfile file in the output - build directory to see what went wrong: -

    • -the actual build failed, -
    • -the legal-info failed, -
    • -one of the preliminary steps (downloading the config file, applying - the configuration, running dirclean for the package) failed. -

When there are failures, you can just re-run the script with the same -options (after you fixed your package); the script will attempt to -re-build the package specified with -p for all toolchains, without -the need to re-build all the dependencies of that package.

The test-pkg script accepts a few options, for which you can get some -help by running:

$ ./utils/test-pkg -h

18.24.4. How to add a package from GitHub

Packages on GitHub often don’t have a download area with release tarballs. -However, it is possible to download tarballs directly from the repository -on GitHub. As GitHub is known to have changed download mechanisms in the -past, the github helper function should be used as shown below.

# Use a tag or a full commit ID
-FOO_VERSION = 1.0
-FOO_SITE = $(call github,<user>,<package>,v$(FOO_VERSION))

Notes

  • -The FOO_VERSION can either be a tag or a commit ID. -
  • -The tarball name generated by github matches the default one from - Buildroot (e.g.: foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), - so it is not necessary to specify it in the .mk file. -
  • -When using a commit ID as version, you should use the full 40 hex characters. -
  • -When the tag contains a prefix such as v in v1.0, then the - VERSION variable should contain just 1.0, and the v should be - added directly in the SITE variable, as illustrated above. This - ensures that the VERSION variable value can be used to match - against release-monitoring.org - results. -

If the package you wish to add does have a release section on GitHub, the -maintainer may have uploaded a release tarball, or the release may just point -to the automatically generated tarball from the git tag. If there is a -release tarball uploaded by the maintainer, we prefer to use that since it -may be slightly different (e.g. it contains a configure script so we don’t -need to do AUTORECONF).

You can see on the release page if it’s an uploaded tarball or a git tag:

github_hash_mongrel2.png
  • -If it looks like the image above then it was uploaded by the - maintainer and you should use that link (in that example: - mongrel2-v1.9.2.tar.bz2) to specify FOO_SITE, and not use the - github helper. -
  • -On the other hand, if there’s is only the "Source code" link, then - it’s an automatically generated tarball and you should use the - github helper function. -

18.24.5. How to add a package from Gitlab

In a similar way to the github macro described in -Section 18.24.4, “How to add a package from GitHubâ€, Buildroot also provides the gitlab macro -to download from Gitlab repositories. It can be used to download -auto-generated tarballs produced by Gitlab, either for specific tags -or commits:

# Use a tag or a full commit ID
-FOO_VERSION = 1.0
-FOO_SITE = $(call gitlab,<user>,<package>,v$(FOO_VERSION))

By default, it will use a .tar.gz tarball, but Gitlab also provides -.tar.bz2 tarballs, so by adding a <pkg>_SOURCE variable, this -.tar.bz2 tarball can be used:

# Use a tag or a full commit ID
-FOO_VERSION = 1.0
-FOO_SITE = $(call gitlab,<user>,<package>,v$(FOO_VERSION))
-FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2

If there is a specific tarball uploaded by the upstream developers in -https://gitlab.com/<project>/releases/, do not use this macro, but -rather use directly the link to the tarball.

18.25. Conclusion

As you can see, adding a software package to Buildroot is simply a -matter of writing a Makefile using an existing example and modifying it -according to the compilation process required by the package.

If you package software that might be useful for other people, don’t -forget to send a patch to the Buildroot mailing list (see -Section 22.5, “Submitting patchesâ€)!

Chapter 19. 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.

19.1. Providing patches

19.1.1. Downloaded

If it is necessary to apply a patch that is available for download, then add it -to the <packagename>_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 <packagename>_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 <packagename>.hash -file.

This method is typically used for packages from Debian.

19.1.2. 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 <number>-<description>.patch.

Notes

  • -The patch files coming with Buildroot should not contain any package version - reference in their filename. -
  • -The field <number> 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 -
  • -Previously, it was mandatory for patches to be prefixed with the name of - the package, like <package>-<number>-<description>.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. -

19.1.3. 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 Section 9.8, “Adding project-specific patches†for -details.

19.2. How patches are applied

  1. -Run the <packagename>_PRE_PATCH_HOOKS commands if defined; -
  2. -Cleanup the build directory, removing any existing *.rej files; -
  3. -If <packagename>_PATCH is defined, then patches from these - tarballs are applied; -
  4. -If there are some *.patch files in the package’s Buildroot - directory or in a package subdirectory named <packageversion>, - 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: - <number>-<description>.patch, where <number> refers to the - apply order. -
  5. -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. -
  6. -Run the <packagename>_POST_PATCH_HOOKS commands if defined. -

If something goes wrong in the steps 3 or 4, then the build fails.

19.3. Format and licensing of the package patches

Patches are released under the same license as the software they apply -to (see Section 13.2, “Complying with the Buildroot licenseâ€).

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 <john.doe@noname.org>
-
---- 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"])

19.4. 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: <some commit id>

or

Fetch from: <some url>

It is also sensible to add a few words about any changes to the patch -that may have been necessary.

Chapter 20. Download infrastructure

TODO

Chapter 21. Debugging Buildroot

It is possible to instrument the steps Buildroot does when building -packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain -the path of one or more scripts (or other executables), in a -space-separated list, you want called before and after each step. The -scripts are called in sequence, with three parameters:

  • -start or end to denote the start (resp. the end) of a step; -
  • -the name of the step about to be started, or which just ended; -
  • -the name of the package. -

For example :

make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2"

The list of steps is:

  • -extract -
  • -patch -
  • -configure -
  • -build -
  • -install-host, when a host-package is installed in $(HOST_DIR) -
  • -install-target, when a target-package is installed in $(TARGET_DIR) -
  • -install-staging, when a target-package is installed in $(STAGING_DIR) -
  • -install-image, when a target-package installs files in $(BINARIES_DIR) -

The script has access to the following variables:

  • -BR2_CONFIG: the path to the Buildroot .config file -
  • -HOST_DIR, STAGING_DIR, TARGET_DIR: see - Section 18.5.2, “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 -

Chapter 22. 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 -Chapter 5, 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 Chapter 3, Getting Buildroot -for more information on obtaining a Buildroot git tree.

22.1. Reproducing, analyzing and fixing bugs

A first way of contributing is to have a look at the open bug reports in -the 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.

22.2. 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: -

    1. -Check if you can reproduce the problem by building with the same - configuration. You can do this manually, or use the - 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. -
    2. -Analyze the problem and create a fix. -
    3. -Verify that the problem is really fixed by starting from a clean - Buildroot tree and only applying your fix. -
    4. -Send the fix to the Buildroot mailing list (see - Section 22.5, “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

22.3. 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 -Section 22.3.1, “Applying Patches from 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 Section 22.3.1, “Applying Patches from Patchwork†for more -information on using Buildroot’s Patchwork website to apply patches.

22.3.1. 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 <test-branch-name>
-$ wget -O - <mbox-url> | git am

Another option for applying patches is to create a bundle. A bundle is -a set of patches that you can group together using the patchwork -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.

22.4. 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 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.

22.5. 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.

22.5.1. 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 -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 <your@email.address> 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 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 -<packagename>: 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 <packagename>: bump to version <new -version>. If the new version only contains security updates compared -to the existing one, the summary should be <packagename>: security -bump to version <new 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 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 -Section 18.24.2, “How to check the coding style†for more information).

22.5.2. 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 Chapter 23, DEVELOPERS file and get-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.

22.5.3. 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 [4]; -
  • -whenever you feel it will help presenting your work, your choices, - the review process, etc. -

22.5.4. 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 <your@email.address>
----
-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.

22.5.5. 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 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 <john.doe@example.net>
-
----
-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 <n> (where <n> is the -version number):

$ git format-patch -v4 -M -s -o outgoing origin/master

When you provide a new version of a patch, please mark the old one as -superseded in patchwork. You need to -create an account on 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 patchwork should -match the one you use for sending patches to the mailing list.

You can also add the --in-reply-to <message-id> 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 -patchwork. The advantage of -in-reply-to is that patchwork will automatically mark the previous -version of the patch as superseded.

22.6. Reporting issues/bugs or getting help

Before reporting any issue, please check in -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 bug tracker or by -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 Section 9.3, “Storing the Buildroot configurationâ€).

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/

22.7. 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.

22.7.1. 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.

22.7.2. 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.

22.7.3. 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 <name> 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:<name>-runtime-tests
  • -To trigger one or several test case jobs, push a branch that ends - with the complete test case name - (tests.init.test_busybox.TestInitSystemBusyboxRo) or with the name - of a category of tests (tests.init.test_busybox): -
 $ git push gitlab HEAD:<name>-<test case name>

Example to run one test:

 $ git push gitlab HEAD:foo-tests.init.test_busybox.TestInitSystemBusyboxRo

Examples to run several tests part of the same group:

 $ git push gitlab HEAD:foo-tests.init.test_busybox
- $ git push gitlab HEAD:foo-tests.init


[4] RFC: (Request for comments) change proposal

Chapter 23. DEVELOPERS file and get-developers

The main Buildroot directory contains a file named DEVELOPERS that -lists the developers involved with various areas of Buildroot. Thanks -to this file, the get-developers tool allows to:

  • -Calculate the list of developers to whom patches should be sent, by - parsing the patches and matching the modified files with the - relevant developers. See Section 22.5, “Submitting patches†for details. -
  • -Find which developers are taking care of a given architecture or - package, so that they can be notified when a build failure occurs on - this architecture or package. This is done in interaction with - Buildroot’s autobuild infrastructure. -

We ask developers adding new packages, new boards, or generally new -functionality in Buildroot, to register themselves in the DEVELOPERS -file. As an example, we expect a developer contributing a new package -to include in his patch the appropriate modification to the -DEVELOPERS file.

The DEVELOPERS file format is documented in detail inside the file -itself.

The get-developers tool, located in utils/ allows to use -the DEVELOPERS file for various tasks:

  • -When passing one or several patches as command line argument, - get-developers will return the appropriate git send-email - command. If the -e option is passed, only the email addresses are - printed in a format suitable for git send-email --cc-cmd. -
  • -When using the -a <arch> command line option, get-developers will - return the list of developers in charge of the given architecture. -
  • -When using the -p <package> command line option, get-developers - will return the list of developers in charge of the given package. -
  • -When using the -c command line option, get-developers will look - at all files under version control in the Buildroot repository, and - list the ones that are not handled by any developer. The purpose of - this option is to help completing the DEVELOPERS file. -
  • -When using without any arguments, it validates the integrity of the - DEVELOPERS file and will note WARNINGS for items that don’t match. -

Chapter 24. Release Engineering

24.1. Releases

The Buildroot project makes quarterly releases with monthly bugfix -releases. The first release of each year is a long term support -release, LTS.

  • -Quarterly releases: 2020.02, 2020.05, 2020.08, and 2020.11 -
  • -Bugfix releases: 2020.02.1, 2020.02.2, … -
  • -LTS releases: 2020.02, 2021.02, … -

Releases are supported until the first bugfix release of the next -release, e.g., 2020.05.x is EOL when 2020.08.1 is released.

LTS releases are supported until the first bugfix release of the next -LTS, e.g., 2020.02.x is supported until 2021.02.1 is released.

24.2. Development

Each release cycle consist of two months of development on the master -branch and one month stabilization before the release is made. During -this phase no new features are added to master, only bugfixes.

The stabilization phase starts with tagging -rc1, and every week until -the release, another release candidate is tagged.

To handle new features and version bumps during the stabilization phase, -a next branch may be created for these features. Once the current -release has been made, the next branch is merged into master and -the development cycle for the next release continues there.

Part IV. Appendix

Chapter 25. 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

Chapter 26. Makeusers syntax documentation

The syntax to create users is inspired by the makedev syntax, above, but -is specific to Buildroot.

The syntax for adding a user is a space-separated list of fields, one -user per line; the fields are:

username

uid

group

gid

password

home

shell

groups

comment

Where:

  • -username is the desired user name (aka login name) for the user. - It can not be root, and must be unique. If set to -, then just a - group will be created. -
  • -uid is the desired UID for the user. It must be unique, and not - 0. If set to -1, then a unique UID will be computed by Buildroot - in the range [1000…1999] -
  • -group is the desired name for the user’s main group. It can not - be root. If the group does not exist, it will be created. -
  • -gid is the desired GID for the user’s main group. It must be unique, - and not 0. If set to -1, and the group does not already exist, then - a unique GID will be computed by Buildroot in the range [1000..1999] -
  • -password is the crypt(3)-encoded password. If prefixed with !, - then login is disabled. If prefixed with =, then it is interpreted - as clear-text, and will be crypt-encoded (using MD5). If prefixed with - !=, then the password will be crypt-encoded (using MD5) and login - will be disabled. If set to *, then login is not allowed. If set to - -, then no password value will be set. -
  • -home is the desired home directory for the user. If set to -, no - home directory will be created, and the user’s home will be /. - Explicitly setting home to / is not allowed. -
  • -shell is the desired shell for the user. If set to -, then - /bin/false is set as the user’s shell. -
  • -groups is the comma-separated list of additional groups the user - should be part of. If set to -, then the user will be a member of - no additional group. Missing groups will be created with an arbitrary - gid. -
  • -comment (aka GECOS - field) is an almost-free-form text. -

There are a few restrictions on the content of each field:

  • -except for comment, all fields are mandatory. -
  • -except for comment, fields may not contain spaces. -
  • -no field may contain a colon (:). -

If home is not -, then the home directory, and all files below, -will belong to the user and its main group.

Examples:

foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user

This will create this user:

  • -username (aka login name) is: foo -
  • -uid is computed by Buildroot -
  • -main group is: bar -
  • -main group gid is computed by Buildroot -
  • -clear-text password is: blabla, will be crypt(3)-encoded, and login is disabled. -
  • -home is: /home/foo -
  • -shell is: /bin/sh -
  • -foo is also a member of groups: alpha and bravo -
  • -comment is: Foo user -
test 8000 wheel -1 = - /bin/sh - Test user

This will create this user:

  • -username (aka login name) is: test -
  • -uid is : 8000 -
  • -main group is: wheel -
  • -main group gid is computed by Buildroot, and will use the value defined in the rootfs skeleton -
  • -password is empty (aka no password). -
  • -home is / but will not belong to test -
  • -shell is: /bin/sh -
  • -test is not a member of any additional groups -
  • -comment is: Test user - -

Chapter 27. 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.

27.1. General approach

To migrate from an older Buildroot version, take the following steps.

  1. -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. -
  2. -Review the specific migration notes below and make the required - adaptations to external packages and custom build scripts. -
  3. -Update Buildroot. -
  4. -Run make menuconfig starting from the existing .config. -
  5. -If anything is enabled in the Legacy menu, check its help text, - unselect it, and save the configuration. -
  6. -For more details, review the git commit messages for the packages that - you need. Change into the packages directory and run - git log <old version>.. — <your packages>. -
  7. -Build in the new Buildroot environment. -
  8. -Fix build issues in external packages (usually due to updated - dependencies). -
  9. -Run make graph-size. -
  10. -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. -
  11. -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. -

27.2. 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 Section 9.2, “Keeping customizations outside of Buildrootâ€).

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.

27.3. 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.

\ No newline at end of file diff --git a/docs.original/manual/manual.mk b/docs.original/manual/manual.mk deleted file mode 100644 index 1d03b213db..0000000000 --- a/docs.original/manual/manual.mk +++ /dev/null @@ -1,10 +0,0 @@ -################################################################################ -# -# The Buildroot manual -# -################################################################################ - -MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.txt) $(wildcard docs/images/*)) -MANUAL_RESOURCES = $(TOPDIR)/docs/images - -$(eval $(call asciidoc-document)) diff --git a/docs.original/manual/manual.pdf b/docs.original/manual/manual.pdf deleted file mode 100644 index a547426323..0000000000 Binary files a/docs.original/manual/manual.pdf and /dev/null differ diff --git a/docs.original/manual/manual.text b/docs.original/manual/manual.text deleted file mode 100644 index e31d3f86aa..0000000000 --- a/docs.original/manual/manual.text +++ /dev/null @@ -1,8468 +0,0 @@ - ---------------------------------------------------------------------- - -The Buildroot user manual - ---------------------------------------------------------------------- ---------------------------------------------------------------------- - -Table of Contents - - -I. Getting started - - 1. About Buildroot - 2. System requirements - - 2.1. Mandatory packages - 2.2. Optional packages - - 3. Getting Buildroot - 4. Buildroot quick start - 5. Community resources - -II. User guide - - 6. Buildroot configuration - - 6.1. Cross-compilation toolchain - 6.2. /dev management - 6.3. init system - - 7. Configuration of other components - 8. General Buildroot usage - - 8.1. make tips - 8.2. Understanding when a full rebuild is necessary - 8.3. Understanding how to rebuild packages - 8.4. Offline builds - 8.5. Building out-of-tree - 8.6. Environment variables - 8.7. Dealing efficiently with filesystem images - 8.8. Details about packages - 8.9. Graphing the dependencies between packages - 8.10. Graphing the build duration - 8.11. Graphing the filesystem size contribution of packages - 8.12. Top-level parallel build - 8.13. Integration with Eclipse - 8.14. Advanced usage - - 9. Project-specific customization - - 9.1. Recommended directory structure - 9.2. Keeping customizations outside of Buildroot - 9.3. Storing the Buildroot configuration - 9.4. Storing the configuration of other components - 9.5. Customizing the generated target filesystem - 9.6. Adding custom user accounts - 9.7. Customization after the images have been created - 9.8. Adding project-specific patches - 9.9. Adding project-specific packages - 9.10. Quick guide to storing your project-specific - customizations - - 10. Using SELinux in Buildroot - - 10.1. Enabling SELinux support - 10.2. SELinux policy tweaking - - 11. Frequently Asked Questions & Troubleshooting - - 11.1. The boot hangs after Starting network… - 11.2. Why is there no compiler on the target? - 11.3. Why are there no development files on the target? - 11.4. Why is there no documentation on the target? - 11.5. Why are some packages not visible in the Buildroot - config menu? - 11.6. Why not use the target directory as a chroot directory? - 11.7. Why doesn’t Buildroot generate binary packages (.deb, - .ipkg…)? - 11.8. How to speed-up the build process? - - 12. Known issues - 13. Legal notice and licensing - - 13.1. Complying with open source licenses - 13.2. Complying with the Buildroot license - - 14. Beyond Buildroot - - 14.1. Boot the generated images - 14.2. Chroot - -III. Developer guide - - 15. How Buildroot works - 16. Coding style - - 16.1. Config.in file - 16.2. The .mk file - 16.3. The documentation - 16.4. Support scripts - - 17. Adding support for a particular board - 18. Adding new packages to Buildroot - - 18.1. Package directory - 18.2. Config files - 18.3. The .mk file - 18.4. The .hash file - 18.5. Infrastructure for packages with specific build systems - 18.6. Infrastructure for autotools-based packages - 18.7. Infrastructure for CMake-based packages - 18.8. Infrastructure for Python packages - 18.9. Infrastructure for LuaRocks-based packages - 18.10. Infrastructure for Perl/CPAN packages - 18.11. Infrastructure for virtual packages - 18.12. Infrastructure for packages using kconfig for - configuration files - 18.13. Infrastructure for rebar-based packages - 18.14. Infrastructure for Waf-based packages - 18.15. Infrastructure for Meson-based packages - 18.16. Integration of Cargo-based packages - 18.17. Infrastructure for Go packages - 18.18. Infrastructure for QMake-based packages - 18.19. Infrastructure for packages building kernel modules - 18.20. Infrastructure for asciidoc documents - 18.21. Infrastructure specific to the Linux kernel package - 18.22. Hooks available in the various build steps - 18.23. Gettext integration and interaction with packages - 18.24. Tips and tricks - 18.25. Conclusion - - 19. Patching a package - - 19.1. Providing patches - 19.2. How patches are applied - 19.3. Format and licensing of the package patches - 19.4. Integrating patches found on the Web - - 20. Download infrastructure - 21. Debugging Buildroot - 22. Contributing to Buildroot - - 22.1. Reproducing, analyzing and fixing bugs - 22.2. Analyzing and fixing autobuild failures - 22.3. Reviewing and testing patches - 22.4. Work on items from the TODO list - 22.5. Submitting patches - 22.6. Reporting issues/bugs or getting help - 22.7. Using the runtime tests framework - - 23. DEVELOPERS file and get-developers - 24. Release Engineering - - 24.1. Releases - 24.2. Development - -IV. Appendix - - 25. Makedev syntax documentation - 26. Makeusers syntax documentation - 27. Migrating from older Buildroot versions - - 27.1. General approach - 27.2. Migrating to 2016.11 - 27.3. Migrating to 2017.08 - -List of Examples - -18.1. Config script: divine package -18.2. Config script: imagemagick package: - - ---------------------------------------------------------------------- - ---------------------------------------------------------------------- - -Buildroot 2021.08.2 manual generated on 2021-11-10 13:25:05 UTC from -git revision d815599e37 - -The Buildroot manual is written by the Buildroot developers. It is -licensed under the GNU General Public License, version 2. Refer to -the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= -d815599e371d759b193de4207bec6f2701827db0] file in the Buildroot -sources for the full text of this license. - -Copyright © 2004-2020 The Buildroot developers - -Part I. Getting started - -Table of Contents - -1. About Buildroot -2. System requirements - - 2.1. Mandatory packages - 2.2. Optional packages - -3. Getting Buildroot -4. Buildroot quick start -5. Community resources - -Chapter 1. About Buildroot - -Buildroot is a tool that simplifies and automates the process of -building a complete Linux system for an embedded system, using -cross-compilation. - -In order to achieve this, Buildroot is able to generate a -cross-compilation toolchain, a root filesystem, a Linux kernel image -and a bootloader for your target. Buildroot can be used for any -combination of these options, independently (you can for example use -an existing cross-compilation toolchain, and build only your root -filesystem with Buildroot). - -Buildroot is useful mainly for people working with embedded systems. -Embedded systems often use processors that are not the regular x86 -processors everyone is used to having in his PC. They can be PowerPC -processors, MIPS processors, ARM processors, etc. - -Buildroot supports numerous processors and their variants; it also -comes with default configurations for several boards available -off-the-shelf. Besides this, a number of third-party projects are -based on, or develop their BSP ^[1] or SDK ^[2] on top of Buildroot. - - ---------------------------------------------------------------------- - -^[1] BSP: Board Support Package - -^[2] SDK: Software Development Kit - -Chapter 2. 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). - -2.1. Mandatory packages - - * Build tools: - - + which - + sed - + make (version 3.81 or any later) - + binutils - + build-essential (only for Debian based systems) - + 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 - * Source fetching tools: - - + wget - -2.2. 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 Chapter 20, Download infrastructure 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 - + 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 - -Chapter 3. Getting Buildroot - -Buildroot releases are made every 3 months, in February, May, August -and November. Release numbers are in the format YYYY.MM, so for -example 2013.02, 2014.08. - -Release tarballs are available at http://buildroot.org/downloads/. - -For your convenience, a Vagrantfile [https://www.vagrantup.com/] is -available in support/misc/Vagrantfile in the Buildroot source tree to -quickly set up a virtual machine with the needed dependencies to get -started. - -If you want to setup an isolated buildroot environment on Linux or -Mac Os X, paste this line onto your terminal: - -curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up - -If you are on Windows, paste this into your powershell: - -(new-object System.Net.WebClient).DownloadFile( -"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); -vagrant up - -If you want to follow development, you can use the daily snapshots or -make a clone of the Git repository. Refer to the Download page [http: -//buildroot.org/download] of the Buildroot website for more details. - -Chapter 4. Buildroot quick start - -Important: you can and should build everything as a normal user. -There is no need to be root to configure and use Buildroot. By -running all commands as a regular user, you protect your system -against packages behaving badly during compilation and installation. - -The first step when using Buildroot is to create a configuration. -Buildroot has a nice configuration tool similar to the one you can -find in the Linux kernel [http://www.kernel.org/] or in BusyBox -[http://www.busybox.net/]. - -From the buildroot directory, run - - $ make menuconfig - -for the original curses-based configurator, or - - $ make nconfig - -for the new curses-based configurator, or - - $ make xconfig - -for the Qt-based configurator, or - - $ make gconfig - -for the GTK-based configurator. - -All of these "make" commands will need to build a configuration -utility (including the interface), so you may need to install -"development" packages for relevant libraries used by the -configuration utilities. Refer to Chapter 2, System requirements for -more details, specifically the optional requirements to get the -dependencies of your favorite interface. - -For each menu entry in the configuration tool, you can find -associated help that describes the purpose of the entry. Refer to -Chapter 6, Buildroot configuration for details on some specific -configuration aspects. - -Once everything is configured, the configuration tool generates a -.config file that contains the entire configuration. This file will -be read by the top-level Makefile. - -To start the build process, simply run: - - $ make - -By default, Buildroot does not support top-level parallel build, so -running make -jN is not necessary. There is however experimental -support for top-level parallel build, see Section 8.12, “Top-level -parallel buildâ€. - -The make command will generally perform the following steps: - - * download source files (as required); - * configure, build and install the cross-compilation toolchain, or - simply import an external toolchain; - * configure, build and install selected target packages; - * build a kernel image, if selected; - * build a bootloader image, if selected; - * create a root filesystem in selected formats. - -Buildroot output is stored in a single directory, output/. This -directory contains several subdirectories: - - * images/ where all the images (kernel image, bootloader and root - filesystem images) are stored. These are the files you need to - put on your target system. - * build/ where all the components are built (this includes tools - needed by Buildroot on the host and packages compiled for the - target). This directory contains one subdirectory for each of - these components. - * host/ contains both the tools built for the host, and the sysroot - of the target toolchain. The former is an installation of tools - compiled for the host that are needed for the proper execution of - Buildroot, including the cross-compilation toolchain. The latter - is a hierarchy similar to a root filesystem hierarchy. It - contains the headers and libraries of all user-space packages - that provide and install libraries used by other packages. - However, this directory is not intended to be the root filesystem - for the target: it contains a lot of development files, - unstripped binaries and libraries that make it far too big for an - embedded system. These development files are used to compile - libraries and applications for the target that depend on other - libraries. - * staging/ is a symlink to the target toolchain sysroot inside host - /, which exists for backwards compatibility. - * target/ which contains almost the complete root filesystem for - the target: everything needed is present except the device files - in /dev/ (Buildroot can’t create them because Buildroot doesn’t - run as root and doesn’t want to run as root). Also, it doesn’t - have the correct permissions (e.g. setuid for the busybox - binary). Therefore, this directory should not be used on your - target. Instead, you should use one of the images built in the - images/ directory. If you need an extracted image of the root - filesystem for booting over NFS, then use the tarball image - generated in images/ and extract it as root. Compared to staging - /, target/ contains only the files and libraries needed to run - the selected target applications: the development files (headers, - etc.) are not present, the binaries are stripped. - -These commands, make menuconfig|nconfig|gconfig|xconfig and make, are -the basic ones that allow to easily and quickly generate images -fitting your needs, with all the features and applications you -enabled. - -More details about the "make" command usage are given in Section 8.1, -“make tipsâ€. - -Chapter 5. Community resources - -Like any open source project, Buildroot has different ways to share -information in its community and outside. - -Each of those ways may interest you if you are looking for some help, -want to understand Buildroot or contribute to the project. - -Mailing List - - Buildroot has a mailing list for discussion and development. It - is the main method of interaction for Buildroot users and - developers. - - Only subscribers to the Buildroot mailing list are allowed to - post to this list. You can subscribe via the mailing list info - page [http://lists.buildroot.org/mailman/listinfo/buildroot]. - - Mails that are sent to the mailing list are also available in the - mailing list archives, available through Mailman [http:// - lists.buildroot.org/pipermail/buildroot] or at lore.kernel.org - [https://lore.kernel.org/buildroot/]. - -IRC - - The Buildroot IRC channel #buildroot [irc://irc.oftc.net/# - buildroot] is hosted on OFTC [https://www.oftc.net/WebChat/]. It - is a useful place to ask quick questions or discuss on certain - topics. - - When asking for help on IRC, share relevant logs or pieces of - code using a code sharing website, such as https://paste.ack.tf/. - - Note that for certain questions, posting to the mailing list may - be better as it will reach more people, both developers and - users. - -Bug tracker - Bugs in Buildroot can be reported via the mailing list or - alternatively via the Buildroot bugtracker [https:// - bugs.buildroot.org/buglist.cgi?product=buildroot]. Please refer - to Section 22.6, “Reporting issues/bugs or getting help†before - creating a bug report. -Wiki - The Buildroot wiki page [http://elinux.org/Buildroot] is hosted - on the eLinux [http://elinux.org] wiki. It contains some useful - links, an overview of past and upcoming events, and a TODO list. -Patchwork - - Patchwork is a web-based patch tracking system designed to - facilitate the contribution and management of contributions to an - open-source project. Patches that have been sent to a mailing - list are 'caught' by the system, and appear on a web page. Any - comments posted that reference the patch are appended to the - patch page too. For more information on Patchwork see http:// - jk.ozlabs.org/projects/patchwork/. - - Buildroot’s Patchwork website is mainly for use by Buildroot’s - maintainer to ensure patches aren’t missed. It is also used by - Buildroot patch reviewers (see also Section 22.3.1, “Applying - Patches from Patchworkâ€). However, since the website exposes - patches and their corresponding review comments in a clean and - concise web interface, it can be useful for all Buildroot - developers. - - The Buildroot patch management interface is available at http:// - patchwork.buildroot.org. - -Part II. User guide - -Table of Contents - -6. Buildroot configuration - - 6.1. Cross-compilation toolchain - 6.2. /dev management - 6.3. init system - -7. Configuration of other components -8. General Buildroot usage - - 8.1. make tips - 8.2. Understanding when a full rebuild is necessary - 8.3. Understanding how to rebuild packages - 8.4. Offline builds - 8.5. Building out-of-tree - 8.6. Environment variables - 8.7. Dealing efficiently with filesystem images - 8.8. Details about packages - 8.9. Graphing the dependencies between packages - 8.10. Graphing the build duration - 8.11. Graphing the filesystem size contribution of packages - 8.12. Top-level parallel build - 8.13. Integration with Eclipse - 8.14. Advanced usage - -9. Project-specific customization - - 9.1. Recommended directory structure - 9.2. Keeping customizations outside of Buildroot - 9.3. Storing the Buildroot configuration - 9.4. Storing the configuration of other components - 9.5. Customizing the generated target filesystem - 9.6. Adding custom user accounts - 9.7. Customization after the images have been created - 9.8. Adding project-specific patches - 9.9. Adding project-specific packages - 9.10. Quick guide to storing your project-specific customizations - -10. Using SELinux in Buildroot - - 10.1. Enabling SELinux support - 10.2. SELinux policy tweaking - -11. Frequently Asked Questions & Troubleshooting - - 11.1. The boot hangs after Starting network… - 11.2. Why is there no compiler on the target? - 11.3. Why are there no development files on the target? - 11.4. Why is there no documentation on the target? - 11.5. Why are some packages not visible in the Buildroot config - menu? - 11.6. Why not use the target directory as a chroot directory? - 11.7. Why doesn’t Buildroot generate binary packages (.deb, - .ipkg…)? - 11.8. How to speed-up the build process? - -12. Known issues -13. Legal notice and licensing - - 13.1. Complying with open source licenses - 13.2. Complying with the Buildroot license - -14. Beyond Buildroot - - 14.1. Boot the generated images - 14.2. Chroot - -Chapter 6. Buildroot configuration - -All the configuration options in make *config have a help text -providing details about the option. - -The make *config commands also offer a search tool. Read the help -message in the different frontend menus to know how to use it: - - * in menuconfig, the search tool is called by pressing /; - * in xconfig, the search tool is called by pressing Ctrl + f. - -The result of the search shows the help message of the matching -items. In menuconfig, numbers in the left column provide a shortcut -to the corresponding entry. Just type this number to directly jump to -the entry, or to the containing menu in case the entry is not -selectable due to a missing dependency. - -Although the menu structure and the help text of the entries should -be sufficiently self-explanatory, a number of topics require -additional explanation that cannot easily be covered in the help text -and are therefore covered in the following sections. - -6.1. Cross-compilation toolchain - -A compilation toolchain is the set of tools that allows you to -compile code for your system. It consists of a compiler (in our case, -gcc), binary utils like assembler and linker (in our case, binutils) -and a C standard library (for example GNU Libc [http://www.gnu.org/ -software/libc/libc.html], uClibc-ng [http://www.uclibc-ng.org/]). - -The system installed on your development station certainly already -has a compilation toolchain that you can use to compile an -application that runs on your system. If you’re using a PC, your -compilation toolchain runs on an x86 processor and generates code for -an x86 processor. Under most Linux systems, the compilation toolchain -uses the GNU libc (glibc) as the C standard library. This compilation -toolchain is called the "host compilation toolchain". The machine on -which it is running, and on which you’re working, is called the "host -system" ^[3]. - -The compilation toolchain is provided by your distribution, and -Buildroot has nothing to do with it (other than using it to build a -cross-compilation toolchain and other tools that are run on the -development host). - -As said above, the compilation toolchain that comes with your system -runs on and generates code for the processor in your host system. As -your embedded system has a different processor, you need a -cross-compilation toolchain - a compilation toolchain that runs on -your host system but generates code for your target system (and -target processor). For example, if your host system uses x86 and your -target system uses ARM, the regular compilation toolchain on your -host runs on x86 and generates code for x86, while the -cross-compilation toolchain runs on x86 and generates code for ARM. - -Buildroot provides two solutions for the cross-compilation toolchain: - - * The internal toolchain backend, called Buildroot toolchain in the - configuration interface. - * The external toolchain backend, called External toolchain in the - configuration interface. - -The choice between these two solutions is done using the Toolchain -Type option in the Toolchain menu. Once one solution has been chosen, -a number of configuration options appear, they are detailed in the -following sections. - -6.1.1. Internal toolchain backend - -The internal toolchain backend is the backend where Buildroot builds -by itself a cross-compilation toolchain, before building the -userspace applications and libraries for your target embedded system. - -This backend supports several C libraries: uClibc-ng [http:// -www.uclibc-ng.org], glibc [http://www.gnu.org/software/libc/ -libc.html] and musl [http://www.musl-libc.org]. - -Once you have selected this backend, a number of options appear. The -most important ones allow to: - - * Change the version of the Linux kernel headers used to build the - toolchain. This item deserves a few explanations. In the process - of building a cross-compilation toolchain, the C library is being - built. This library provides the interface between userspace - applications and the Linux kernel. In order to know how to "talk" - to the Linux kernel, the C library needs to have access to the - Linux kernel headers (i.e. the .h files from the kernel), which - define the interface between userspace and the kernel (system - calls, data structures, etc.). Since this interface is backward - compatible, the version of the Linux kernel headers used to build - your toolchain do not need to match exactly the version of the - Linux kernel you intend to run on your embedded system. They only - need to have a version equal or older to the version of the Linux - kernel you intend to run. If you use kernel headers that are more - recent than the Linux kernel you run on your embedded system, - then the C library might be using interfaces that are not - provided by your Linux kernel. - * Change the version of the GCC compiler, binutils and the C - library. - * Select a number of toolchain options (uClibc only): whether the - toolchain should have RPC support (used mainly for NFS), - wide-char support, locale support (for internationalization), C++ - support or thread support. Depending on which options you choose, - the number of userspace applications and libraries visible in - Buildroot menus will change: many applications and libraries - require certain toolchain options to be enabled. Most packages - show a comment when a certain toolchain option is required to be - able to enable those packages. If needed, you can further refine - the uClibc configuration by running make uclibc-menuconfig. Note - however that all packages in Buildroot are tested against the - default uClibc configuration bundled in Buildroot: if you deviate - from this configuration by removing features from uClibc, some - packages may no longer build. - -It is worth noting that whenever one of those options is modified, -then the entire toolchain and system must be rebuilt. See -Section 8.2, “Understanding when a full rebuild is necessaryâ€. - -Advantages of this backend: - - * Well integrated with Buildroot - * Fast, only builds what’s necessary - -Drawbacks of this backend: - - * Rebuilding the toolchain is needed when doing make clean, which - takes time. If you’re trying to reduce your build time, consider - using the External toolchain backend. - -6.1.2. External toolchain backend - -The external toolchain backend allows to use existing pre-built -cross-compilation toolchains. Buildroot knows about a number of -well-known cross-compilation toolchains (from Linaro [http:// -www.linaro.org] for ARM, Sourcery CodeBench [http://www.mentor.com/ -embedded-software/sourcery-tools/sourcery-codebench/editions/ -lite-edition/] for ARM, x86-64, PowerPC, and MIPS, and is capable of -downloading them automatically, or it can be pointed to a custom -toolchain, either available for download or installed locally. - -Then, you have three solutions to use an external toolchain: - - * Use a predefined external toolchain profile, and let Buildroot - download, extract and install the toolchain. Buildroot already - knows about a few CodeSourcery and Linaro toolchains. Just select - the toolchain profile in Toolchain from the available ones. This - is definitely the easiest solution. - * Use a predefined external toolchain profile, but instead of - having Buildroot download and extract the toolchain, you can tell - Buildroot where your toolchain is already installed on your - system. Just select the toolchain profile in Toolchain through - the available ones, unselect Download toolchain automatically, - and fill the Toolchain path text entry with the path to your - cross-compiling toolchain. - * Use a completely custom external toolchain. This is particularly - useful for toolchains generated using crosstool-NG or with - Buildroot itself. To do this, select the Custom toolchain - solution in the Toolchain list. You need to fill the Toolchain - path, Toolchain prefix and External toolchain C library options. - Then, you have to tell Buildroot what your external toolchain - supports. If your external toolchain uses the glibc library, you - only have to tell whether your toolchain supports C++ or not and - whether it has built-in RPC support. If your external toolchain - uses the uClibc library, then you have to tell Buildroot if it - supports RPC, wide-char, locale, program invocation, threads and - C++. At the beginning of the execution, Buildroot will tell you - if the selected options do not match the toolchain configuration. - -Our external toolchain support has been tested with toolchains from -CodeSourcery and Linaro, toolchains generated by crosstool-NG [http:/ -/crosstool-ng.org], and toolchains generated by Buildroot itself. In -general, all toolchains that support the sysroot feature should work. -If not, do not hesitate to contact the developers. - -We do not support toolchains or SDK generated by OpenEmbedded or -Yocto, because these toolchains are not pure toolchains (i.e. just -the compiler, binutils, the C and C++ libraries). Instead these -toolchains come with a very large set of pre-compiled libraries and -programs. Therefore, Buildroot cannot import the sysroot of the -toolchain, as it would contain hundreds of megabytes of pre-compiled -libraries that are normally built by Buildroot. - -We also do not support using the distribution toolchain (i.e. the gcc -/binutils/C library installed by your distribution) as the toolchain -to build software for the target. This is because your distribution -toolchain is not a "pure" toolchain (i.e. only with the C/C++ -library), so we cannot import it properly into the Buildroot build -environment. So even if you are building a system for a x86 or x86_64 -target, you have to generate a cross-compilation toolchain with -Buildroot or crosstool-NG. - -If you want to generate a custom toolchain for your project, that can -be used as an external toolchain in Buildroot, our recommendation is -to build it either with Buildroot itself (see Section 6.1.3, “Build -an external toolchain with Buildrootâ€) or with crosstool-NG [http:// -crosstool-ng.org]. - -Advantages of this backend: - - * Allows to use well-known and well-tested cross-compilation - toolchains. - * Avoids the build time of the cross-compilation toolchain, which - is often very significant in the overall build time of an - embedded Linux system. - -Drawbacks of this backend: - - * If your pre-built external toolchain has a bug, may be hard to - get a fix from the toolchain vendor, unless you build your - external toolchain by yourself using Buildroot or Crosstool-NG. - -6.1.3. Build an external toolchain with Buildroot - -The Buildroot internal toolchain option can be used to create an -external toolchain. Here are a series of steps to build an internal -toolchain and package it up for reuse by Buildroot itself (or other -projects). - -Create a new Buildroot configuration, with the following details: - - * Select the appropriate Target options for your target CPU - architecture - * In the Toolchain menu, keep the default of Buildroot toolchain - for Toolchain type, and configure your toolchain as desired - * In the System configuration menu, select None as the Init system - and none as /bin/sh - * In the Target packages menu, disable BusyBox - * In the Filesystem images menu, disable tar the root filesystem - -Then, we can trigger the build, and also ask Buildroot to generate a -SDK. This will conveniently generate for us a tarball which contains -our toolchain: - -make sdk - -This produces the SDK tarball in $(O)/images, with a name similar to -arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz. Save this -tarball, as it is now the toolchain that you can re-use as an -external toolchain in other Buildroot projects. - -In those other Buildroot projects, in the Toolchain menu: - - * Set Toolchain type to External toolchain - * Set Toolchain to Custom toolchain - * Set Toolchain origin to Toolchain to be downloaded and installed - * Set Toolchain URL to file:///path/to/your/sdk/tarball.tar.gz - -6.1.3.1. External toolchain wrapper - -When using an external toolchain, Buildroot generates a wrapper -program, that transparently passes the appropriate options (according -to the configuration) to the external toolchain programs. In case you -need to debug this wrapper to check exactly what arguments are -passed, you can set the environment variable BR2_DEBUG_WRAPPER to -either one of: - - * 0, empty or not set: no debug - * 1: trace all arguments on a single line - * 2: trace one argument per line - -6.2. /dev management - -On a Linux system, the /dev directory contains special files, called -device files, that allow userspace applications to access the -hardware devices managed by the Linux kernel. Without these device -files, your userspace applications would not be able to use the -hardware devices, even if they are properly recognized by the Linux -kernel. - -Under System configuration, /dev management, Buildroot offers four -different solutions to handle the /dev directory : - - * The first solution is Static using device table. This is the old - classical way of handling device files in Linux. With this - method, the device files are persistently stored in the root - filesystem (i.e. they persist across reboots), and there is - nothing that will automatically create and remove those device - files when hardware devices are added or removed from the system. - Buildroot therefore creates a standard set of device files using - a device table, the default one being stored in system/ - device_table_dev.txt in the Buildroot source code. This file is - processed when Buildroot generates the final root filesystem - image, and the device files are therefore not visible in the - output/target directory. The BR2_ROOTFS_STATIC_DEVICE_TABLE - option allows to change the default device table used by - Buildroot, or to add an additional device table, so that - additional device files are created by Buildroot during the - build. So, if you use this method, and a device file is missing - in your system, you can for example create a board// - /device_table_dev.txt file that contains the - description of your additional device files, and then you can set - BR2_ROOTFS_STATIC_DEVICE_TABLE to system/device_table_dev.txt - board///device_table_dev.txt. For more - details about the format of the device table file, see - Chapter 25, Makedev syntax documentation. - * The second solution is Dynamic using devtmpfs only. devtmpfs is a - virtual filesystem inside the Linux kernel that has been - introduced in kernel 2.6.32 (if you use an older kernel, it is - not possible to use this option). When mounted in /dev, this - virtual filesystem will automatically make device files appear - and disappear as hardware devices are added and removed from the - system. This filesystem is not persistent across reboots: it is - filled dynamically by the kernel. Using devtmpfs requires the - following kernel configuration options to be enabled: - CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT. When Buildroot is in - charge of building the Linux kernel for your embedded device, it - makes sure that those two options are enabled. However, if you - build your Linux kernel outside of Buildroot, then it is your - responsibility to enable those two options (if you fail to do so, - your Buildroot system will not boot). - * The third solution is Dynamic using devtmpfs + mdev. This method - also relies on the devtmpfs virtual filesystem detailed above (so - the requirement to have CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT - enabled in the kernel configuration still apply), but adds the - mdev userspace utility on top of it. mdev is a program part of - BusyBox that the kernel will call every time a device is added or - removed. Thanks to the /etc/mdev.conf configuration file, mdev - can be configured to for example, set specific permissions or - ownership on a device file, call a script or application whenever - a device appears or disappear, etc. Basically, it allows - userspace to react on device addition and removal events. mdev - can for example be used to automatically load kernel modules when - devices appear on the system. mdev is also important if you have - devices that require a firmware, as it will be responsible for - pushing the firmware contents to the kernel. mdev is a - lightweight implementation (with fewer features) of udev. For - more details about mdev and the syntax of its configuration file, - see http://git.busybox.net/busybox/tree/docs/mdev.txt. - * The fourth solution is Dynamic using devtmpfs + eudev. This - method also relies on the devtmpfs virtual filesystem detailed - above, but adds the eudev userspace daemon on top of it. eudev is - a daemon that runs in the background, and gets called by the - kernel when a device gets added or removed from the system. It is - a more heavyweight solution than mdev, but provides higher - flexibility. eudev is a standalone version of udev, the original - userspace daemon used in most desktop Linux distributions, which - is now part of Systemd. For more details, see http:// - en.wikipedia.org/wiki/Udev. - -The Buildroot developers recommendation is to start with the Dynamic -using devtmpfs only solution, until you have the need for userspace -to be notified when devices are added/removed, or if firmwares are -needed, in which case Dynamic using devtmpfs + mdev is usually a good -solution. - -Note that if systemd is chosen as init system, /dev management will -be performed by the udev program provided by systemd. - -6.3. init system - -The init program is the first userspace program started by the kernel -(it carries the PID number 1), and is responsible for starting the -userspace services and programs (for example: web server, graphical -applications, other network servers, etc.). - -Buildroot allows to use three different types of init systems, which -can be chosen from System configuration, Init system: - - * The first solution is BusyBox. Amongst many programs, BusyBox has - an implementation of a basic init program, which is sufficient - for most embedded systems. Enabling the BR2_INIT_BUSYBOX will - ensure BusyBox will build and install its init program. This is - the default solution in Buildroot. The BusyBox init program will - read the /etc/inittab file at boot to know what to do. The syntax - of this file can be found in http://git.busybox.net/busybox/tree/ - examples/inittab (note that BusyBox inittab syntax is special: do - not use a random inittab documentation from the Internet to learn - about BusyBox inittab). The default inittab in Buildroot is - stored in system/skeleton/etc/inittab. Apart from mounting a few - important filesystems, the main job the default inittab does is - to start the /etc/init.d/rcS shell script, and start a getty - program (which provides a login prompt). - * The second solution is systemV. This solution uses the old - traditional sysvinit program, packed in Buildroot in package/ - sysvinit. This was the solution used in most desktop Linux - distributions, until they switched to more recent alternatives - such as Upstart or Systemd. sysvinit also works with an inittab - file (which has a slightly different syntax than the one from - BusyBox). The default inittab installed with this init solution - is located in package/sysvinit/inittab. - * The third solution is systemd. systemd is the new generation init - system for Linux. It does far more than traditional init - programs: aggressive parallelization capabilities, uses socket - and D-Bus activation for starting services, offers on-demand - starting of daemons, keeps track of processes using Linux control - groups, supports snapshotting and restoring of the system state, - etc. systemd will be useful on relatively complex embedded - systems, for example the ones requiring D-Bus and services - communicating between each other. It is worth noting that systemd - brings a fairly big number of large dependencies: dbus, udev and - more. For more details about systemd, see http:// - www.freedesktop.org/wiki/Software/systemd. - -The solution recommended by Buildroot developers is to use the -BusyBox init as it is sufficient for most embedded systems. systemd -can be used for more complex situations. - - ---------------------------------------------------------------------- - -^[3] This terminology differs from what is used by GNU configure, -where the host is the machine on which the application will run -(which is usually the same as target) - -Chapter 7. Configuration of other components - -Before attempting to modify any of the components below, make sure -you have already configured Buildroot itself, and have enabled the -corresponding package. - -BusyBox - - If you already have a BusyBox configuration file, you can - directly specify this file in the Buildroot configuration, using - BR2_PACKAGE_BUSYBOX_CONFIG. Otherwise, Buildroot will start from - a default BusyBox configuration file. - - To make subsequent changes to the configuration, use make - busybox-menuconfig to open the BusyBox configuration editor. - - It is also possible to specify a BusyBox configuration file - through an environment variable, although this is not - recommended. Refer to Section 8.6, “Environment variables†for - more details. - -uClibc - Configuration of uClibc is done in the same way as for BusyBox. - The configuration variable to specify an existing configuration - file is BR2_UCLIBC_CONFIG. The command to make subsequent changes - is make uclibc-menuconfig. -Linux kernel - - If you already have a kernel configuration file, you can directly - specify this file in the Buildroot configuration, using - BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG. - - If you do not yet have a kernel configuration file, you can - either start by specifying a defconfig in the Buildroot - configuration, using BR2_LINUX_KERNEL_USE_DEFCONFIG, or start by - creating an empty file and specifying it as custom configuration - file, using BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG. - - To make subsequent changes to the configuration, use make - linux-menuconfig to open the Linux configuration editor. - -Barebox - Configuration of Barebox is done in the same way as for the Linux - kernel. The corresponding configuration variables are - BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG and - BR2_TARGET_BAREBOX_USE_DEFCONFIG. To open the configuration - editor, use make barebox-menuconfig. -U-Boot - Configuration of U-Boot (version 2015.04 or newer) is done in the - same way as for the Linux kernel. The corresponding configuration - variables are BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG and - BR2_TARGET_UBOOT_USE_DEFCONFIG. To open the configuration editor, - use make uboot-menuconfig. - -Chapter 8. General Buildroot usage - -8.1. make tips - -This is a collection of tips that help you make the most of -Buildroot. - -Display all commands executed by make:  - - $ make V=1 - -Display the list of boards with a defconfig:  - - $ make list-defconfigs - -Display all available targets:  - - $ make help - -Not all targets are always available, some settings in the .config -file may hide some targets: - - * busybox-menuconfig only works when busybox is enabled; - * linux-menuconfig and linux-savedefconfig only work when linux is - enabled; - * uclibc-menuconfig is only available when the uClibc C library is - selected in the internal toolchain backend; - * barebox-menuconfig and barebox-savedefconfig only work when the - barebox bootloader is enabled. - * uboot-menuconfig and uboot-savedefconfig only work when the - U-Boot bootloader is enabled. - -Cleaning: Explicit cleaning is required when any of the architecture -or toolchain configuration options are changed. - -To delete all build products (including build directories, host, -staging and target trees, the images and the toolchain): - - $ make clean - -Generating the manual: The present manual sources are located in the -docs/manual directory. To generate the manual: - - $ make manual-clean - $ make manual - -The manual outputs will be generated in output/docs/manual. - -Notes - - * A few tools are required to build the documentation (see: - Section 2.2, “Optional packagesâ€). - -Resetting Buildroot for a new target: To delete all build products as -well as the configuration: - - $ make distclean - -Notes. If ccache is enabled, running make clean or distclean does not -empty the compiler cache used by Buildroot. To delete it, refer to -Section 8.14.3, “Using ccache in Buildrootâ€. - -Dumping the internal make variables: One can dump the variables known -to make, along with their values: - - $ make -s printvars VARS='VARIABLE1 VARIABLE2' - VARIABLE1=value_of_variable - VARIABLE2=value_of_variable - -It is possible to tweak the output using some variables: - - * VARS will limit the listing to variables which names match the - specified make-patterns - this must be set else nothing is - printed - * QUOTED_VARS, if set to YES, will single-quote the value - * RAW_VARS, if set to YES, will print the unexpanded value - -For example: - - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES - BUSYBOX_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_ALL_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_PATCH_DEPENDENCIES= - BUSYBOX_RDEPENDENCIES=ncurses util-linux - - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES QUOTED_VARS=YES - BUSYBOX_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_ALL_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_DEPENDENCIES='skeleton toolchain' - BUSYBOX_FINAL_PATCH_DEPENDENCIES='' - BUSYBOX_RDEPENDENCIES='ncurses util-linux' - - $ make -s printvars VARS=BUSYBOX_%DEPENDENCIES RAW_VARS=YES - BUSYBOX_DEPENDENCIES=skeleton toolchain - BUSYBOX_FINAL_ALL_DEPENDENCIES=$(sort $(BUSYBOX_FINAL_DEPENDENCIES) $(BUSYBOX_FINAL_PATCH_DEPENDENCIES)) - BUSYBOX_FINAL_DEPENDENCIES=$(sort $(BUSYBOX_DEPENDENCIES)) - BUSYBOX_FINAL_PATCH_DEPENDENCIES=$(sort $(BUSYBOX_PATCH_DEPENDENCIES)) - BUSYBOX_RDEPENDENCIES=ncurses util-linux - -The output of quoted variables can be reused in shell scripts, for -example: - - $ eval $(make -s printvars VARS=BUSYBOX_DEPENDENCIES QUOTED_VARS=YES) - $ echo $BUSYBOX_DEPENDENCIES - skeleton toolchain - -8.2. Understanding when a full rebuild is necessary - -Buildroot does not attempt to detect what parts of the system should -be rebuilt when the system configuration is changed through make -menuconfig, make xconfig or one of the other configuration tools. In -some cases, Buildroot should rebuild the entire system, in some -cases, only a specific subset of packages. But detecting this in a -completely reliable manner is very difficult, and therefore the -Buildroot developers have decided to simply not attempt to do this. - -Instead, it is the responsibility of the user to know when a full -rebuild is necessary. As a hint, here are a few rules of thumb that -can help you understand how to work with Buildroot: - - * When the target architecture configuration is changed, a complete - rebuild is needed. Changing the architecture variant, the binary - format or the floating point strategy for example has an impact - on the entire system. - * When the toolchain configuration is changed, a complete rebuild - generally is needed. Changing the toolchain configuration often - involves changing the compiler version, the type of C library or - its configuration, or some other fundamental configuration item, - and these changes have an impact on the entire system. - * When an additional package is added to the configuration, a full - rebuild is not necessarily needed. Buildroot will detect that - this package has never been built, and will build it. However, if - this package is a library that can optionally be used by packages - that have already been built, Buildroot will not automatically - rebuild those. Either you know which packages should be rebuilt, - and you can rebuild them manually, or you should do a full - rebuild. For example, let’s suppose you have built a system with - the ctorrent package, but without openssl. Your system works, but - you realize you would like to have SSL support in ctorrent, so - you enable the openssl package in Buildroot configuration and - restart the build. Buildroot will detect that openssl should be - built and will be build it, but it will not detect that ctorrent - should be rebuilt to benefit from openssl to add OpenSSL support. - You will either have to do a full rebuild, or rebuild ctorrent - itself. - * When a package is removed from the configuration, Buildroot does - not do anything special. It does not remove the files installed - by this package from the target root filesystem or from the - toolchain sysroot. A full rebuild is needed to get rid of this - package. However, generally you don’t necessarily need this - package to be removed right now: you can wait for the next lunch - break to restart the build from scratch. - * When the sub-options of a package are changed, the package is not - automatically rebuilt. After making such changes, rebuilding only - this package is often sufficient, unless enabling the package - sub-option adds some features to the package that are useful for - another package which has already been built. Again, Buildroot - does not track when a package should be rebuilt: once a package - has been built, it is never rebuilt unless explicitly told to do - so. - * When a change to the root filesystem skeleton is made, a full - rebuild is needed. However, when changes to the root filesystem - overlay, a post-build script or a post-image script are made, - there is no need for a full rebuild: a simple make invocation - will take the changes into account. - * When a package listed in FOO_DEPENDENCIES is rebuilt or removed, - the package foo is not automatically rebuilt. For example, if a - package bar is listed in FOO_DEPENDENCIES with FOO_DEPENDENCIES = - bar and the configuration of the bar package is changed, the - configuration change would not result in a rebuild of package foo - automatically. In this scenario, you may need to either rebuild - any packages in your build which reference bar in their - DEPENDENCIES, or perform a full rebuild to ensure any bar - dependent packages are up to date. - -Generally speaking, when you’re facing a build error and you’re -unsure of the potential consequences of the configuration changes -you’ve made, do a full rebuild. If you get the same build error, then -you are sure that the error is not related to partial rebuilds of -packages, and if this error occurs with packages from the official -Buildroot, do not hesitate to report the problem! As your experience -with Buildroot progresses, you will progressively learn when a full -rebuild is really necessary, and you will save more and more time. - -For reference, a full rebuild is achieved by running: - -$ make clean all - -8.3. Understanding how to rebuild packages - -One of the most common questions asked by Buildroot users is how to -rebuild a given package or how to remove a package without rebuilding -everything from scratch. - -Removing a package is unsupported by Buildroot without rebuilding -from scratch. This is because Buildroot doesn’t keep track of which -package installs what files in the output/staging and output/target -directories, or which package would be compiled differently depending -on the availability of another package. - -The easiest way to rebuild a single package from scratch is to remove -its build directory in output/build. Buildroot will then re-extract, -re-configure, re-compile and re-install this package from scratch. -You can ask buildroot to do this with the make -dirclean -command. - -On the other hand, if you only want to restart the build process of a -package from its compilation step, you can run make --rebuild. It will restart the compilation and installation of the -package, but not from scratch: it basically re-executes make and make -install inside the package, so it will only rebuild files that -changed. - -If you want to restart the build process of a package from its -configuration step, you can run make -reconfigure. It will -restart the configuration, compilation and installation of the -package. - -While -rebuild implies -reinstall and --reconfigure implies -rebuild, these targets as well as - only act on the said package, and do not trigger -re-creating the root filesystem image. If re-creating the root -filesystem in necessary, one should in addition run make or make all. - -Internally, Buildroot creates so-called stamp files to keep track of -which build steps have been completed for each package. They are -stored in the package build directory, output/build/- -/ and are named .stamp_. The commands detailed -above simply manipulate these stamp files to force Buildroot to -restart a specific set of steps of a package build process. - -Further details about package special make targets are explained in -Section 8.14.5, “Package-specific make targetsâ€. - -8.4. 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. - -8.5. 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 - -8.6. 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 Section 8.14.4, “Location - of downloaded packages†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 Section 8.9, “Graphing the dependencies between - packages†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 - Section 8.11, “Graphing the filesystem size contribution of - packages†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 - -8.7. 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. - -8.8. Details about packages - -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 - -8.9. Graphing the dependencies between packages - -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 - -8.10. Graphing the build 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 - -8.11. 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 -Section 8.9, “Graphing the dependencies between packages†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 - -8.12. 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: - - 1. Enable the option BR2_PER_PACKAGE_DIRECTORIES in the Buildroot - configuration - 2. 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. - -8.13. Integration with Eclipse - -While a part of the embedded Linux developers like classical text -editors like Vim or Emacs, and command-line based interfaces, a -number of other embedded Linux developers like richer graphical -interfaces to do their development work. Eclipse being one of the -most popular Integrated Development Environment, Buildroot integrates -with Eclipse in order to ease the development work of Eclipse users. - -Our integration with Eclipse simplifies the compilation, remote -execution and remote debugging of applications and libraries that are -built on top of a Buildroot system. It does not integrate the -Buildroot configuration and build processes themselves with Eclipse. -Therefore, the typical usage model of our Eclipse integration would -be: - - * Configure your Buildroot system with make menuconfig, make - xconfig or any other configuration interface provided with - Buildroot. - * Build your Buildroot system by running make. - * Start Eclipse to develop, execute and debug your own custom - applications and libraries, that will rely on the libraries built - and installed by Buildroot. - -The Buildroot Eclipse integration installation process and usage is -described in detail at https://github.com/mbats/ -eclipse-buildroot-bundle/wiki. - -8.14. Advanced usage - -8.14.1. Using the generated toolchain outside Buildroot - -You may want to compile, for your target, your own programs or other -software that are not packaged in Buildroot. In order to do this you -can use the toolchain that was generated by Buildroot. - -The toolchain generated by Buildroot is located by default in output/ -host/. The simplest way to use it is to add output/host/bin/ to your -PATH environment variable and then to use ARCH-linux-gcc, -ARCH-linux-objdump, ARCH-linux-ld, etc. - -Alternatively, Buildroot can also export the toolchain and the -development files of all selected packages, as an SDK, by running the -command make sdk. This generates a tarball of the content of the host -directory output/host/, named _sdk-buildroot.tar.gz -(which can be overriden by setting the environment variable -BR2_SDK_PREFIX) and located in the output directory output/images/. - -This tarball can then be distributed to application developers, when -they want to develop their applications that are not (yet) packaged -as a Buildroot package. - -Upon extracting the SDK tarball, the user must run the script -relocate-sdk.sh (located at the top directory of the SDK), to make -sure all paths are updated with the new location. - -Alternatively, if you just want to prepare the SDK without generating -the tarball (e.g. because you will just be moving the host directory, -or will be generating the tarball on your own), Buildroot also allows -you to just prepare the SDK with make prepare-sdk without actually -generating a tarball. - -For your convenience, by selecting the option -BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a environment-setup -script installed in output/host/ and therefore in your SDK. This -script can be sourced with . your/sdk/path/environment-setup to -export a number of environment variables that will help cross-compile -your projects using the Buildroot SDK: the PATH will contain the SDK -binaries, standard autotools variables will be defined with the -appropriate values, and CONFIGURE_FLAGS will contain basic ./ -configure options to cross-compile autotools projects. It also -provides some useful commands. Note however that once this script is -sourced, the environment is setup only for cross-compilation, and no -longer for native compilation. - -8.14.2. Using gdb in Buildroot - -Buildroot allows to do cross-debugging, where the debugger runs on -the build machine and communicates with gdbserver on the target to -control the execution of the program. - -To achieve this: - - * If you are using an internal toolchain (built by Buildroot), you - must enable BR2_PACKAGE_HOST_GDB, BR2_PACKAGE_GDB and - BR2_PACKAGE_GDB_SERVER. This ensures that both the cross gdb and - gdbserver get built, and that gdbserver gets installed to your - target. - * If you are using an external toolchain, you should enable - BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY, which will copy the - gdbserver included with the external toolchain to the target. If - your external toolchain does not have a cross gdb or gdbserver, - it is also possible to let Buildroot build them, by enabling the - same options as for the internal toolchain backend. - -Now, to start debugging a program called foo, you should run on the -target: - -gdbserver :2345 foo - -This will cause gdbserver to listen on TCP port 2345 for a connection -from the cross gdb. - -Then, on the host, you should start the cross gdb using the following -command line: - -/output/host/bin/-gdb -ix /output/staging/usr/share/buildroot/gdbinit foo - -Of course, foo must be available in the current directory, built with -debugging symbols. Typically you start this command from the -directory where foo is built (and not from output/target/ as the -binaries in that directory are stripped). - -The /output/staging/usr/share/buildroot/gdbinit file will -tell the cross gdb where to find the libraries of the target. - -Finally, to connect to the target from the cross gdb: - -(gdb) target remote :2345 - -8.14.3. Using ccache in Buildroot - -ccache [http://ccache.samba.org] is a compiler cache. It stores the -object files resulting from each compilation process, and is able to -skip future compilation of the same source file (with same compiler -and same arguments) by using the pre-existing object files. When -doing almost identical builds from scratch a number of times, it can -nicely speed up the build process. - -ccache support is integrated in Buildroot. You just have to enable -Enable compiler cache in Build options. This will automatically build -ccache and use it for every host and target compilation. - -The cache is located in $HOME/.buildroot-ccache. It is stored outside -of Buildroot output directory so that it can be shared by separate -Buildroot builds. If you want to get rid of the cache, simply remove -this directory. - -You can get statistics on the cache (its size, number of hits, -misses, etc.) by running make ccache-stats. - -The make target ccache-options and the CCACHE_OPTIONS variable -provide more generic access to the ccache. For example - -# set cache limit size -make CCACHE_OPTIONS="--max-size=5G" ccache-options - -# zero statistics counters -make CCACHE_OPTIONS="--zero-stats" ccache-options - -ccache makes a hash of the source files and of the compiler options. -If a compiler option is different, the cached object file will not be -used. Many compiler options, however, contain an absolute path to the -staging directory. Because of this, building in a different output -directory would lead to many cache misses. - -To avoid this issue, buildroot has the Use relative paths option -(BR2_CCACHE_USE_BASEDIR). This will rewrite all absolute paths that -point inside the output directory into relative paths. Thus, changing -the output directory no longer leads to cache misses. - -A disadvantage of the relative paths is that they also end up to be -relative paths in the object file. Therefore, for example, the -debugger will no longer find the file, unless you cd to the output -directory first. - -See the ccache manual’s section on "Compiling in different -directories" [https://ccache.samba.org/manual.html# -_compiling_in_different_directories] for more details about this -rewriting of absolute paths. - -8.14.4. Location of downloaded packages - -The various tarballs that are downloaded by Buildroot are all stored -in BR2_DL_DIR, which by default is the dl directory. If you want to -keep a complete version of Buildroot which is known to be working -with the associated tarballs, you can make a copy of this directory. -This will allow you to regenerate the toolchain and the target -filesystem with exactly the same versions. - -If you maintain several Buildroot trees, it might be better to have a -shared download location. This can be achieved by pointing the -BR2_DL_DIR environment variable to a directory. If this is set, then -the value of BR2_DL_DIR in the Buildroot configuration is overridden. -The following line should be added to <~/.bashrc>. - - export BR2_DL_DIR= - -The download location can also be set in the .config file, with the -BR2_DL_DIR option. Unlike most options in the .config file, this -value is overridden by the BR2_DL_DIR environment variable. - -8.14.5. Package-specific make targets - -Running make builds and installs that particular package -and its dependencies. - -For packages relying on the Buildroot infrastructure, there are -numerous special make targets that can be called independently like -this: - -make - - -The package build targets are (in the order they are executed): - -+------------------------------------------------------------+ -|command/target |Description | -|---------------+--------------------------------------------| -| source |Fetch the source (download the tarball, | -| |clone the source repository, etc) | -|---------------+--------------------------------------------| -| depends |Build and install all dependencies required | -| |to build the package | -|---------------+--------------------------------------------| -| extract |Put the source in the package build | -| |directory (extract the tarball, copy the | -| |source, etc) | -|---------------+--------------------------------------------| -| patch |Apply the patches, if any | -|---------------+--------------------------------------------| -| configure |Run the configure commands, if any | -|---------------+--------------------------------------------| -| build |Run the compilation commands | -|---------------+--------------------------------------------| -|install-staging|target package: Run the installation of the | -| |package in the staging directory, if | -| |necessary | -|---------------+--------------------------------------------| -|install-target |target package: Run the installation of the | -| |package in the target directory, if | -| |necessary | -|---------------+--------------------------------------------| -| install |target package: Run the 2 previous | -| |installation commands | -| | | -| |host package: Run the installation of the | -| |package in the host directory | -+------------------------------------------------------------+ - -Additionally, there are some other useful make targets: - -+------------------------------------------------------------+ -| command/target |Description | -|-----------------------+------------------------------------| -| show-depends |Displays the first-order | -| |dependencies required to build the | -| |package | -|-----------------------+------------------------------------| -|show-recursive-depends |Recursively displays the | -| |dependencies required to build the | -| |package | -|-----------------------+------------------------------------| -| show-rdepends |Displays the first-order reverse | -| |dependencies of the package (i.e | -| |packages that directly depend on it)| -|-----------------------+------------------------------------| -|show-recursive-rdepends|Recursively displays the reverse | -| |dependencies of the package (i.e the| -| |packages that depend on it, directly| -| |or indirectly) | -|-----------------------+------------------------------------| -| graph-depends |Generate a dependency graph of the | -| |package, in the context of the | -| |current Buildroot configuration. See| -| |this section for more details about | -| |dependency graphs. | -|-----------------------+------------------------------------| -| graph-rdepends |Generate a graph of this package | -| |reverse dependencies (i.e the | -| |packages that depend on it, directly| -| |or indirectly) | -|-----------------------+------------------------------------| -| dirclean |Remove the whole package build | -| |directory | -|-----------------------+------------------------------------| -| reinstall |Re-run the install commands | -|-----------------------+------------------------------------| -| rebuild |Re-run the compilation commands - | -| |this only makes sense when using the| -| |OVERRIDE_SRCDIR feature or when you | -| |modified a file directly in the | -| |build directory | -|-----------------------+------------------------------------| -| reconfigure |Re-run the configure commands, then | -| |rebuild - this only makes sense when| -| |using the OVERRIDE_SRCDIR feature or| -| |when you modified a file directly in| -| |the build directory | -+------------------------------------------------------------+ - -8.14.6. Using Buildroot during development - -The normal operation of Buildroot is to download a tarball, extract -it, configure, compile and install the software component found -inside this tarball. The source code is extracted in output/build/ --, which is a temporary directory: whenever make -clean is used, this directory is entirely removed, and re-created at -the next make invocation. Even when a Git or Subversion repository is -used as the input for the package source code, Buildroot creates a -tarball out of it, and then behaves as it normally does with -tarballs. - -This behavior is well-suited when Buildroot is used mainly as an -integration tool, to build and integrate all the components of an -embedded Linux system. However, if one uses Buildroot during the -development of certain components of the system, this behavior is not -very convenient: one would instead like to make a small change to the -source code of one package, and be able to quickly rebuild the system -with Buildroot. - -Making changes directly in output/build/- is not an -appropriate solution, because this directory is removed on make -clean. - -Therefore, Buildroot provides a specific mechanism for this use case: -the _OVERRIDE_SRCDIR mechanism. Buildroot reads an override -file, which allows the user to tell Buildroot the location of the -source for certain packages. - -The default location of the override file is $(CONFIG_DIR)/local.mk, -as defined by the BR2_PACKAGE_OVERRIDE_FILE configuration option. $ -(CONFIG_DIR) is the location of the Buildroot .config file, so -local.mk by default lives side-by-side with the .config file, which -means: - - * In the top-level Buildroot source directory for in-tree builds - (i.e., when O= is not used) - * In the out-of-tree directory for out-of-tree builds (i.e., when O - = is used) - -If a different location than these defaults is required, it can be -specified through the BR2_PACKAGE_OVERRIDE_FILE configuration option. - -In this override file, Buildroot expects to find lines of the form: - -_OVERRIDE_SRCDIR = /path/to/pkg1/sources -_OVERRIDE_SRCDIR = /path/to/pkg2/sources - -For example: - -LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ -BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ - -When Buildroot finds that for a given package, an -_OVERRIDE_SRCDIR has been defined, it will no longer attempt to -download, extract and patch the package. Instead, it will directly -use the source code available in the specified directory and make -clean will not touch this directory. This allows to point Buildroot -to your own directories, that can be managed by Git, Subversion, or -any other version control system. To achieve this, Buildroot will use -rsync to copy the source code of the component from the specified -_OVERRIDE_SRCDIR to output/build/-custom/. - -This mechanism is best used in conjunction with the make --rebuild and make -reconfigure targets. A make -rebuild all -sequence will rsync the source code from _OVERRIDE_SRCDIR to -output/build/-custom (thanks to rsync, only the modified -files are copied), and restart the build process of just this -package. - -In the example of the linux package above, the developer can then -make a source code change in /home/bob/linux and then run: - -make linux-rebuild all - -and in a matter of seconds gets the updated Linux kernel image in -output/images. Similarly, a change can be made to the BusyBox source -code in /home/bob/busybox, and after: - -make busybox-rebuild all - -the root filesystem image in output/images contains the updated -BusyBox. - -Source trees for big projects often contain hundreds or thousands of -files which are not needed for building, but will slow down the -process of copying the sources with rsync. Optionally, it is possible -define _OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS to skip syncing certain -files from the source tree. For example, when working on the -webkitgtk package, the following will exclude the tests and in-tree -builds from a local WebKit source tree: - -WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit -WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ - --exclude JSTests --exclude ManualTests --exclude PerformanceTests \ - --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ - --exclude WebKit.xcworkspace --exclude Websites --exclude Examples - -By default, Buildroot skips syncing of VCS artifacts (e.g., the .git -and .svn directories). Some packages prefer to have these VCS -directories available during build, for example for automatically -determining a precise commit reference for version information. To -undo this built-in filtering at a cost of a slower speed, add these -directories back: - -LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git - -Chapter 9. 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! - -9.1. Recommended directory structure - -When customizing Buildroot for your project, you will be creating one -or more project-specific files that need to be stored somewhere. -While most of these files could be placed in any location as their -path is to be specified in the Buildroot configuration, the Buildroot -developers recommend a specific directory structure which is -described in this section. - -Orthogonal to this directory structure, you can choose where you -place this structure itself: either inside the Buildroot tree, or -outside of it using a br2-external tree. Both options are valid, the -choice is up to you. - -+-- board/ -| +-- / -| +-- / -| +-- linux.config -| +-- busybox.config -| +-- -| +-- post_build.sh -| +-- post_image.sh -| +-- rootfs_overlay/ -| | +-- etc/ -| | +-- -| +-- patches/ -| +-- foo/ -| | +-- -| +-- libbar/ -| +-- -| -+-- configs/ -| +-- _defconfig -| -+-- package/ -| +-- / -| +-- Config.in (if not using a br2-external tree) -| +-- .mk (if not using a br2-external tree) -| +-- package1/ -| | +-- Config.in -| | +-- package1.mk -| +-- package2/ -| +-- Config.in -| +-- package2.mk -| -+-- Config.in (if using a br2-external tree) -+-- external.mk (if using a br2-external tree) -+-- external.desc (if using a br2-external tree) - -Details on the files shown above are given further in this chapter. - -Note: if you choose to place this structure outside of the Buildroot -tree but in a br2-external tree, the and possibly - components may be superfluous and can be left out. - -9.1.1. Implementing layered customizations - -It is quite common for a user to have several related projects that -partly need the same customizations. Instead of duplicating these -customizations for each project, it is recommended to use a layered -customization approach, as explained in this section. - -Almost all of the customization methods available in Buildroot, like -post-build scripts and root filesystem overlays, accept a -space-separated list of items. The specified items are always treated -in order, from left to right. By creating more than one such item, -one for the common customizations and another one for the really -project-specific customizations, you can avoid unnecessary -duplication. Each layer is typically embodied by a separate directory -inside board//. Depending on your projects, you could even -introduce more than two layers. - -An example directory structure for where a user has two customization -layers common and fooboard is: - -+-- board/ - +-- / - +-- common/ - | +-- post_build.sh - | +-- rootfs_overlay/ - | | +-- ... - | +-- patches/ - | +-- ... - | - +-- fooboard/ - +-- linux.config - +-- busybox.config - +-- - +-- post_build.sh - +-- rootfs_overlay/ - | +-- ... - +-- patches/ - +-- ... - -For example, if the user has the BR2_GLOBAL_PATCH_DIR configuration -option set as: - -BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" - -then first the patches from the common layer would be applied, -followed by the patches from the fooboard layer. - -9.2. Keeping customizations outside of Buildroot - -As already briefly mentioned in Section 9.1, “Recommended directory -structureâ€, you can place project-specific customizations in two -locations: - - * directly within the Buildroot tree, typically maintaining them - using branches in a version control system so that upgrading to a - newer Buildroot release is easy. - * outside of the Buildroot tree, using the br2-external mechanism. - This mechanism allows to keep package recipes, board support and - configuration files outside of the Buildroot tree, while still - having them nicely integrated in the build logic. We call this - location a br2-external tree. This section explains how to use - the br2-external mechanism and what to provide in a br2-external - tree. - -One can tell Buildroot to use one or more br2-external trees by -setting the BR2_EXTERNAL make variable set to the path(s) of the -br2-external tree(s) to use. It can be passed to any Buildroot make -invocation. It is automatically saved in the hidden .br2-external.mk -file in the output directory. Thanks to this, there is no need to -pass BR2_EXTERNAL at every make invocation. It can however be changed -at any time by passing a new value, and can be removed by passing an -empty value. - -Note. The path to a br2-external tree can be either absolute or -relative. If it is passed as a relative path, it is important to note -that it is interpreted relative to the main Buildroot source -directory, not to the Buildroot output directory. - -Note: If using an br2-external tree from before Buildroot 2016.11, -you need to convert it before you can use it with Buildroot 2016.11 -onward. See Section 27.2, “Migrating to 2016.11†for help on doing -so. - -Some examples: - -buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig - -From now on, definitions from the /path/to/foo br2-external tree will -be used: - -buildroot/ $ make -buildroot/ $ make legal-info - -We can switch to another br2-external tree at any time: - -buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig - -We can also use multiple br2-external trees: - -buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig - -Or disable the usage of any br2-external tree: - -buildroot/ $ make BR2_EXTERNAL= xconfig - -9.2.1. Layout of a br2-external tree - -A br2-external tree must contain at least those three files, -described in the following chapters: - - * external.desc - * external.mk - * Config.in - -Apart from those mandatory files, there may be additional and -optional content that may be present in a br2-external tree, like the -configs/ or provides/ directories. They are described in the -following chapters as well. - -A complete example br2-external tree layout is also described later. - -9.2.1.1. The external.desc file - -That file describes the br2-external tree: the name and description -for that br2-external tree. - -The format for this file is line based, with each line starting by a -keyword, followed by a colon and one or more spaces, followed by the -value assigned to that keyword. There are two keywords currently -recognised: - - * name, mandatory, defines the name for that br2-external tree. - That name must only use ASCII characters in the set [A-Za-z0-9_]; - any other character is forbidden. Buildroot sets the variable - BR2_EXTERNAL_$(NAME)_PATH to the absolute path of the - br2-external tree, so that you can use it to refer to your - br2-external tree. This variable is available both in Kconfig, so - you can use it to source your Kconfig files (see below) and in - the Makefile, so that you can use it to include other Makefiles - (see below) or refer to other files (like data files) from your - br2-external tree. - - Note: Since it is possible to use multiple br2-external trees at - once, this name is used by Buildroot to generate variables for - each of those trees. That name is used to identify your - br2-external tree, so try to come up with a name that really - describes your br2-external tree, in order for it to be - relatively unique, so that it does not clash with another name - from another br2-external tree, especially if you are planning on - somehow sharing your br2-external tree with third parties or - using br2-external trees from third parties. - - * desc, optional, provides a short description for that - br2-external tree. It shall fit on a single line, is mostly - free-form (see below), and is used when displaying information - about a br2-external tree (e.g. above the list of defconfig - files, or as the prompt in the menuconfig); as such, it should - relatively brief (40 chars is probably a good upper limit). The - description is available in the BR2_EXTERNAL_$(NAME)_DESC - variable. - -Examples of names and the corresponding BR2_EXTERNAL_$(NAME)_PATH -variables: - - * FOO → BR2_EXTERNAL_FOO_PATH - * BAR_42 → BR2_EXTERNAL_BAR_42_PATH - -In the following examples, it is assumed the name to be set to -BAR_42. - -Note: Both BR2_EXTERNAL_$(NAME)_PATH and BR2_EXTERNAL_$(NAME)_DESC -are available in the Kconfig files and the Makefiles. They are also -exported in the environment so are available in post-build, -post-image and in-fakeroot scripts. - -9.2.1.2. The Config.in and external.mk files - -Those files (which may each be empty) can be used to define package -recipes (i.e. foo/Config.in and foo/foo.mk like for packages bundled -in Buildroot itself) or other custom configuration options or make -logic. - -Buildroot automatically includes the Config.in from each br2-external -tree to make it appear in the top-level configuration menu, and -includes the external.mk from each br2-external tree with the rest of -the makefile logic. - -The main usage of this is to store package recipes. The recommended -way to do this is to write a Config.in file that looks like: - -source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" -source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" - -Then, have an external.mk file that looks like: - -include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) - -And then in $(BR2_EXTERNAL_BAR_42_PATH)/package/package1 and $ -(BR2_EXTERNAL_BAR_42_PATH)/package/package2 create normal Buildroot -package recipes, as explained in Chapter 18, Adding new packages to -Buildroot. If you prefer, you can also group the packages in -subdirectories called and adapt the above paths -accordingly. - -You can also define custom configuration options in Config.in and -custom make logic in external.mk. - -9.2.1.3. The configs/ directory - -One can store Buildroot defconfigs in the configs subdirectory of the -br2-external tree. Buildroot will automatically show them in the -output of make list-defconfigs and allow them to be loaded with the -normal make _defconfig command. They will be visible in the -make list-defconfigs output, below an External configs label that -contains the name of the br2-external tree they are defined in. - -Note: If a defconfig file is present in more than one br2-external -tree, then the one from the last br2-external tree is used. It is -thus possible to override a defconfig bundled in Buildroot or another -br2-external tree. - -9.2.1.4. The provides/ directory - -For some packages, Buildroot provides a choice between two (or more) -implementations of API-compatible such packages. For example, there -is a choice to choose either libjpeg ot jpeg-turbo; there is one -between openssl or libressl; there is one to select one of the known, -pre-configured toolchains… - -It is possible for a br2-external to extend those choices, by -providing a set of files that define those alternatives: - - * provides/toolchains.in defines the pre-configured toolchains, - which will then be listed in the toolchain selection; - * provides/jpeg.in defines the alternative libjpeg implementations; - * provides/openssl.in defines the alternative openssl - implementations; - * provides/skeleton.in defines the alternative skeleton - implementations; - * provides/init.in defines the alternative init system - implementations, this can be used to select a default skeleton - for your init. - -9.2.1.5. Free-form content - -One can store all the board-specific configuration files there, such -as the kernel configuration, the root filesystem overlay, or any -other configuration file for which Buildroot allows to set the -location (by using the BR2_EXTERNAL_$(NAME)_PATH variable). For -example, you could set the paths to a global patch directory, to a -rootfs overlay and to the kernel configuration file as follows (e.g. -by running make menuconfig and filling in these options): - -BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ -BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config - -9.2.1.6. Additional Linux kernel extensions - -Additional Linux kernel extensions (see Section 18.21.2, -“linux-kernel-extensionsâ€) can be added by storing them in the linux/ -directory at the root of a br2-external tree. - -9.2.1.7. Example layout - -Here is an example layout using all features of br2-external (the -sample content is shown for the file above it, when it is relevant to -explain the br2-external tree; this is all entirely made up just for -the sake of illustration, of course): - -/path/to/br2-ext-tree/ - |- external.desc - | |name: BAR_42 - | |desc: Example br2-external tree - | `---- - | - |- Config.in - | |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options" - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in" - | | - | |config BAR_42_FLASH_ADDR - | | hex "my-board flash address" - | | default 0x10AD - | `---- - | - |- external.mk - | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) - | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/toolchain/*/*.mk)) - | | - | |flash-my-board: - | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ - | | --image $(BINARIES_DIR)/image.bin \ - | | --address $(BAR_42_FLASH_ADDR) - | `---- - | - |- package/pkg-1/Config.in - | |config BR2_PACKAGE_PKG_1 - | | bool "pkg-1" - | | help - | | Some help about pkg-1 - | `---- - |- package/pkg-1/pkg-1.hash - |- package/pkg-1/pkg-1.mk - | |PKG_1_VERSION = 1.2.3 - | |PKG_1_SITE = /some/where/to/get/pkg-1 - | |PKG_1_LICENSE = blabla - | | - | |define PKG_1_INSTALL_INIT_SYSV - | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ - | | $(TARGET_DIR)/etc/init.d/S99my-daemon - | |endef - | | - | |$(eval $(autotools-package)) - | `---- - |- package/pkg-1/S99my-daemon - | - |- package/pkg-2/Config.in - |- package/pkg-2/pkg-2.hash - |- package/pkg-2/pkg-2.mk - | - |- provides/jpeg.in - | |config BR2_PACKAGE_MY_JPEG - | | bool "my-jpeg" - | `---- - |- package/my-jpeg/Config.in - | |config BR2_PACKAGE_PROVIDES_JPEG - | | default "my-jpeg" if BR2_PACKAGE_MY_JPEG - | `---- - |- package/my-jpeg/my-jpeg.mk - | |# This is a normal package .mk file - | |MY_JPEG_VERSION = 1.2.3 - | |MY_JPEG_SITE = https://example.net/some/place - | |MY_JPEG_PROVIDES = jpeg - | |$(eval $(autotools-package)) - | `---- - | - |- provides/init.in - | |config BR2_INIT_MINE - | | bool "my custom init" - | | select BR2_PACKAGE_MY_INIT - | | select BR2_PACKAGE_SKELETON_INIT_MINE if BR2_ROOTFS_SKELETON_DEFAULT - | `---- - | - |- provides/skeleton.in - | |config BR2_ROOTFS_SKELETON_MINE - | | bool "my custom skeleton" - | | select BR2_PACKAGE_SKELETON_MINE - | `---- - |- package/skeleton-mine/Config.in - | |config BR2_PACKAGE_SKELETON_MINE - | | bool - | | select BR2_PACKAGE_HAS_SKELETON - | | - | |config BR2_PACKAGE_PROVIDES_SKELETON - | | default "skeleton-mine" if BR2_PACKAGE_SKELETON_MINE - | `---- - |- package/skeleton-mine/skeleton-mine.mk - | |SKELETON_MINE_ADD_TOOLCHAIN_DEPENDENCY = NO - | |SKELETON_MINE_ADD_SKELETON_DEPENDENCY = NO - | |SKELETON_MINE_PROVIDES = skeleton - | |SKELETON_MINE_INSTALL_STAGING = YES - | |$(eval $(generic-package)) - | `---- - | - |- provides/toolchains.in - | |config BR2_TOOLCHAIN_EXTERNAL_MINE - | | bool "my custom toolchain" - | | depends on BR2_some_arch - | | select BR2_INSTALL_LIBSTDCPP - | `---- - |- toolchain/toolchain-external-mine/Config.in.options - | |if BR2_TOOLCHAIN_EXTERNAL_MINE - | |config BR2_TOOLCHAIN_EXTERNAL_PREFIX - | | default "arch-mine-linux-gnu" - | |config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - | | default "toolchain-external-mine" - | |endif - | `---- - |- toolchain/toolchain-external-mine/toolchain-external-mine.mk - | |TOOLCHAIN_EXTERNAL_MINE_SITE = https://example.net/some/place - | |TOOLCHAIN_EXTERNAL_MINE_SOURCE = my-toolchain.tar.gz - | |$(eval $(toolchain-external-package)) - | `---- - | - |- linux/Config.ext.in - | |config BR2_LINUX_KERNEL_EXT_EXAMPLE_DRIVER - | | bool "example-external-driver" - | | help - | | Example external driver - | |--- - |- linux/linux-ext-example-driver.mk - | - |- configs/my-board_defconfig - | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" - | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" - | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" - | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config" - | `---- - | - |- patches/linux/0001-some-change.patch - |- patches/linux/0002-some-other-change.patch - |- patches/busybox/0001-fix-something.patch - | - |- board/my-board/kernel.config - |- board/my-board/overlay/var/www/index.html - |- board/my-board/overlay/var/www/my.css - |- board/my-board/flash-image - `- board/my-board/post-image.sh - |#!/bin/sh - |generate-my-binary-image \ - | --root ${BINARIES_DIR}/rootfs.tar \ - | --kernel ${BINARIES_DIR}/zImage \ - | --dtb ${BINARIES_DIR}/my-board.dtb \ - | --output ${BINARIES_DIR}/image.bin - `---- - -The br2-external tree will then be visible in the menuconfig (with -the layout expanded): - -External options ---> - *** Example br2-external tree (in /path/to/br2-ext-tree/) - [ ] pkg-1 - [ ] pkg-2 - (0x10AD) my-board flash address - -If you are using more than one br2-external tree, it would look like -(with the layout expanded and the second one with name FOO_27 but no -desc: field in external.desc): - -External options ---> - Example br2-external tree ---> - *** Example br2-external tree (in /path/to/br2-ext-tree) - [ ] pkg-1 - [ ] pkg-2 - (0x10AD) my-board flash address - FOO_27 ---> - *** FOO_27 (in /path/to/another-br2-ext) - [ ] foo - [ ] bar - -Additionally, the jpeg provider will be visible in the jpeg choice: - -Target packages ---> - Libraries ---> - Graphics ---> - [*] jpeg support - jpeg variant () ---> - ( ) jpeg - ( ) jpeg-turbo - *** jpeg from: Example br2-external tree *** - (X) my-jpeg - *** jpeg from: FOO_27 *** - ( ) another-jpeg - -And similarly for the toolchains: - -Toolchain ---> - Toolchain () ---> - ( ) Custom toolchain - *** Toolchains from: Example br2-external tree *** - (X) my custom toolchain - -Note. The toolchain options in toolchain/toolchain-external-mine/ -Config.in.options will not appear in the Toolchain menu. They must be -explicitly included from within the br2-external’s top-level -Config.in and will thus appear in the External options menu. - -9.3. Storing the Buildroot configuration - -The Buildroot configuration can be stored using the command make -savedefconfig. - -This strips the Buildroot configuration down by removing -configuration options that are at their default value. The result is -stored in a file called defconfig. If you want to save it in another -place, change the BR2_DEFCONFIG option in the Buildroot configuration -itself, or call make with make savedefconfig BR2_DEFCONFIG= -. - -The recommended place to store this defconfig is configs/ -_defconfig. If you follow this recommendation, the configuration will -be listed in make help and can be set again by running make -_defconfig. - -Alternatively, you can copy the file to any other place and rebuild -with make defconfig BR2_DEFCONFIG=. - -9.4. Storing the configuration of other components - -The configuration files for BusyBox, the Linux kernel, Barebox, -U-Boot and uClibc should be stored as well if changed. For each of -these components, a Buildroot configuration option exists to point to -an input configuration file, e.g. -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. To store their configuration, -set these configuration options to a path where you want to save the -configuration files, and then use the helper targets described below -to actually store the configuration. - -As explained in Section 9.1, “Recommended directory structureâ€, the -recommended path to store these configuration files is board/ -//foo.config. - -Make sure that you create a configuration file before changing the -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE etc. options. Otherwise, -Buildroot will try to access this config file, which doesn’t exist -yet, and will fail. You can create the configuration file by running -make linux-menuconfig etc. - -Buildroot provides a few helper targets to make the saving of -configuration files easier. - - * make linux-update-defconfig saves the linux configuration to the - path specified by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE. It - simplifies the config file by removing default values. However, - this only works with kernels starting from 2.6.33. For earlier - kernels, use make linux-update-config. - * make busybox-update-config saves the busybox configuration to the - path specified by BR2_PACKAGE_BUSYBOX_CONFIG. - * make uclibc-update-config saves the uClibc configuration to the - path specified by BR2_UCLIBC_CONFIG. - * make barebox-update-defconfig saves the barebox configuration to - the path specified by BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE. - * make uboot-update-defconfig saves the U-Boot configuration to the - path specified by BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE. - * For at91bootstrap3, no helper exists so you have to copy the - config file manually to - BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE. - -9.5. 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 Section 9.1, “Recommended directory 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 Section 9.1, “Recommended directory 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 Section 18.5.2, - “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 Section 8.2, “Understanding when a full rebuild - is necessary†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 Section 9.5.1, - “Setting file permissions and ownership and adding custom devices - nodesâ€) or to create users (see Section 9.6, “Adding custom user - accountsâ€) - - 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. - -9.5.1. Setting file permissions and ownership and adding custom -devices nodes - -Sometimes it is needed to set specific permissions or ownership on -files or device nodes. For example, certain files may need to be -owned by root. Since the post-build scripts are not run as root, you -cannot do such changes from there unless you use an explicit fakeroot -from the post-build script. - -Instead, Buildroot provides support for so-called permission tables. -To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a -space-separated list of permission tables, regular text files -following the makedev syntax. - -If you are using a static device table (i.e. not using devtmpfs, -mdev, or (e)udev) then you can add device nodes using the same -syntax, in so-called device tables. To use this feature, set config -option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of -device tables. - -As shown in Section 9.1, “Recommended directory structureâ€, the -recommended location for such files is board///. - -It should be noted that if the specific permissions or device nodes -are related to a specific application, you should set variables -FOO_PERMISSIONS and FOO_DEVICES in the package’s .mk file instead -(see Section 18.5.2, “generic-package referenceâ€). - -9.6. Adding custom user accounts - -Sometimes it is needed to add specific users in the target system. To -cover this requirement, Buildroot provides support for so-called -users tables. To use this feature, set config option -BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, -regular text files following the makeusers syntax. - -As shown in Section 9.1, “Recommended directory structureâ€, the -recommended location for such files is board///. - -It should be noted that if the custom users are related to a specific -application, you should set variable FOO_USERS in the package’s .mk -file instead (see Section 18.5.2, “generic-package referenceâ€). - -9.7. Customization after the images have been created - -While post-build scripts (Section 9.5, “Customizing the generated -target filesystemâ€) are run before building the filesystem image, -kernel and bootloader, post-image scripts can be used to perform some -specific actions after all images have been created. - -Post-image scripts can for example be used to automatically extract -your root filesystem tarball in a location exported by your NFS -server, or to create a special firmware image that bundles your root -filesystem and kernel image, or any other custom action required for -your project. - -To enable this feature, specify a space-separated list of post-image -scripts in config option BR2_ROOTFS_POST_IMAGE_SCRIPT (in the System -configuration menu). If you specify a relative path, it will be -relative to the root of the Buildroot tree. - -Just like post-build scripts, post-image scripts are run with the -main Buildroot tree as current working directory. The path to the -images output directory 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. - -Again just like for the post-build scripts, the scripts have access -to the environment variables BR2_CONFIG, HOST_DIR, STAGING_DIR, -TARGET_DIR, BUILD_DIR, BINARIES_DIR, CONFIG_DIR and BASE_DIR. - -The post-image scripts will be executed as the user that executes -Buildroot, which should normally not be the root user. Therefore, any -action requiring root permissions in one of these scripts will -require special handling (usage of fakeroot or sudo), which is left -to the script developer. - -9.8. 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: - - 1. 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. - 2. 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 -Section 19.2, “How patches are applied†- -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. - -9.9. Adding project-specific packages - -In general, any new package should be added directly in the package -directory and submitted to the Buildroot upstream project. How to add -packages to Buildroot in general is explained in full detail in -Chapter 18, Adding new packages to Buildroot and will not be repeated -here. However, your project may need some proprietary packages that -cannot be upstreamed. This section will explain how you can keep such -project-specific packages in a project-specific directory. - -As shown in Section 9.1, “Recommended directory structureâ€, the -recommended location for project-specific packages is package/ -/. If you are using the br2-external tree feature (see -Section 9.2, “Keeping customizations outside of Buildrootâ€) the -recommended location is to put them in a sub-directory named package/ -in your br2-external tree. - -However, Buildroot will not be aware of the packages in this -location, unless we perform some additional steps. As explained in -Chapter 18, Adding new packages to Buildroot, a package in Buildroot -basically consists of two files: a .mk file (describing how to build -the package) and a Config.in file (describing the configuration -options for this package). - -Buildroot will automatically include the .mk files in first-level -subdirectories of the package directory (using the pattern package/*/ -*.mk). If we want Buildroot to include .mk files from deeper -subdirectories (like package//package1/) then we simply have -to add a .mk file in a first-level subdirectory that includes these -additional .mk files. Therefore, create a file package// -.mk with following contents (assuming you have only one -extra directory level below package//): - -include $(sort $(wildcard package//*/*.mk)) - -For the Config.in files, create a file package//Config.in -that includes the Config.in files of all your packages. An exhaustive -list has to be provided since wildcards are not supported in the -source command of kconfig. For example: - -source "package//package1/Config.in" -source "package//package2/Config.in" - -Include this new file package//Config.in from package/ -Config.in, preferably in a company-specific menu to make merges with -future Buildroot versions easier. - -If using a br2-external tree, refer to Section 9.2, “Keeping -customizations outside of Buildroot†for how to fill in those files. - -9.10. 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. - 2. make linux-menuconfig to update the kernel config, similar for - other configuration like busybox, uclibc, … - 3. mkdir -p board// - 4. 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 - 5. 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 - 6. 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. - 7. Create a post-build script board/// - post_build.sh. Set BR2_ROOTFS_POST_BUILD_SCRIPT to board/ - //post_build.sh - 8. 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. - 9. If additional user accounts have to be created, create board/ - //users_table.txt and add that path to - BR2_ROOTFS_USERS_TABLES. -10. 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. -11. 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. -12. 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. -13. make savedefconfig to save the buildroot configuration. -14. cp defconfig configs/_defconfig - -Chapter 10. Using SELinux in Buildroot - -SELinux [https://selinuxproject.org] is a Linux kernel security -module enforcing access control policies. In addition to the -traditional file permissions and access control lists, SELinux allows -to write rules for users or processes to access specific functions of -resources (files, sockets…). - -SELinux has three modes of operation: - - * Disabled: the policy is not applied - * Permissive: the policy is applied, and non-authorized actions are - simply logged. This mode is often used for troubleshooting - SELinux issues. - * Enforcing: the policy is applied, and non-authorized actions are - denied - -In Buildroot the mode of operation is controlled by the -BR2_PACKAGE_REFPOLICY_POLICY_STATE_* configuration options. The Linux -kernel also has various configuration options that affect how SELinux -is enabled (see security/selinux/Kconfig in the Linux kernel -sources). - -By default in Buildroot the SELinux policy is provided by the -upstream refpolicy [https://github.com/SELinuxProject/refpolicy] -project, enabled with BR2_PACKAGE_REFPOLICY. - -10.1. Enabling SELinux support - -To have proper support for SELinux in a Buildroot generated system, -the following configuration options must be enabled: - - * BR2_PACKAGE_LIBSELINUX - * BR2_PACKAGE_REFPOLICY - -In addition, your filesystem image format must support extended -attributes. - -10.2. SELinux policy tweaking - -The SELinux refpolicy contains modules that can be enabled or -disabled when being built. Each module provide a number of SELinux -rules. In Buildroot the non-base modules are disabled by default and -several ways to enable such modules are provided: - - * Packages can enable a list of SELinux modules within the - refpolicy using the _SELINUX_MODULES variable. - * Packages can provide additional SELinux modules by putting them - (.fc, .if and .te files) in package//selinux/. - * Extra SELinux modules can be added in directories pointed by the - BR2_REFPOLICY_EXTRA_MODULES_DIRS configuration option. - * Additional modules in the refpolicy can be enabled if listed in - the BR2_REFPOLICY_EXTRA_MODULES_DEPENDENCIES configuration - option. - -Buildroot also allows to completely override the refpolicy. This -allows to provide a full custom policy designed specifically for a -given system. When going this way, all of the above mechanisms are -disabled: no extra SElinux module is added to the policy, and all the -available modules within the custom policy are enabled and built into -the final binary policy. The custom policy must be a fork of the -official refpolicy [https://github.com/SELinuxProject/refpolicy]. - -In order to fully override the refpolicy the following configuration -variables have to be set: - - * BR2_PACKAGE_REFPOLICY_CUSTOM_GIT - * BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL - * BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION - -Chapter 11. Frequently Asked Questions & Troubleshooting - -11.1. 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. - -11.2. 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: - - * openembedded [http://www.openembedded.org] - * yocto [https://www.yoctoproject.org] - * emdebian [http://www.emdebian.org] - * Fedora [https://fedoraproject.org/wiki/Architectures] - * openSUSE ARM [http://en.opensuse.org/Portal:ARM] - * Arch Linux ARM [http://archlinuxarm.org] - * … - -11.3. Why are there no development files on the target? - -Since there is no compiler available on the target (see Section 11.2, -“Why is there no compiler on the 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. - -11.4. 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: Section 11.2, “Why is there no compiler on the -target?â€). - -11.5. 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 Section 8.1, “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 Section 8.1, “make -tips†for more explanations). - -11.6. 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. - -11.7. 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, Open Embedded [http:// - openembedded.org/], or openWRT [https://openwrt.org/], 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. - -11.8. 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: Section 8.14.3, “Using ccache - in Buildrootâ€); - * Learn about rebuilding only the few packages you actually care - about (see Section 8.3, “Understanding how to rebuild packagesâ€), - but beware that sometimes full rebuilds are anyway necessary (see - Section 8.2, “Understanding when a full rebuild is necessaryâ€); - * 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 Section 8.12, - “Top-level parallel buildâ€. - -Chapter 12. Known issues - - * It is not possible to pass extra linker options via - BR2_TARGET_LDFLAGS if such options contain a $ sign. For example, - the following is known to break: BR2_TARGET_LDFLAGS="-Wl,-rpath= - '$ORIGIN/../lib'" - * The libffi package is not supported on the SuperH 2 and ARC - architectures. - * The prboom package triggers a compiler failure with the SuperH 4 - compiler from Sourcery CodeBench, version 2012.09. - -Chapter 13. Legal notice and licensing - -13.1. Complying with open source licenses - -All of the end products of Buildroot (toolchain, root filesystem, -kernel, bootloaders) contain open source software, released under -various licenses. - -Using open source software gives you the freedom to build rich -embedded systems, choosing from a wide range of packages, but also -imposes some obligations that you must know and honour. Some licenses -require you to publish the license text in the documentation of your -product. Others require you to redistribute the source code of the -software to those that receive your product. - -The exact requirements of each license are documented in each -package, and it is your responsibility (or that of your legal office) -to comply with those requirements. To make this easier for you, -Buildroot can collect for you some material you will probably need. -To produce this material, after you have configured Buildroot with -make menuconfig, make xconfig or make gconfig, run: - -make legal-info - -Buildroot will collect legally-relevant material in your output -directory, under the legal-info/ subdirectory. There you will find: - - * A README file, that summarizes the produced material and contains - warnings about material that Buildroot could not produce. - * buildroot.config: this is the Buildroot configuration file that - is usually produced with make menuconfig, and which is necessary - to reproduce the build. - * The source code for all packages; this is saved in the sources/ - and host-sources/ subdirectories for target and host packages - respectively. The source code for packages that set - _REDISTRIBUTE = NO will not be saved. Patches that were applied - are also saved, along with a file named series that lists the - patches in the order they were applied. Patches are under the - same license as the files that they modify. Note: Buildroot - applies additional patches to Libtool scripts of autotools-based - packages. These patches can be found under support/libtool in the - Buildroot source and, due to technical limitations, are not saved - with the package sources. You may need to collect them manually. - * A manifest file (one for host and one for target packages) - listing the configured packages, their version, license and - related information. Some of this information might not be - defined in Buildroot; such items are marked as "unknown". - * The license texts of all packages, in the licenses/ and - host-licenses/ subdirectories for target and host packages - respectively. If the license file(s) are not defined in - Buildroot, the file is not produced and a warning in the README - indicates this. - -Please note that the aim of the legal-info feature of Buildroot is to -produce all the material that is somehow relevant for legal -compliance with the package licenses. Buildroot does not try to -produce the exact material that you must somehow make public. -Certainly, more material is produced than is needed for a strict -legal compliance. For example, it produces the source code for -packages released under BSD-like licenses, that you are not required -to redistribute in source form. - -Moreover, due to technical limitations, Buildroot does not produce -some material that you will or may need, such as the toolchain source -code for some of the external toolchains and the Buildroot source -code itself. When you run make legal-info, Buildroot produces -warnings in the README file to inform you of relevant material that -could not be saved. - -Finally, keep in mind that the output of make legal-info is based on -declarative statements in each of the packages recipes. The Buildroot -developers try to do their best to keep those declarative statements -as accurate as possible, to the best of their knowledge. However, it -is very well possible that those declarative statements are not all -fully accurate nor exhaustive. You (or your legal department) have to -check the output of make legal-info before using it as your own -compliance delivery. See the NO WARRANTY clauses (clauses 11 and 12) -in the COPYING file at the root of the Buildroot distribution. - -13.2. Complying with the Buildroot license - -Buildroot itself is an open source software, released under the GNU -General Public License, version 2 [http://www.gnu.org/licenses/ -old-licenses/gpl-2.0.html] or (at your option) any later version, -with the exception of the package patches detailed below. However, -being a build system, it is not normally part of the end product: if -you develop the root filesystem, kernel, bootloader or toolchain for -a device, the code of Buildroot is only present on the development -machine, not in the device storage. - -Nevertheless, the general view of the Buildroot developers is that -you should release the Buildroot source code along with the source -code of other packages when releasing a product that contains -GPL-licensed software. This is because the GNU GPL [http:// -www.gnu.org/licenses/old-licenses/gpl-2.0.html] defines the "complete -source code" for an executable work as "all the source code for all -modules it contains, plus any associated interface definition files, -plus the scripts used to control compilation and installation of the -executable". Buildroot is part of the scripts used to control -compilation and installation of the executable, and as such it is -considered part of the material that must be redistributed. - -Keep in mind that this is only the Buildroot developers' opinion, and -you should consult your legal department or lawyer in case of any -doubt. - -13.2.1. Patches to packages - -Buildroot also bundles patch files, which are applied to the sources -of the various packages. Those patches are not covered by the license -of Buildroot. Instead, they are covered by the license of the -software to which the patches are applied. When said software is -available under multiple licenses, the Buildroot patches are only -provided under the publicly accessible licenses. - -See Chapter 19, Patching a package for the technical details. - -Chapter 14. Beyond Buildroot - -14.1. Boot the generated images - -14.1.1. NFS boot - -To achieve NFS-boot, enable tar root filesystem in the Filesystem -images menu. - -After a complete build, just run the following commands to setup the -NFS-root directory: - -sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir - -Remember to add this path to /etc/exports. - -Then, you can execute a NFS-boot from your target. - -14.1.2. Live CD - -To build a live CD image, enable the iso image option in the -Filesystem images menu. Note that this option is only available on -the x86 and x86-64 architectures, and if you are building your kernel -with Buildroot. - -You can build a live CD image with either IsoLinux, Grub or Grub 2 as -a bootloader, but only Isolinux supports making this image usable -both as a live CD and live USB (through the Build hybrid image -option). - -You can test your live CD image using QEMU: - -qemu-system-i386 -cdrom output/images/rootfs.iso9660 - -Or use it as a hard-drive image if it is a hybrid ISO: - -qemu-system-i386 -hda output/images/rootfs.iso9660 - -It can be easily flashed to a USB drive with dd: - -dd if=output/images/rootfs.iso9660 of=/dev/sdb - -14.2. Chroot - -If you want to chroot in a generated image, then there are few thing -you should be aware of: - - * you should setup the new root from the tar root filesystem image; - * either the selected target architecture is compatible with your - host machine, or you should use some qemu-* binary and correctly - set it within the binfmt properties to be able to run the - binaries built for the target on your host machine; - * Buildroot does not currently provide host-qemu and binfmt - correctly built and set for that kind of use. - -Part III. Developer guide - -Table of Contents - -15. How Buildroot works -16. Coding style - - 16.1. Config.in file - 16.2. The .mk file - 16.3. The documentation - 16.4. Support scripts - -17. Adding support for a particular board -18. Adding new packages to Buildroot - - 18.1. Package directory - 18.2. Config files - 18.3. The .mk file - 18.4. The .hash file - 18.5. Infrastructure for packages with specific build systems - 18.6. Infrastructure for autotools-based packages - 18.7. Infrastructure for CMake-based packages - 18.8. Infrastructure for Python packages - 18.9. Infrastructure for LuaRocks-based packages - 18.10. Infrastructure for Perl/CPAN packages - 18.11. Infrastructure for virtual packages - 18.12. Infrastructure for packages using kconfig for - configuration files - 18.13. Infrastructure for rebar-based packages - 18.14. Infrastructure for Waf-based packages - 18.15. Infrastructure for Meson-based packages - 18.16. Integration of Cargo-based packages - 18.17. Infrastructure for Go packages - 18.18. Infrastructure for QMake-based packages - 18.19. Infrastructure for packages building kernel modules - 18.20. Infrastructure for asciidoc documents - 18.21. Infrastructure specific to the Linux kernel package - 18.22. Hooks available in the various build steps - 18.23. Gettext integration and interaction with packages - 18.24. Tips and tricks - 18.25. Conclusion - -19. Patching a package - - 19.1. Providing patches - 19.2. How patches are applied - 19.3. Format and licensing of the package patches - 19.4. Integrating patches found on the Web - -20. Download infrastructure -21. Debugging Buildroot -22. Contributing to Buildroot - - 22.1. Reproducing, analyzing and fixing bugs - 22.2. Analyzing and fixing autobuild failures - 22.3. Reviewing and testing patches - 22.4. Work on items from the TODO list - 22.5. Submitting patches - 22.6. Reporting issues/bugs or getting help - 22.7. Using the runtime tests framework - -23. DEVELOPERS file and get-developers -24. Release Engineering - - 24.1. Releases - 24.2. Development - -Chapter 15. How Buildroot works - -As mentioned above, Buildroot is basically a set of Makefiles that -download, configure, and compile software with the correct options. -It also includes patches for various software packages - mainly the -ones involved in the cross-compilation toolchain (gcc, binutils and -uClibc). - -There is basically one Makefile per software package, and they are -named with the .mk extension. Makefiles are split into many different -parts. - - * The toolchain/ directory contains the Makefiles and associated - files for all software related to the cross-compilation - toolchain: binutils, gcc, gdb, kernel-headers and uClibc. - * The arch/ directory contains the definitions for all the - processor architectures that are supported by Buildroot. - * The package/ directory contains the Makefiles and associated - files for all user-space tools and libraries that Buildroot can - compile and add to the target root filesystem. There is one - sub-directory per package. - * The linux/ directory contains the Makefiles and associated files - for the Linux kernel. - * The boot/ directory contains the Makefiles and associated files - for the bootloaders supported by Buildroot. - * The system/ directory contains support for system integration, - e.g. the target filesystem skeleton and the selection of an init - system. - * The fs/ directory contains the Makefiles and associated files for - software related to the generation of the target root filesystem - image. - -Each directory contains at least 2 files: - - * something.mk is the Makefile that downloads, configures, compiles - and installs the package something. - * Config.in is a part of the configuration tool description file. - It describes the options related to the package. - -The main Makefile performs the following steps (once the -configuration is done): - - * Create all the output directories: staging, target, build, etc. - in the output directory (output/ by default, another value can be - specified using O=) - * Generate the toolchain target. When an internal toolchain is - used, this means generating the cross-compilation toolchain. When - an external toolchain is used, this means checking the features - of the external toolchain and importing it into the Buildroot - environment. - * Generate all the targets listed in the TARGETS variable. This - variable is filled by all the individual components' Makefiles. - Generating these targets will trigger the compilation of the - userspace packages (libraries, programs), the kernel, the - bootloader and the generation of the root filesystem images, - depending on the configuration. - -Chapter 16. 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. - -16.1. 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. - -16.2. 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_PYTHON),y) - LIBFOO_CONF_OPTS += --with-python-support - LIBFOO_DEPENDENCIES += python - else - LIBFOO_CONF_OPTS += --without-python-support - endif - - NO: - - LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support - LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) - - + 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 - -16.3. The documentation - -The documentation uses the asciidoc [http://www.methods.co.nz/ -asciidoc/] format. - -For further details about the asciidoc syntax, refer to http:// -www.methods.co.nz/asciidoc/userguide.html. - -16.4. Support scripts - -Some scripts in the support/ and utils/ directories are written in -Python and should follow the PEP8 Style Guide for Python Code [https: -//www.python.org/dev/peps/pep-0008/]. - -Chapter 17. 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 Chapter 9, Project-specific -customization for more details. - -Chapter 18. 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 Section 18.24.3, “How to test your packageâ€) and also check it -for coding style (see Section 18.24.2, “How to check the coding -styleâ€). - -18.1. 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. - -18.2. 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. - -18.2.1. 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" - -18.2.2. 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. - -18.2.3. 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 Section 18.2.4, “Dependencies - on target and 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" - select BR2_PACKAGE_B - depends on BR2_PACKAGE_A - -config BR2_PACKAGE_E - bool "Package E" - select BR2_PACKAGE_D - depends on BR2_PACKAGE_A - -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 the coding style. - -18.2.4. 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 - -18.2.5. 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 - -18.2.6. 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 - -18.2.7. Dependencies on features provided by virtual packages - -Some features can be provided by more than one package, such as the -openGL libraries. - -See Section 18.11, “Infrastructure for virtual packages†for more on -the virtual packages. - -18.3. The .mk file - -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 tutorial and a 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 tutorial - and 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 tutorial and reference. - * Makefiles for Python modules: We have a dedicated infrastructure - for Python modules that use either the distutils or the - setuptools mechanism. We cover them through a tutorial and a - reference. - * Makefiles for Lua modules: We have a dedicated infrastructure for - Lua modules available through the LuaRocks web site. We cover - them through a tutorial and a reference. - -Further formatting details: see the writing rules. - -18.4. 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, none - * the hash of the file: - - + for none, one or more non-space chars, usually just the - string xxx - + 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 Section 19.2, “How patches -are appliedâ€). - -The none hash type is reserved to those archives downloaded from a -repository, like a git clone, a subversion checkout… - -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 - -# No hash for 1234: -none xxx libfoo-1234.tar.gz - -# 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. - -18.5. 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. - -18.5.1. 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. - -Example 18.1. 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 - - -Example 18.2. 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. - -18.5.2. 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 - 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 Section 18.24.4, “How to add a package from - GitHub†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. 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://. - + 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 Section 18.22.1, “Using the POST_RSYNC hookâ€. - * 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_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 Section 18.11, “Infrastructure for virtual - packagesâ€. - * 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 Chapter 25, Makedev syntax documentation. 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 Chapter 25, Makedev syntax documentation. 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 Chapter 26, Makeusers - syntax documentation. 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 the SPDX - License List [https://spdx.org/licenses/], 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 Chapter 13, Legal notice and - licensing 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 CPE identifier [https://nvd.nist.gov/ - products/cpe]. 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 Section 8.12, “Top-level parallel build†for more - details about per-package directory support. - -Finally, you can also use hooks. See Section 18.22, “Hooks available -in the various build steps†for more information. - -18.6. Infrastructure for autotools-based packages - -18.6.1. 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. - -18.6.2. 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 Section 18.22, “Hooks available in the - various build steps†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. - -18.7. Infrastructure for CMake-based packages - -18.7.1. 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. - -18.7.2. 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 Section 18.22, “Hooks available in the - various build steps†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. - -18.8. Infrastructure for Python packages - -This infrastructure applies to Python packages that use the standard -Python setuptools mechanism as their build system, generally -recognizable by the usage of a setup.py script. - -18.8.1. 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 two -supported ones are distutils 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. - -18.8.2. 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). - -Packages that are only compatible with one version of Python (as in: -Python 2 or Python 3) should depend on that version explicitely in -their Config.in file (BR2_PACKAGE_PYTHON for Python 2, -BR2_PACKAGE_PYTHON3 for Python 3). Packages that are compatible with -both versions should not explicitely depend on them in their -Config.in file, since that condition is already expressed for the -whole "External python modules" menu. - -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 -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 two supported values are distutils and - setuptools. If you don’t know which one is used in your package, - look at the setup.py file in your package source code, and see - whether it imports things from the distutils module or the - setuptools module. - -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 file. This is useful, - if for example, the main setup.py 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 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) and - HOST_PKG_PYTHON_SETUPTOOLS_ENV (for setuptools host packages). - * PYTHON_FOO_BUILD_OPTS, to specify additional options to pass to - the Python setup.py script during the build step. 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 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) and HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS (for host - setuptools packages). - * HOST_PYTHON_FOO_NEEDS_HOST_PYTHON, to define the host python - interpreter. The usage of this variable is limited to host - packages. The two supported value are python2 and python3. It - will ensure the right host python package is available and will - invoke it for the build. If some build steps are overloaded, the - right python interpreter must be explicitly called in the - commands. - -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 Section 18.22, “Hooks available in the - various build steps†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. - -18.8.3. 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 here [https:// -pypi.python.org]. - -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 - -18.8.4. 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)) - -18.9. Infrastructure for LuaRocks-based packages - -18.9.1. luarocks-package tutorial - -First, let’s see how to write a .mk file for a LuaRocks-based -package, with an example : - -01: ################################################################################ -02: # -03: # lua-foo -04: # -05: ################################################################################ -06: -07: LUA_FOO_VERSION = 1.0.2-1 -08: LUA_FOO_NAME_UPSTREAM = foo -09: LUA_FOO_DEPENDENCIES = bar -10: -11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include -12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib -13: LUA_FOO_LICENSE = luaFoo license -14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING -15: -16: $(eval $(luarocks-package)) - -On line 7, we declare the version of the package (the same as in the -rockspec, which is the concatenation of the upstream version and the -rockspec revision, separated by a hyphen -). - -On line 8, we declare that the package is called "foo" on LuaRocks. -In Buildroot, we give Lua-related packages a name that starts with -"lua", so the Buildroot name is different from the upstream name. -LUA_FOO_NAME_UPSTREAM makes the link between the two names. - -On line 9, we declare our dependencies against native libraries, so -that they are built before the build process of our package starts. - -On lines 11-12, we tell Buildroot to pass custom options to LuaRocks -when it is building the package. - -On lines 13-14, we specify the licensing terms for the package. - -Finally, on line 16, we invoke the luarocks-package macro that -generates all the Makefile rules that actually allows the package to -be built. - -Most of these details can be retrieved from the rock and rockspec. -So, this file and the Config.in file can be generated by running the -command luarocks buildroot foo lua-foo in the Buildroot directory. -This command runs a specific Buildroot addon of luarocks that will -automatically generate a Buildroot package. The result must still be -manually inspected and possibly modified. - - * The package/Config.in file has to be updated manually to include - the generated Config.in files. - -18.9.2. luarocks-package reference - -LuaRocks is a deployment and management system for Lua modules, and -supports various build.type: builtin, make and cmake. In the context -of Buildroot, the luarocks-package infrastructure only supports the -builtin mode. LuaRocks packages that use the make or cmake build -mechanisms should instead be packaged using the generic-package and -cmake-package infrastructures in Buildroot, respectively. - -The main macro of the LuaRocks package infrastructure is -luarocks-package: like generic-package it works by defining a number -of variables providing metadata information about the package, and -then calling luarocks-package. - -Just like the generic infrastructure, the LuaRocks infrastructure -works by defining a number of variables before calling the -luarocks-package macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the LuaRocks infrastructure: -LUA_FOO_VERSION, LUA_FOO_SOURCE, LUA_FOO_SITE, LUA_FOO_DEPENDENCIES, -LUA_FOO_LICENSE, LUA_FOO_LICENSE_FILES. - -Two of them are populated by the LuaRocks infrastructure (for the -download step). If your package is not hosted on the LuaRocks mirror -$(BR2_LUAROCKS_MIRROR), you can override them: - - * LUA_FOO_SITE, which defaults to $(BR2_LUAROCKS_MIRROR) - * LUA_FOO_SOURCE, which defaults to $(lowercase - LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock - -A few additional variables, specific to the LuaRocks infrastructure, -are also defined. They can be overridden in specific cases. - - * LUA_FOO_NAME_UPSTREAM, which defaults to lua-foo, i.e. the - Buildroot package name - * LUA_FOO_ROCKSPEC, which defaults to $(lowercase - LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec - * LUA_FOO_SUBDIR, which defaults to $(LUA_FOO_NAME_UPSTREAM)-$ - (LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION) - * LUA_FOO_BUILD_OPTS contains additional build options for the - luarocks build call. - -18.10. Infrastructure for Perl/CPAN packages - -18.10.1. perl-package tutorial - -First, let’s see how to write a .mk file for a Perl/CPAN package, -with an example : - -01: ################################################################################ -02: # -03: # perl-foo-bar -04: # -05: ################################################################################ -06: -07: PERL_FOO_BAR_VERSION = 0.02 -08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz -09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER -10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures -11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ -12: PERL_FOO_BAR_LICENSE_FILES = LICENSE -13: PERL_FOO_BAR_DISTNAME = Foo-Bar -14: -15: $(eval $(perl-package)) - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball and the location -of the tarball on a CPAN server. Buildroot will automatically -download the tarball from this location. - -On line 10, we declare our dependencies, so that they are built -before the build process of our package starts. - -On line 11 and 12, we give licensing details about the package (its -license on line 11, and the file containing the license text on line -12). - -On line 13, the name of the distribution as needed by the script -utils/scancpan (in order to regenerate/upgrade these package files). - -Finally, on line 15, we invoke the perl-package macro that generates -all the Makefile rules that actually allow the package to be built. - -Most of these data can be retrieved from https://metacpan.org/. So, -this file and the Config.in can be generated by running the script -utils/scancpan Foo-Bar in the Buildroot directory (or in a -br2-external tree). This script creates a Config.in file and -foo-bar.mk file for the requested package, and also recursively for -all dependencies specified by CPAN. You should still manually edit -the result. In particular, the following things should be checked. - - * If the perl module links with a shared library that is provided - by another (non-perl) package, this dependency is not added - automatically. It has to be added manually to - PERL_FOO_BAR_DEPENDENCIES. - * The package/Config.in file has to be updated manually to include - the generated Config.in files. As a hint, the scancpan script - prints out the required source "…" statements, sorted - alphabetically. - -18.10.2. perl-package reference - -As a policy, packages that provide Perl/CPAN modules should all be -named perl- in Buildroot. - -This infrastructure handles various Perl build systems : -ExtUtils-MakeMaker (EUMM), Module-Build (MB) and Module-Build-Tiny. -Build.PL is preferred by default when a package provides a -Makefile.PL and a Build.PL. - -The main macro of the Perl/CPAN package infrastructure is -perl-package. It is similar to the generic-package macro. The ability -to have target and host packages is also available, with the -host-perl-package macro. - -Just like the generic infrastructure, the Perl/CPAN infrastructure -works by defining a number of variables before calling the -perl-package macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Perl/CPAN -infrastructure: PERL_FOO_VERSION, PERL_FOO_SOURCE, PERL_FOO_PATCH, -PERL_FOO_SITE, PERL_FOO_SUBDIR, PERL_FOO_DEPENDENCIES, -PERL_FOO_INSTALL_TARGET. - -Note that setting PERL_FOO_INSTALL_STAGING to YES has no effect -unless a PERL_FOO_INSTALL_STAGING_CMDS variable is defined. The perl -infrastructure doesn’t define these commands since Perl modules -generally don’t need to be installed to the staging directory. - -A few additional variables, specific to the Perl/CPAN 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. - - * PERL_FOO_PREFER_INSTALLER/HOST_PERL_FOO_PREFER_INSTALLER, - specifies the preferred installation method. Possible values are - EUMM (for Makefile.PL based installation using - ExtUtils-MakeMaker) and MB (for Build.PL based installation using - Module-Build). This variable is only used when the package - provides both installation methods. - * PERL_FOO_CONF_ENV/HOST_PERL_FOO_CONF_ENV, to specify additional - environment variables to pass to the perl Makefile.PL or perl - Build.PL. By default, empty. - * PERL_FOO_CONF_OPTS/HOST_PERL_FOO_CONF_OPTS, to specify additional - configure options to pass to the perl Makefile.PL or perl - Build.PL. By default, empty. - * PERL_FOO_BUILD_OPTS/HOST_PERL_FOO_BUILD_OPTS, to specify - additional options to pass to make pure_all or perl Build build - in the build step. By default, empty. - * PERL_FOO_INSTALL_TARGET_OPTS, to specify additional options to - pass to make pure_install or perl Build install in the install - step. By default, empty. - * HOST_PERL_FOO_INSTALL_OPTS, to specify additional options to pass - to make pure_install or perl Build install in the install step. - By default, empty. - -18.11. Infrastructure for virtual packages - -In Buildroot, a virtual package is a package whose functionalities -are provided by one or more packages, referred to as providers. The -virtual package management is an extensible mechanism allowing the -user to choose the provider used in the rootfs. - -For example, OpenGL ES is an API for 2D and 3D graphics on embedded -systems. The implementation of this API is different for the -Allwinner Tech Sunxi and the Texas Instruments OMAP35xx platforms. So -libgles will be a virtual package and sunxi-mali and ti-gfx will be -the providers. - -18.11.1. virtual-package tutorial - -In the following example, we will explain how to add a new virtual -package (something-virtual) and a provider for it (some-provider). - -First, let’s create the virtual package. - -18.11.2. Virtual package’s Config.in file - -The Config.in file of virtual package something-virtual should -contain: - -01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -02: bool -03: -04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL -05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -06: string - -In this file, we declare two options, -BR2_PACKAGE_HAS_SOMETHING_VIRTUAL and -BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL, whose values will be used by -the providers. - -18.11.3. Virtual package’s .mk file - -The .mk for the virtual package should just evaluate the -virtual-package macro: - -01: ################################################################################ -02: # -03: # something-virtual -04: # -05: ################################################################################ -06: -07: $(eval $(virtual-package)) - -The ability to have target and host packages is also available, with -the host-virtual-package macro. - -18.11.4. Provider’s Config.in file - -When adding a package as a provider, only the Config.in file requires -some modifications. - -The Config.in file of the package some-provider, which provides the -functionalities of something-virtual, should contain: - -01: config BR2_PACKAGE_SOME_PROVIDER -02: bool "some-provider" -03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL -04: help -05: This is a comment that explains what some-provider is. -06: -07: http://foosoftware.org/some-provider/ -08: -09: if BR2_PACKAGE_SOME_PROVIDER -10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL -11: default "some-provider" -12: endif - -On line 3, we select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL, and on line -11, we set the value of BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL to the -name of the provider, but only if it is selected. - -18.11.5. Provider’s .mk file - -The .mk file should also declare an additional variable -SOME_PROVIDER_PROVIDES to contain the names of all the virtual -packages it is an implementation of: - -01: SOME_PROVIDER_PROVIDES = something-virtual - -Of course, do not forget to add the proper build and runtime -dependencies for this package! - -18.11.6. Notes on depending on a virtual package - -When adding a package that requires a certain FEATURE provided by a -virtual package, you have to use depends on BR2_PACKAGE_HAS_FEATURE, -like so: - -config BR2_PACKAGE_HAS_FEATURE - bool - -config BR2_PACKAGE_FOO - bool "foo" - depends on BR2_PACKAGE_HAS_FEATURE - -18.11.7. Notes on depending on a specific provider - -If your package really requires a specific provider, then you’ll have -to make your package depends on this provider; you can not select a -provider. - -Let’s take an example with two providers for a FEATURE: - -config BR2_PACKAGE_HAS_FEATURE - bool - -config BR2_PACKAGE_FOO - bool "foo" - select BR2_PACKAGE_HAS_FEATURE - -config BR2_PACKAGE_BAR - bool "bar" - select BR2_PACKAGE_HAS_FEATURE - -And you are adding a package that needs FEATURE as provided by foo, -but not as provided by bar. - -If you were to use select BR2_PACKAGE_FOO, then the user would still -be able to select BR2_PACKAGE_BAR in the menuconfig. This would -create a configuration inconsistency, whereby two providers of the -same FEATURE would be enabled at once, one explicitly set by the -user, the other implicitly by your select. - -Instead, you have to use depends on BR2_PACKAGE_FOO, which avoids any -implicit configuration inconsistency. - -18.12. Infrastructure for packages using kconfig for configuration -files - -A popular way for a software package to handle user-specified -configuration is kconfig. Among others, it is used by the Linux -kernel, Busybox, and Buildroot itself. The presence of a .config file -and a menuconfig target are two well-known symptoms of kconfig being -used. - -Buildroot features an infrastructure for packages that use kconfig -for their configuration. This infrastructure provides the necessary -logic to expose the package’s menuconfig target as foo-menuconfig in -Buildroot, and to handle the copying back and forth of the -configuration file in a correct way. - -The kconfig-package infrastructure is based on the generic-package -infrastructure. All variables supported by generic-package are -available in kconfig-package as well. See Section 18.5.2, -“generic-package reference†for more details. - -In order to use the kconfig-package infrastructure for a Buildroot -package, the minimally required lines in the .mk file, in addition to -the variables required by the generic-package infrastructure, are: - -FOO_KCONFIG_FILE = reference-to-source-configuration-file - -$(eval $(kconfig-package)) - -This snippet creates the following make targets: - - * foo-menuconfig, which calls the package’s menuconfig target - * foo-update-config, which copies the configuration back to the - source configuration file. It is not possible to use this target - when fragment files are set. - * foo-update-defconfig, which copies the configuration back to the - source configuration file. The configuration file will only list - the options that differ from the default values. It is not - possible to use this target when fragment files are set. - * foo-diff-config, which outputs the differences between the - current configuration and the one defined in the Buildroot - configuration for this kconfig package. The output is useful to - identify the configuration changes that may have to be propagated - to configuration fragments for example. - -and ensures that the source configuration file is copied to the build -directory at the right moment. - -There are two options to specify a configuration file to use, either -FOO_KCONFIG_FILE (as in the example, above) or FOO_KCONFIG_DEFCONFIG. -It is mandatory to provide either, but not both: - - * FOO_KCONFIG_FILE specifies the path to a defconfig or full-config - file to be used to configure the package. - * FOO_KCONFIG_DEFCONFIG specifies the defconfig make rule to call - to configure the package. - -In addition to these minimally required lines, several optional -variables can be set to suit the needs of the package under -consideration: - - * FOO_KCONFIG_EDITORS: a space-separated list of kconfig editors to - support, for example menuconfig xconfig. By default, menuconfig. - * FOO_KCONFIG_FRAGMENT_FILES: a space-separated list of - configuration fragment files that are merged to the main - configuration file. Fragment files are typically used when there - is a desire to stay in sync with an upstream (def)config file, - with some minor modifications. - * FOO_KCONFIG_OPTS: extra options to pass when calling the kconfig - editors. This may need to include $(FOO_MAKE_OPTS), for example. - By default, empty. - * FOO_KCONFIG_FIXUP_CMDS: a list of shell commands needed to fixup - the configuration file after copying it or running a kconfig - editor. Such commands may be needed to ensure a configuration - consistent with other configuration of Buildroot, for example. By - default, empty. - * FOO_KCONFIG_DOTCONFIG: path (with filename) of the .config file, - relative to the package source tree. The default, .config, should - be well suited for all packages that use the standard kconfig - infrastructure as inherited from the Linux kernel; some packages - use a derivative of kconfig that use a different location. - * FOO_KCONFIG_DEPENDENCIES: the list of packages (most probably, - host packages) that need to be built before this package’s - kconfig is interpreted. Seldom used. By default, empty. - * FOO_KCONFIG_SUPPORTS_DEFCONFIG: whether the package’s kconfig - system supports using defconfig files; few packages do not. By - default, YES. - -18.13. Infrastructure for rebar-based packages - -18.13.1. rebar-package tutorial - -First, let’s see how to write a .mk file for a rebar-based package, -with an example : - -01: ################################################################################ -02: # -03: # erlang-foobar -04: # -05: ################################################################################ -06: -07: ERLANG_FOOBAR_VERSION = 1.0 -08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz -09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download -10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb -11: -12: $(eval $(rebar-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 declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line 12, we invoke the rebar-package macro that generates -all the Makefile rules that actually allows the package to be built. - -18.13.2. rebar-package reference - -The main macro of the rebar package infrastructure is rebar-package. -It is similar to the generic-package macro. The ability to have host -packages is also available, with the host-rebar-package macro. - -Just like the generic infrastructure, the rebar infrastructure works -by defining a number of variables before calling the rebar-package -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the rebar infrastructure: -ERLANG_FOOBAR_VERSION, ERLANG_FOOBAR_SOURCE, ERLANG_FOOBAR_PATCH, -ERLANG_FOOBAR_SITE, ERLANG_FOOBAR_SUBDIR, ERLANG_FOOBAR_DEPENDENCIES, -ERLANG_FOOBAR_INSTALL_STAGING, ERLANG_FOOBAR_INSTALL_TARGET, -ERLANG_FOOBAR_LICENSE and ERLANG_FOOBAR_LICENSE_FILES. - -A few additional variables, specific to the rebar 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. - - * ERLANG_FOOBAR_USE_AUTOCONF, to specify that the package uses - autoconf at the configuration step. When a package sets this - variable to YES, the autotools infrastructure is used. - - Note. You can also use some of the variables from the autotools - infrastructure: ERLANG_FOOBAR_CONF_ENV, ERLANG_FOOBAR_CONF_OPTS, - ERLANG_FOOBAR_AUTORECONF, ERLANG_FOOBAR_AUTORECONF_ENV and - ERLANG_FOOBAR_AUTORECONF_OPTS. - - * ERLANG_FOOBAR_USE_BUNDLED_REBAR, to specify that the package has - a bundled version of rebar and that it shall be used. Valid - values are YES or NO (the default). - - Note. If the package bundles a rebar utility, but can use the - generic one that Buildroot provides, just say NO (i.e., do not - specify this variable). Only set if it is mandatory to use the - rebar utility bundled in this package. - - * ERLANG_FOOBAR_REBAR_ENV, to specify additional environment - variables to pass to the rebar utility. - * ERLANG_FOOBAR_KEEP_DEPENDENCIES, to keep the dependencies - described in the rebar.config file. Valid values are YES or NO - (the default). Unless this variable is set to YES, the rebar - infrastructure removes such dependencies in a post-patch hook to - ensure rebar does not download nor compile them. - -With the rebar infrastructure, all the steps required to build and -install the packages are already defined, and they generally work -well for most rebar-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 Section 18.22, “Hooks available in the - various build steps†for details. - * By overriding one of the steps. For example, even if the rebar - infrastructure is used, if the package .mk file defines its own - ERLANG_FOOBAR_BUILD_CMDS variable, it will be used instead of the - default rebar one. However, using this method should be - restricted to very specific cases. Do not use it in the general - case. - -18.14. Infrastructure for Waf-based packages - -18.14.1. waf-package tutorial - -First, let’s see how to write a .mk file for a Waf-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_CONF_OPTS = --enable-bar --disable-baz -11: LIBFOO_DEPENDENCIES = bar -12: -13: $(eval $(waf-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 what options to enable for libfoo. - -On line 11, we tell Buildroot the dependencies of libfoo. - -Finally, on line line 13, we invoke the waf-package macro that -generates all the Makefile rules that actually allows the package to -be built. - -18.14.2. waf-package reference - -The main macro of the Waf package infrastructure is waf-package. It -is similar to the generic-package macro. - -Just like the generic infrastructure, the Waf infrastructure works by -defining a number of variables before calling the waf-package macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Waf infrastructure: -LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, -LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, -LIBFOO_INSTALL_TARGET. - -An additional variable, specific to the Waf infrastructure, can also -be defined. - - * LIBFOO_SUBDIR may contain the name of a subdirectory inside the - package that contains the main wscript file. This is useful, if - for example, the main wscript 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_NEEDS_EXTERNAL_WAF can be set to YES or NO to tell - Buildroot to use the bundled waf executable. If set to NO, the - default, then Buildroot will use the waf executable provided in - the package source tree; if set to YES, then Buildroot will - download, install waf as a host tool and use it to build the - package. - * LIBFOO_WAF_OPTS, to specify additional options to pass to the waf - script at every step of the package build process: configure, - build and installation. By default, empty. - * LIBFOO_CONF_OPTS, to specify additional options to pass to the - waf script for the configuration step. By default, empty. - * LIBFOO_BUILD_OPTS, to specify additional options to pass to the - waf script during the build step. By default, empty. - * LIBFOO_INSTALL_STAGING_OPTS, to specify additional options to - pass to the waf script during the staging installation step. By - default, empty. - * LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass - to the waf script during the target installation step. By - default, empty. - -18.15. Infrastructure for Meson-based packages - -18.15.1. meson-package tutorial - -Meson [http://mesonbuild.com] is an open source build system meant to -be both extremely fast, and, even more importantly, as user friendly -as possible. It uses Ninja [https://ninja-build.org] as a companion -tool to perform the actual build operations. - -Let’s see how to write a .mk file for a Meson-based package, with an -example: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.0 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-3.0+ -11: FOO_LICENSE_FILES = COPYING -12: FOO_INSTALL_STAGING = YES -13: -14: FOO_DEPENDENCIES = host-pkgconf bar -15: -16: ifeq ($(BR2_PACKAGE_BAZ),y) -17: FOO_CONF_OPTS += -Dbaz=true -18: FOO_DEPENDENCIES += baz -19: else -20: FOO_CONF_OPTS += -Dbaz=false -21: endif -22: -23: $(eval $(meson-package)) - -The Makefile starts with the definition of the standard variables for -package declaration (lines 7 to 11). - -On line line 23, we invoke the meson-package macro that generates all -the Makefile rules that actually allows the package to be built. - -In the example, host-pkgconf and bar are declared as dependencies in -FOO_DEPENDENCIES at line 14 because the Meson build file of foo uses -pkg-config to determine the compilation flags and libraries of -package bar. - -Note that it is not necessary to add host-meson in the -FOO_DEPENDENCIES variable of a package, since this basic dependency -is automatically added as needed by the Meson package infrastructure. - -If the "baz" package is selected, then support for the "baz" feature -in "foo" is activated by adding -Dbaz=true to FOO_CONF_OPTS at line -17, as specified in the meson_options.txt file in "foo" source tree. -The "baz" package is also added to FOO_DEPENDENCIES. Note that the -support for baz is explicitly disabled at line 20, if the package is -not selected. - -To sum it up, to add a new meson-based package, the Makefile example -can be copied verbatim then edited to replace all occurences of FOO -with the uppercase name of the new package and update the values of -the standard variables. - -18.15.2. meson-package reference - -The main macro of the Meson package infrastructure is meson-package. -It is similar to the generic-package macro. The ability to have -target and host packages is also available, with the -host-meson-package macro. - -Just like the generic infrastructure, the Meson infrastructure works -by defining a number of variables before calling the meson-package -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Meson infrastructure: -FOO_VERSION, FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, -FOO_DEPENDENCIES, FOO_INSTALL_STAGING, FOO_INSTALL_TARGET. - -A few additional variables, specific to the Meson infrastructure, can -also be defined. Many of them are only useful in very specific cases, -typical packages will therefore only use a few of them. - - * FOO_SUBDIR may contain the name of a subdirectory inside the - package that contains the main meson.build file. This is useful, - if for example, the main meson.build file is not at the root of - the tree extracted by the tarball. If HOST_FOO_SUBDIR is not - specified, it defaults to FOO_SUBDIR. - * FOO_CONF_ENV, to specify additional environment variables to pass - to meson for the configuration step. By default, empty. - * FOO_CONF_OPTS, to specify additional options to pass to meson for - the configuration step. By default, empty. - * FOO_CFLAGS, to specify compiler arguments added to the package - specific cross-compile.conf file c_args property. By default, the - value of TARGET_CFLAGS. - * FOO_CXXFLAGS, to specify compiler arguments added to the package - specific cross-compile.conf file cpp_args property. By default, - the value of TARGET_CXXFLAGS. - * FOO_LDFLAGS, to specify compiler arguments added to the package - specific cross-compile.conf file c_link_args and cpp_link_args - properties. By default, the value of TARGET_LDFLAGS. - * FOO_MESON_EXTRA_BINARIES, to specify a space-separated list of - programs to add to the [binaries] section of the meson - cross-compilation.conf configuration file. The format is - program-name='/path/to/program', with no space around the = sign, - and with the path of the program between single quotes. By - default, empty. Note that Buildroot already sets the correct - values for c, cpp, ar, strip, and pkgconfig. - * FOO_MESON_EXTRA_PROPERTIES, to specify a space-separated list of - properties to add to the [properties] section of the meson - cross-compilation.conf configuration file. The format is - property-name= with no space around the = sign, and with - single quotes around string values. By default, empty. Note that - Buildroot already sets values for needs_exe_wrapper, c_args, - c_link_args, cpp_args, cpp_link_args, sys_root, and - pkg_config_libdir. - * FOO_NINJA_ENV, to specify additional environment variables to - pass to ninja, meson companion tool in charge of the build - operations. By default, empty. - * FOO_NINJA_OPTS, to specify a space-separated list of targets to - build. By default, empty, to build the default target(s). - -18.16. Integration of Cargo-based packages - -Cargo is the package manager for the Rust programming language. It -allows the user to build programs or libraries written in Rust, but -it also downloads and manages their dependencies, to ensure -repeatable builds. Cargo packages are called "crates". - -18.16.1. Cargo-based package’s Config.in file - -The Config.in file of Cargo-based package foo should contain: - -01: config BR2_PACKAGE_FOO -02: bool "foo" -03: depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS -04: select BR2_PACKAGE_HOST_RUSTC -05: help -06: This is a comment that explains what foo is. -07: -08: http://foosoftware.org/foo/ - -18.16.2. Cargo-based package’s .mk file - -Buildroot does not (yet) provide a dedicated package infrastructure -for Cargo-based packages. So, we will explain how to write a .mk file -for such a package. Let’s start with an example: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.0 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-3.0+ -11: FOO_LICENSE_FILES = COPYING -12: -13: FOO_DEPENDENCIES = host-rustc -14: -15: FOO_CARGO_ENV = CARGO_HOME=$(HOST_DIR)/share/cargo -16: -17: FOO_BIN_DIR = target/$(RUSTC_TARGET_NAME)/$(FOO_CARGO_MODE) -18: -19: FOO_CARGO_OPTS = \ -20: $(if $(BR2_ENABLE_DEBUG),,--release) \ -21: --target=$(RUSTC_TARGET_NAME) \ -22: --manifest-path=$(@D)/Cargo.toml -23: -24: define FOO_BUILD_CMDS -25: $(TARGET_MAKE_ENV) $(FOO_CARGO_ENV) \ -26: cargo build $(FOO_CARGO_OPTS) -27: endef -28: -29: define FOO_INSTALL_TARGET_CMDS -30: $(INSTALL) -D -m 0755 $(@D)/$(FOO_BIN_DIR)/foo \ -31: $(TARGET_DIR)/usr/bin/foo -32: endef -33: -34: $(eval $(generic-package)) - -The Makefile starts with the definition of the standard variables for -package declaration (lines 7 to 11). - -As seen in line 34, it is based on the generic-package infrastructure -. So, it defines the variables required by this particular -infrastructure, where Cargo is invoked: - - * FOO_BUILD_CMDS: Cargo is invoked to perform the build. The - options required to configure the cross-compilation of the - package are passed via FOO_CONF_OPTS. - * FOO_INSTALL_TARGET_CMDS: The binary executable generated is - installed on the target. - -In order to have Cargo available for the build, FOO_DEPENDENCIES -needs to contain host-cargo. - -To sum it up, to add a new Cargo-based package, the Makefile example -can be copied verbatim then edited to replace all occurences of FOO -with the uppercase name of the new package and update the values of -the standard variables. - -18.16.3. About Dependencies Management - -A crate can depend on other libraries from crates.io or git -repositories, listed in its Cargo.toml file. Before starting a build, -Cargo usually downloads automatically them. This step can also be -performed independently, via the cargo fetch command. - -Cargo maintains a local cache of the registry index and of git -checkouts of the crates, whose location is given by $CARGO_HOME. As -seen in the package Makefile example at line 15, this environment -variable is set to $(HOST_DIR)/share/cargo. - -This dependency download mechanism is not convenient when performing -an offline build, as Cargo will fail to fetch the dependencies. In -that case, it is advised to generate a tarball of the dependencies -using the cargo vendor and add it to FOO_EXTRA_DOWNLOADS. - -18.17. Infrastructure for Go packages - -This infrastructure applies to Go packages that use the standard -build system and use bundled dependencies. - -18.17.1. golang-package tutorial - -First, let’s see how to write a .mk file for a go package, with an -example : - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.0 -08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)) -09: FOO_LICENSE = BSD-3-Clause -10: FOO_LICENSE_FILES = LICENSE -11: -12: $(eval $(golang-package)) - -On line 7, we declare the version of the package. - -On line 8, we declare the upstream location of the package, here -fetched from Github, since a large number of Go packages are hosted -on Github. - -On line 9 and 10, we give licensing details about the package. - -Finally, on line 12, we invoke the golang-package macro that -generates all the Makefile rules that actually allow the package to -be built. - -18.17.2. golang-package reference - -In their Config.in file, packages using the golang-package -infrastructure should depend on -BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS because Buildroot will -automatically add a dependency on host-go to such packages. If you -need CGO support in your package, you must add a dependency on -BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS. - -The main macro of the Go package infrastructure is golang-package. It -is similar to the generic-package macro. The ability to build host -packages is also available, with the host-golang-package macro. Host -packages built by host-golang-package macro should depend on -BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS. - -Just like the generic infrastructure, the Go infrastructure works by -defining a number of variables before calling the golang-package. - -All the package metadata information variables that exist in the -generic package infrastructure also exist in the Go infrastructure: -FOO_VERSION, FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, -FOO_DEPENDENCIES, FOO_LICENSE, FOO_LICENSE_FILES, -FOO_INSTALL_STAGING, etc. - -Note that it is not necessary to add host-go in the FOO_DEPENDENCIES -variable of a package, since this basic dependency is automatically -added as needed by the Go package infrastructure. - -A few additional variables, specific to the Go 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. - - * The package must specify its Go module name in the FOO_GOMOD - variable. If not specified, it defaults to URL-domain/ - 1st-part-of-URL/2nd-part-of-URL, e.g FOO_GOMOD will take the - value github.com/bar/foo for a package that specifies FOO_SITE = - $(call github,bar,foo,$(FOO_VERSION)). The Go package - infrastructure will automatically generate a minimal go.mod file - in the package source tree if it doesn’t exist. - * FOO_LDFLAGS and FOO_TAGS can be used to pass respectively the - LDFLAGS or the TAGS to the go build command. - * FOO_BUILD_TARGETS can be used to pass the list of targets that - should be built. If FOO_BUILD_TARGETS is not specified, it - defaults to .. We then have two cases: - - + FOO_BUILD_TARGETS is .. In this case, we assume only one - binary will be produced, and that by default we name it after - the package name. If that is not appropriate, the name of the - produced binary can be overridden using FOO_BIN_NAME. - + FOO_BUILD_TARGETS is not .. In this case, we iterate over the - values to build each target, and for each produced a binary - that is the non-directory component of the target. For - example if FOO_BUILD_TARGETS = cmd/docker cmd/dockerd the - binaries produced are docker and dockerd. - * FOO_INSTALL_BINS can be used to pass the list of binaries that - should be installed in /usr/bin on the target. If - FOO_INSTALL_BINS is not specified, it defaults to the lower-case - name of package. - -With the Go infrastructure, all the steps required to build and -install the packages are already defined, and they generally work -well for most Go-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 Section 18.22, “Hooks available in the - various build steps†for details. - * By overriding one of the steps. For example, even if the Go - infrastructure is used, if the package .mk file defines its own - FOO_BUILD_CMDS variable, it will be used instead of the default - Go one. However, using this method should be restricted to very - specific cases. Do not use it in the general case. - -18.18. Infrastructure for QMake-based packages - -18.18.1. qmake-package tutorial - -First, let’s see how to write a .mk file for a QMake-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_CONF_OPTS = QT_CONFIG+=bar QT_CONFIG-=baz -11: LIBFOO_DEPENDENCIES = bar -12: -13: $(eval $(qmake-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 what options to enable for libfoo. - -On line 11, we tell Buildroot the dependencies of libfoo. - -Finally, on line line 13, we invoke the qmake-package macro that -generates all the Makefile rules that actually allows the package to -be built. - -18.18.2. qmake-package reference - -The main macro of the QMake package infrastructure is qmake-package. -It is similar to the generic-package macro. - -Just like the generic infrastructure, the QMake infrastructure works -by defining a number of variables before calling the qmake-package -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the QMake infrastructure: -LIBFOO_VERSION, LIBFOO_SOURCE, LIBFOO_PATCH, LIBFOO_SITE, -LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, -LIBFOO_INSTALL_TARGET. - -An additional variable, specific to the QMake infrastructure, can -also be defined. - - * LIBFOO_CONF_ENV, to specify additional environment variables to - pass to the qmake script for the configuration step. By default, - empty. - * LIBFOO_CONF_OPTS, to specify additional options to pass to the - qmake script for the configuration step. By default, empty. - * LIBFOO_MAKE_ENV, to specify additional environment variables to - the make command during the build and install steps. By default, - empty. - * LIBFOO_MAKE_OPTS, to specify additional targets to pass to the - make command during the build step. By default, empty. - * LIBFOO_INSTALL_STAGING_OPTS, to specify additional targets to - pass to the make command during the staging installation step. By - default, install. - * LIBFOO_INSTALL_TARGET_OPTS, to specify additional targets to pass - to the make command during the target installation step. By - default, install. - * LIBFOO_SYNC_QT_HEADERS, to run syncqt.pl before qmake. Some - packages need this to have a properly populated include directory - before running the build. - -18.19. Infrastructure for packages building kernel modules - -Buildroot offers a helper infrastructure to make it easy to write -packages that build and install Linux kernel modules. Some packages -only contain a kernel module, other packages contain programs and -libraries in addition to kernel modules. Buildroot’s helper -infrastructure supports either case. - -18.19.1. kernel-module tutorial - -Let’s start with an example on how to prepare a simple package that -only builds a kernel module, and no other component: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.2.3 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-2.0 -11: FOO_LICENSE_FILES = COPYING -12: -13: $(eval $(kernel-module)) -14: $(eval $(generic-package)) - -Lines 7-11 define the usual meta-data to specify the version, archive -name, remote URI where to find the package source, licensing -information. - -On line 13, we invoke the kernel-module helper infrastructure, that -generates all the appropriate Makefile rules and variables to build -that kernel module. - -Finally, on line 14, we invoke the generic-package infrastructure. - -The dependency on linux is automatically added, so it is not needed -to specify it in FOO_DEPENDENCIES. - -What you may have noticed is that, unlike other package -infrastructures, we explicitly invoke a second infrastructure. This -allows a package to build a kernel module, but also, if needed, use -any one of other package infrastructures to build normal userland -components (libraries, executables…). Using the kernel-module -infrastructure on its own is not sufficient; another package -infrastructure must be used. - -Let’s look at a more complex example: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.2.3 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.xz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-2.0 -11: FOO_LICENSE_FILES = COPYING -12: -13: FOO_MODULE_SUBDIRS = driver/base -14: FOO_MODULE_MAKE_OPTS = KVERSION=$(LINUX_VERSION_PROBED) -15: -16: ifeq ($(BR2_PACKAGE_LIBBAR),y) -17: FOO_DEPENDENCIES = libbar -18: FOO_CONF_OPTS = --enable-bar -19: FOO_MODULE_SUBDIRS += driver/bar -20: else -21: FOO_CONF_OPTS = --disable-bar -22: endif -23: -24: $(eval $(kernel-module)) -26: $(eval $(autotools-package)) - -Here, we see that we have an autotools-based package, that also -builds the kernel module located in sub-directory driver/base and, if -libbar is enabled, the kernel module located in sub-directory driver/ -bar, and defines the variable KVERSION to be passed to the Linux -buildsystem when building the module(s). - -18.19.2. kernel-module reference - -The main macro for the kernel module infrastructure is kernel-module. -Unlike other package infrastructures, it is not stand-alone, and -requires any of the other *-package macros be called after it. - -The kernel-module macro defines post-build and post-target-install -hooks to build the kernel modules. If the package’s .mk needs access -to the built kernel modules, it should do so in a post-build hook, -registered after the call to kernel-module. Similarly, if the -package’s .mk needs access to the kernel module after it has been -installed, it should do so in a post-install hook, registered after -the call to kernel-module. Here’s an example: - -$(eval $(kernel-module)) - -define FOO_DO_STUFF_WITH_KERNEL_MODULE - # Do something with it... -endef -FOO_POST_BUILD_HOOKS += FOO_DO_STUFF_WITH_KERNEL_MODULE - -$(eval $(generic-package)) - -Finally, unlike the other package infrastructures, there is no -host-kernel-module variant to build a host kernel module. - -The following additional variables can optionally be defined to -further configure the build of the kernel module: - - * FOO_MODULE_SUBDIRS may be set to one or more sub-directories - (relative to the package source top-directory) where the kernel - module sources are. If empty or not set, the sources for the - kernel module(s) are considered to be located at the top of the - package source tree. - * FOO_MODULE_MAKE_OPTS may be set to contain extra variable - definitions to pass to the Linux buildsystem. - -You may also reference (but you may not set!) those variables: - - * LINUX_DIR contains the path to where the Linux kernel has been - extracted and built. - * LINUX_VERSION contains the version string as configured by the - user. - * LINUX_VERSION_PROBED contains the real version string of the - kernel, retrieved with running make -C $(LINUX_DIR) kernelrelease - * KERNEL_ARCH contains the name of the current architecture, like - arm, mips… - -18.20. Infrastructure for asciidoc documents - -The Buildroot manual, which you are currently reading, is entirely -written using the AsciiDoc [http://asciidoc.org/] 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 -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. - -18.20.1. 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 $(pkgdir)/*)) -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. - -18.20.2. 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 Section 18.22, “Hooks available -in the various build steps†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. ditaa [http:// - ditaa.sourceforge.net/] or aafigure [https://pythonhosted.org/ - aafigure/]). - * FOO_CHECK_DEPENDENCIES__HOOKS, to run additional tests for - the specified format (see the list of rendered formats, - above). - -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 $(pkgdir)/*)) -08: FOO_RESOURCES = $(sort $(wildcard $(pkgdir)/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)) - -18.21. Infrastructure specific to the Linux kernel package - -The Linux kernel package can use some specific infrastructures based -on package hooks for building Linux kernel tools or/and building -Linux kernel extensions. - -18.21.1. linux-kernel-tools - -Buildroot offers a helper infrastructure to build some userspace -tools for the target available within the Linux kernel sources. Since -their source code is part of the kernel source code, a special -package, linux-tools, exists and re-uses the sources of the Linux -kernel that runs on the target. - -Let’s look at an example of a Linux tool. For a new Linux tool named -foo, create a new menu entry in the existing package/linux-tools/ -Config.in. This file will contain the option descriptions related to -each kernel tool that will be used and displayed in the configuration -tool. It would basically look like: - -01: config BR2_PACKAGE_LINUX_TOOLS_FOO -02: bool "foo" -03: select BR2_PACKAGE_LINUX_TOOLS -04: help -05: This is a comment that explains what foo kernel tool is. -06: -07: http://foosoftware.org/foo/ - -The name of the option starts with the prefix -BR2_PACKAGE_LINUX_TOOLS_, followed by the uppercase name of the tool -(like is done for packages). - -Note. Unlike other packages, the linux-tools package options appear -in the linux kernel menu, under the Linux Kernel Tools sub-menu, not -under the Target packages main menu. - -Then for each linux tool, add a new .mk.in file named package/ -linux-tools/linux-tool-foo.mk.in. It would basically look like: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: LINUX_TOOLS += foo -08: -09: FOO_DEPENDENCIES = libbbb -10: -11: define FOO_BUILD_CMDS -12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo -13: endef -14: -15: define FOO_INSTALL_STAGING_CMDS -16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ -17: DESTDIR=$(STAGING_DIR) \ -18: foo_install -19: endef -20: -21: define FOO_INSTALL_TARGET_CMDS -22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ -23: DESTDIR=$(TARGET_DIR) \ -24: foo_install -25: endef - -On line 7, we register the Linux tool foo to the list of available -Linux tools. - -On line 9, we specify the list of dependencies this tool relies on. -These dependencies are added to the Linux package dependencies list -only when the foo tool is selected. - -The rest of the Makefile, lines 11-25 defines what should be done at -the different steps of the Linux tool build process like for a -generic package. They will actually be used only when the foo tool is -selected. The only supported commands are _BUILD_CMDS, -_INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS. - -Note. One must not call $(eval $(generic-package)) or any other -package infrastructure! Linux tools are not packages by themselves, -they are part of the linux-tools package. - -18.21.2. linux-kernel-extensions - -Some packages provide new features that require the Linux kernel tree -to be modified. This can be in the form of patches to be applied on -the kernel tree, or in the form of new files to be added to the tree. -The Buildroot’s Linux kernel extensions infrastructure provides a -simple solution to automatically do this, just after the kernel -sources are extracted and before the kernel patches are applied. -Examples of extensions packaged using this mechanism are the -real-time extensions Xenomai and RTAI, as well as the set of -out-of-tree LCD screens drivers fbtft. - -Let’s look at an example on how to add a new Linux extension foo. - -First, create the package foo that provides the extension: this -package is a standard package; see the previous chapters on how to -create such a package. This package is in charge of downloading the -sources archive, checking the hash, defining the licence informations -and building user space tools if any. - -Then create the Linux extension proper: create a new menu entry in -the existing linux/Config.ext.in. This file contains the option -descriptions related to each kernel extension that will be used and -displayed in the configuration tool. It would basically look like: - -01: config BR2_LINUX_KERNEL_EXT_FOO -02: bool "foo" -03: help -04: This is a comment that explains what foo kernel extension is. -05: -06: http://foosoftware.org/foo/ - -Then for each linux extension, add a new .mk file named linux/ -linux-ext-foo.mk. It should basically contain: - -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: LINUX_EXTENSIONS += foo -08: -09: define FOO_PREPARE_KERNEL -10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) -11: endef - -On line 7, we add the Linux extension foo to the list of available -Linux extensions. - -On line 9-11, we define what should be done by the extension to -modify the Linux kernel tree; this is specific to the linux extension -and can use the variables defined by the foo package, like: $ -(FOO_DIR) or $(FOO_VERSION)… as well as all the Linux variables, -like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… -See the definition of those kernel variables. - -18.22. Hooks available in the various build steps - -The generic infrastructure (and as a result also the derived -autotools and cmake infrastructures) allow packages to specify hooks. -These define further actions to perform after existing steps. Most -hooks aren’t really useful for generic packages, since the .mk file -already has full control over the actions performed in each step of -the package construction. - -The following hook points are available: - - * LIBFOO_PRE_DOWNLOAD_HOOKS - * LIBFOO_POST_DOWNLOAD_HOOKS - * LIBFOO_PRE_EXTRACT_HOOKS - * LIBFOO_POST_EXTRACT_HOOKS - * LIBFOO_PRE_RSYNC_HOOKS - * LIBFOO_POST_RSYNC_HOOKS - * LIBFOO_PRE_PATCH_HOOKS - * LIBFOO_POST_PATCH_HOOKS - * LIBFOO_PRE_CONFIGURE_HOOKS - * LIBFOO_POST_CONFIGURE_HOOKS - * LIBFOO_PRE_BUILD_HOOKS - * LIBFOO_POST_BUILD_HOOKS - * LIBFOO_PRE_INSTALL_HOOKS (for host packages only) - * LIBFOO_POST_INSTALL_HOOKS (for host packages only) - * LIBFOO_PRE_INSTALL_STAGING_HOOKS (for target packages only) - * LIBFOO_POST_INSTALL_STAGING_HOOKS (for target packages only) - * LIBFOO_PRE_INSTALL_TARGET_HOOKS (for target packages only) - * LIBFOO_POST_INSTALL_TARGET_HOOKS (for target packages only) - * LIBFOO_PRE_INSTALL_IMAGES_HOOKS - * LIBFOO_POST_INSTALL_IMAGES_HOOKS - * LIBFOO_PRE_LEGAL_INFO_HOOKS - * LIBFOO_POST_LEGAL_INFO_HOOKS - -These variables are lists of variable names containing actions to be -performed at this hook point. This allows several hooks to be -registered at a given hook point. Here is an example: - -define LIBFOO_POST_PATCH_FIXUP - action1 - action2 -endef - -LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP - -18.22.1. Using the POST_RSYNC hook - -The POST_RSYNC hook is run only for packages that use a local source, -either through the local site method or the OVERRIDE_SRCDIR -mechanism. In this case, package sources are copied using rsync from -the local location into the buildroot build directory. The rsync -command does not copy all files from the source directory, though. -Files belonging to a version control system, like the directories -.git, .hg, etc. are not copied. For most packages this is sufficient, -but a given package can perform additional actions using the -POST_RSYNC hook. - -In principle, the hook can contain any command you want. One specific -use case, though, is the intentional copying of the version control -directory using rsync. The rsync command you use in the hook can, -among others, use the following variables: - - * $(SRCDIR): the path to the overridden source directory - * $(@D): the path to the build directory - -18.22.2. Target-finalize hook - -Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. -These hooks are run after all packages are built, but before the -filesystem images are generated. They are seldom used, and your -package probably do not need them. - -18.23. 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. - 2. 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. - 3. 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. - -18.24. Tips and tricks - -18.24.1. Package name, config entry name and makefile variable -relationship - -In Buildroot, there is some relationship between: - - * the package name, which is the package directory name (and the - name of the *.mk file); - * the config entry name that is declared in the Config.in file; - * the makefile variable prefix. - -It is mandatory to maintain consistency between these elements, using -the following rules: - - * the package directory and the *.mk name are the package name - itself (e.g.: package/foo-bar_boo/foo-bar_boo.mk); - * the make target name is the package name itself (e.g.: - foo-bar_boo); - * the config entry is the upper case package name with . and - - characters substituted with _, prefixed with BR2_PACKAGE_ (e.g.: - BR2_PACKAGE_FOO_BAR_BOO); - * the *.mk file variable prefix is the upper case package name with - . and - characters substituted with _ (e.g.: - FOO_BAR_BOO_VERSION). - -18.24.2. How to check the coding style - -Buildroot provides a script in utils/check-package that checks new or -changed files for coding style. It is not a complete language -validator, but it catches many common mistakes. It is meant to run in -the actual files you created or modified, before creating the patch -for submission. - -This script can be used for packages, filesystem makefiles, Config.in -files, etc. It does not check the files defining the package -infrastructures and some other files containing similar common code. - -To use it, run the check-package script, by telling which files you -created or changed: - -$ ./utils/check-package package/new-package/* - -If you have the utils directory in your path you can also run: - -$ cd package/new-package/ -$ check-package * - -The tool can also be used for packages in a br2-external: - -$ check-package -b /path/to/br2-ext-tree/package/my-package/* - -18.24.3. How to test your package - -Once you have added your new package, it is important that you test -it under various conditions: does it build for all architectures? -Does it build with the different C libraries? Does it need threads, -NPTL? And so on… - -Buildroot runs autobuilders [http://autobuild.buildroot.org/] which -continuously test random configurations. However, these only build -the master branch of the git tree, and your new fancy package is not -yet there. - -Buildroot provides a script in utils/test-pkg that uses the same base -configurations as used by the autobuilders so you can test your -package in the same conditions. - -First, create a config snippet that contains all the necessary -options needed to enable your package, but without any architecture -or toolchain option. For example, let’s create a config snippet that -just enables libcurl, without any TLS backend: - -$ cat libcurl.config -BR2_PACKAGE_LIBCURL=y - -If your package needs more configuration options, you can add them to -the config snippet. For example, here’s how you would test libcurl -with openssl as a TLS backend and the curl program: - -$ cat libcurl.config -BR2_PACKAGE_LIBCURL=y -BR2_PACKAGE_LIBCURL_CURL=y -BR2_PACKAGE_OPENSSL=y - -Then run the test-pkg script, by telling it what config snippet to -use and what package to test: - -$ ./utils/test-pkg -c libcurl.config -p libcurl - -By default, test-pkg will build your package against a subset of the -toolchains used by the autobuilders, which has been selected by the -Buildroot developers as being the most useful and representative -subset. If you want to test all toolchains, pass the -a option. Note -that in any case, internal toolchains are excluded as they take too -long to build. - -The output lists all toolchains that are tested and the corresponding -result (excerpt, results are fake): - -$ ./utils/test-pkg -c libcurl.config -p libcurl - armv5-ctng-linux-gnueabi [ 1/11]: OK - armv7-ctng-linux-gnueabihf [ 2/11]: OK - br-aarch64-glibc [ 3/11]: SKIPPED - br-arcle-hs38 [ 4/11]: SKIPPED - br-arm-basic [ 5/11]: FAILED - br-arm-cortex-a9-glibc [ 6/11]: OK - br-arm-cortex-a9-musl [ 7/11]: FAILED - br-arm-cortex-m4-full [ 8/11]: OK - br-arm-full [ 9/11]: OK - br-arm-full-nothread [10/11]: FAILED - br-arm-full-static [11/11]: OK -11 builds, 2 skipped, 2 build failed, 1 legal-info failed - -The results mean: - - * OK: the build was successful. - * SKIPPED: one or more configuration options listed in the config - snippet were not present in the final configuration. This is due - to options having dependencies not satisfied by the toolchain, - such as for example a package that depends on BR2_USE_MMU with a - noMMU toolchain. The missing options are reported in - missing.config in the output build directory (~/br-test-pkg/ - TOOLCHAIN_NAME/ by default). - * FAILED: the build failed. Inspect the logfile file in the output - build directory to see what went wrong: - - + the actual build failed, - + the legal-info failed, - + one of the preliminary steps (downloading the config file, - applying the configuration, running dirclean for the package) - failed. - -When there are failures, you can just re-run the script with the same -options (after you fixed your package); the script will attempt to -re-build the package specified with -p for all toolchains, without -the need to re-build all the dependencies of that package. - -The test-pkg script accepts a few options, for which you can get some -help by running: - -$ ./utils/test-pkg -h - -18.24.4. How to add a package from GitHub - -Packages on GitHub often don’t have a download area with release -tarballs. However, it is possible to download tarballs directly from -the repository on GitHub. As GitHub is known to have changed download -mechanisms in the past, the github helper function should be used as -shown below. - -# Use a tag or a full commit ID -FOO_VERSION = 1.0 -FOO_SITE = $(call github,,,v$(FOO_VERSION)) - -Notes - - * The FOO_VERSION can either be a tag or a commit ID. - * The tarball name generated by github matches the default one from - Buildroot (e.g.: - foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz), so it is - not necessary to specify it in the .mk file. - * When using a commit ID as version, you should use the full 40 hex - characters. - * When the tag contains a prefix such as v in v1.0, then the - VERSION variable should contain just 1.0, and the v should be - added directly in the SITE variable, as illustrated above. This - ensures that the VERSION variable value can be used to match - against release-monitoring.org [http://www.release-monitoring.org - /] results. - -If the package you wish to add does have a release section on GitHub, -the maintainer may have uploaded a release tarball, or the release -may just point to the automatically generated tarball from the git -tag. If there is a release tarball uploaded by the maintainer, we -prefer to use that since it may be slightly different (e.g. it -contains a configure script so we don’t need to do AUTORECONF). - -You can see on the release page if it’s an uploaded tarball or a git -tag: - - * If it looks like the image above then it was uploaded by the - maintainer and you should use that link (in that example: - mongrel2-v1.9.2.tar.bz2) to specify FOO_SITE, and not use the - github helper. - * On the other hand, if there’s is only the "Source code" link, - then it’s an automatically generated tarball and you should use - the github helper function. - -18.24.5. How to add a package from Gitlab - -In a similar way to the github macro described in Section 18.24.4, -“How to add a package from GitHubâ€, Buildroot also provides the -gitlab macro to download from Gitlab repositories. It can be used to -download auto-generated tarballs produced by Gitlab, either for -specific tags or commits: - -# Use a tag or a full commit ID -FOO_VERSION = 1.0 -FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) - -By default, it will use a .tar.gz tarball, but Gitlab also provides -.tar.bz2 tarballs, so by adding a _SOURCE variable, this -.tar.bz2 tarball can be used: - -# Use a tag or a full commit ID -FOO_VERSION = 1.0 -FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) -FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2 - -If there is a specific tarball uploaded by the upstream developers in -https://gitlab.com//releases/, do not use this macro, but -rather use directly the link to the tarball. - -18.25. Conclusion - -As you can see, adding a software package to Buildroot is simply a -matter of writing a Makefile using an existing example and modifying -it according to the compilation process required by the package. - -If you package software that might be useful for other people, don’t -forget to send a patch to the Buildroot mailing list (see -Section 22.5, “Submitting patchesâ€)! - -Chapter 19. 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. - -19.1. Providing patches - -19.1.1. 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. - -19.1.2. 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 - * 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. - -19.1.3. 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 Section 9.8, “Adding project-specific -patches†for details. - -19.2. How patches are applied - - 1. Run the _PRE_PATCH_HOOKS commands if defined; - 2. Cleanup the build directory, removing any existing *.rej files; - 3. If _PATCH is defined, then patches from these - tarballs are applied; - 4. 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. - 5. 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. - 6. Run the _POST_PATCH_HOOKS commands if defined. - -If something goes wrong in the steps 3 or 4, then the build fails. - -19.3. Format and licensing of the package patches - -Patches are released under the same license as the software they -apply to (see Section 13.2, “Complying with the Buildroot licenseâ€). - -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"]) - -19.4. 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. - -Chapter 20. Download infrastructure - -TODO - -Chapter 21. Debugging Buildroot - -It is possible to instrument the steps Buildroot does when building -packages. Define the variable BR2_INSTRUMENTATION_SCRIPTS to contain -the path of one or more scripts (or other executables), in a -space-separated list, you want called before and after each step. The -scripts are called in sequence, with three parameters: - - * start or end to denote the start (resp. the end) of a step; - * the name of the step about to be started, or which just ended; - * the name of the package. - -For example : - -make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" - -The list of steps is: - - * extract - * patch - * configure - * build - * install-host, when a host-package is installed in $(HOST_DIR) - * install-target, when a target-package is installed in $ - (TARGET_DIR) - * install-staging, when a target-package is installed in $ - (STAGING_DIR) - * install-image, when a target-package installs files in $ - (BINARIES_DIR) - -The script has access to the following variables: - - * BR2_CONFIG: the path to the Buildroot .config file - * HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 18.5.2, - “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 - -Chapter 22. 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 Chapter 5, 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 Chapter 3, -Getting Buildroot for more information on obtaining a Buildroot git -tree. - -22.1. Reproducing, analyzing and fixing bugs - -A first way of contributing is to have a look at the open bug reports -in the Buildroot bug tracker [https://bugs.buildroot.org/buglist.cgi? -product=buildroot]. 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. - -22.2. 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: - - 1. Check if you can reproduce the problem by building with the - same configuration. You can do this manually, or use the - br-reproduce-build [http://git.buildroot.org/buildroot-test/ - tree/utils/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. - 2. Analyze the problem and create a fix. - 3. Verify that the problem is really fixed by starting from a - clean Buildroot tree and only applying your fix. - 4. Send the fix to the Buildroot mailing list (see Section 22.5, - “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 - -22.3. 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 -Section 22.3.1, “Applying Patches from 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 Section 22.3.1, “Applying Patches from -Patchwork†for more information on using Buildroot’s Patchwork -website to apply patches. - -22.3.1. 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. - -22.4. 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 Buildroot TODO list [http://elinux.org/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. - -22.5. 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. - -22.5.1. 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 in the Pro Git book -[https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History]. -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 -the Developer Certificate of Origin [http://developercertificate.org -/] 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 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 -Section 18.24.2, “How to check the coding style†for more -information). - -22.5.2. 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 Chapter 23, DEVELOPERS file and -get-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. - -22.5.3. 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 ^[4]; - * whenever you feel it will help presenting your work, your - choices, the review process, etc. - -22.5.4. 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. - -22.5.5. 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 patchwork [http://patchwork.buildroot.org], 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 patchwork [http://patchwork.buildroot.org]. You need to -create an account on patchwork [http://patchwork.buildroot.org] 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 patchwork [http:// -patchwork.buildroot.org] 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 patchwork [http:// -patchwork.buildroot.org]. The advantage of in-reply-to is that -patchwork will automatically mark the previous version of the patch -as superseded. - -22.6. Reporting issues/bugs or getting help - -Before reporting any issue, please check in 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 bug tracker or by 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 Section 9.3, “Storing the Buildroot configurationâ€). - -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/ - -22.7. 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. - -22.7.1. 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. - -22.7.2. 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. - -22.7.3. 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 - - ---------------------------------------------------------------------- - -^[4] RFC: (Request for comments) change proposal - -Chapter 23. DEVELOPERS file and get-developers - -The main Buildroot directory contains a file named DEVELOPERS that -lists the developers involved with various areas of Buildroot. Thanks -to this file, the get-developers tool allows to: - - * Calculate the list of developers to whom patches should be sent, - by parsing the patches and matching the modified files with the - relevant developers. See Section 22.5, “Submitting patches†for - details. - * Find which developers are taking care of a given architecture or - package, so that they can be notified when a build failure occurs - on this architecture or package. This is done in interaction with - Buildroot’s autobuild infrastructure. - -We ask developers adding new packages, new boards, or generally new -functionality in Buildroot, to register themselves in the DEVELOPERS -file. As an example, we expect a developer contributing a new package -to include in his patch the appropriate modification to the -DEVELOPERS file. - -The DEVELOPERS file format is documented in detail inside the file -itself. - -The get-developers tool, located in utils/ allows to use the -DEVELOPERS file for various tasks: - - * When passing one or several patches as command line argument, - get-developers will return the appropriate git send-email - command. If the -e option is passed, only the email addresses are - printed in a format suitable for git send-email --cc-cmd. - * When using the -a command line option, get-developers will - return the list of developers in charge of the given - architecture. - * When using the -p command line option, get-developers - will return the list of developers in charge of the given - package. - * When using the -c command line option, get-developers will look - at all files under version control in the Buildroot repository, - and list the ones that are not handled by any developer. The - purpose of this option is to help completing the DEVELOPERS file. - * When using without any arguments, it validates the integrity of - the DEVELOPERS file and will note WARNINGS for items that don’t - match. - -Chapter 24. Release Engineering - -24.1. Releases - -The Buildroot project makes quarterly releases with monthly bugfix -releases. The first release of each year is a long term support -release, LTS. - - * Quarterly releases: 2020.02, 2020.05, 2020.08, and 2020.11 - * Bugfix releases: 2020.02.1, 2020.02.2, … - * LTS releases: 2020.02, 2021.02, … - -Releases are supported until the first bugfix release of the next -release, e.g., 2020.05.x is EOL when 2020.08.1 is released. - -LTS releases are supported until the first bugfix release of the next -LTS, e.g., 2020.02.x is supported until 2021.02.1 is released. - -24.2. Development - -Each release cycle consist of two months of development on the master -branch and one month stabilization before the release is made. During -this phase no new features are added to master, only bugfixes. - -The stabilization phase starts with tagging -rc1, and every week -until the release, another release candidate is tagged. - -To handle new features and version bumps during the stabilization -phase, a next branch may be created for these features. Once the -current release has been made, the next branch is merged into master -and the development cycle for the next release continues there. - -Part IV. Appendix - -Table of Contents - -25. Makedev syntax documentation -26. Makeusers syntax documentation -27. Migrating from older Buildroot versions - - 27.1. General approach - 27.2. Migrating to 2016.11 - 27.3. Migrating to 2017.08 - -Chapter 25. 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 - -Chapter 26. Makeusers syntax documentation - -The syntax to create users is inspired by the makedev syntax, above, -but is specific to Buildroot. - -The syntax for adding a user is a space-separated list of fields, one -user per line; the fields are: - -+---------------------------------------------------------+ -|username|uid|group|gid|password|home|shell|groups|comment| -+---------------------------------------------------------+ - -Where: - - * username is the desired user name (aka login name) for the user. - It can not be root, and must be unique. If set to -, then just a - group will be created. - * uid is the desired UID for the user. It must be unique, and not - 0. If set to -1, then a unique UID will be computed by Buildroot - in the range [1000…1999] - * group is the desired name for the user’s main group. It can not - be root. If the group does not exist, it will be created. - * gid is the desired GID for the user’s main group. It must be - unique, and not 0. If set to -1, and the group does not already - exist, then a unique GID will be computed by Buildroot in the - range [1000..1999] - * password is the crypt(3)-encoded password. If prefixed with !, - then login is disabled. If prefixed with =, then it is - interpreted as clear-text, and will be crypt-encoded (using MD5). - If prefixed with !=, then the password will be crypt-encoded - (using MD5) and login will be disabled. If set to *, then login - is not allowed. If set to -, then no password value will be set. - * home is the desired home directory for the user. If set to -, no - home directory will be created, and the user’s home will be /. - Explicitly setting home to / is not allowed. - * shell is the desired shell for the user. If set to -, then /bin/ - false is set as the user’s shell. - * groups is the comma-separated list of additional groups the user - should be part of. If set to -, then the user will be a member of - no additional group. Missing groups will be created with an - arbitrary gid. - * comment (aka GECOS [https://en.wikipedia.org/wiki/Gecos_field] - field) is an almost-free-form text. - -There are a few restrictions on the content of each field: - - * except for comment, all fields are mandatory. - * except for comment, fields may not contain spaces. - * no field may contain a colon (:). - -If home is not -, then the home directory, and all files below, will -belong to the user and its main group. - -Examples: - -foo -1 bar -1 !=blabla /home/foo /bin/sh alpha,bravo Foo user - -This will create this user: - - * username (aka login name) is: foo - * uid is computed by Buildroot - * main group is: bar - * main group gid is computed by Buildroot - * clear-text password is: blabla, will be crypt(3)-encoded, and - login is disabled. - * home is: /home/foo - * shell is: /bin/sh - * foo is also a member of groups: alpha and bravo - * comment is: Foo user - -test 8000 wheel -1 = - /bin/sh - Test user - -This will create this user: - - * username (aka login name) is: test - * uid is : 8000 - * main group is: wheel - * main group gid is computed by Buildroot, and will use the value - defined in the rootfs skeleton - * password is empty (aka no password). - * home is / but will not belong to test - * shell is: /bin/sh - * test is not a member of any additional groups - * comment is: Test user - -Chapter 27. 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. - -27.1. General approach - -To migrate from an older Buildroot version, take the following steps. - - 1. 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. - 2. Review the specific migration notes below and make the required - adaptations to external packages and custom build scripts. - 3. Update Buildroot. - 4. Run make menuconfig starting from the existing .config. - 5. If anything is enabled in the Legacy menu, check its help text, - unselect it, and save the configuration. - 6. For more details, review the git commit messages for the packages - that you need. Change into the packages directory and run git log - .. — . - 7. Build in the new Buildroot environment. - 8. Fix build issues in external packages (usually due to updated - dependencies). - 9. Run make graph-size. -10. 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. -11. 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. - -27.2. 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 -Section 9.2, “Keeping customizations outside of Buildrootâ€). - -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. - -27.3. 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.original/manual/manual.txt b/docs.original/manual/manual.txt deleted file mode 100644 index b5cc044805..0000000000 --- a/docs.original/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::selinux-support.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.original/manual/migrating.txt b/docs.original/manual/migrating.txt deleted file mode 100644 index cb1f5eacc9..0000000000 --- a/docs.original/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.original/manual/patch-policy.txt b/docs.original/manual/patch-policy.txt deleted file mode 100644 index e704a0d3f3..0000000000 --- a/docs.original/manual/patch-policy.txt +++ /dev/null @@ -1,162 +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+ -- 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.original/manual/prerequisite.txt b/docs.original/manual/prerequisite.txt deleted file mode 100644 index 4e614cfa1b..0000000000 --- a/docs.original/manual/prerequisite.txt +++ /dev/null @@ -1,96 +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) -** +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+ - -* 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+ -** +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.original/manual/resources.txt b/docs.original/manual/resources.txt deleted file mode 100644 index e90a49b2ab..0000000000 --- a/docs.original/manual/resources.txt +++ /dev/null @@ -1,71 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[community-resources]] -== Community resources - -Like any open source project, Buildroot has different ways to share -information in its community and outside. - -Each of those ways may interest you if you are looking for some help, -want to understand Buildroot or contribute to the project. - -Mailing List:: -+ -Buildroot has a mailing list for discussion and development. It is the -main method of interaction for Buildroot users and developers. -+ -Only subscribers to the Buildroot mailing list are allowed to post to -this list. You can subscribe via the -http://lists.buildroot.org/mailman/listinfo/buildroot[mailing list info -page]. -+ -Mails that are sent to the mailing list are also available in the -mailing list archives, available through -http://lists.buildroot.org/pipermail/buildroot[Mailman] or at -https://lore.kernel.org/buildroot/[lore.kernel.org]. - -IRC:: -+ -The Buildroot IRC channel irc://irc.oftc.net/#buildroot[#buildroot] is -hosted on https://www.oftc.net/WebChat/[OFTC]. It is a useful place to -ask quick questions or discuss on certain topics. -+ -When asking for help on IRC, share relevant logs or pieces of code -using a code sharing website, such as https://paste.ack.tf/. -+ -Note that for certain questions, posting to the mailing list may be -better as it will reach more people, both developers and users. - -Bug tracker:: -+ -Bugs in Buildroot can be reported via the mailing list or alternatively -via the https://bugs.buildroot.org/buglist.cgi?product=buildroot[Buildroot -bugtracker]. Please refer to xref:reporting-bugs[] before creating a bug -report. - -Wiki:: -+ -http://elinux.org/Buildroot[The Buildroot wiki page] is hosted on -the http://elinux.org[eLinux] wiki. It contains some useful links, an -overview of past and upcoming events, and a TODO list. - -Patchwork:: -+ -Patchwork is a web-based patch tracking system designed to facilitate -the contribution and management of contributions to an open-source -project. Patches that have been sent to a mailing list are \'caught' by -the system, and appear on a web page. Any comments posted that -reference the patch are appended to the patch page too. For more -information on Patchwork see -http://jk.ozlabs.org/projects/patchwork/[]. -+ -Buildroot's Patchwork website is mainly for use by Buildroot's -maintainer to ensure patches aren't missed. It is also used by Buildroot -patch reviewers (see also xref:apply-patches-patchwork[]). -However, since the website exposes patches and their corresponding -review comments in a clean and concise web interface, it can be useful -for all Buildroot developers. -+ -The Buildroot patch management interface is available at -http://patchwork.buildroot.org[]. diff --git a/docs.original/manual/selinux-support.txt b/docs.original/manual/selinux-support.txt deleted file mode 100644 index 21137ae6c3..0000000000 --- a/docs.original/manual/selinux-support.txt +++ /dev/null @@ -1,74 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[selinux]] -== Using SELinux in Buildroot - -https://selinuxproject.org[SELinux] is a Linux kernel security module -enforcing access control policies. In addition to the traditional file -permissions and access control lists, +SELinux+ allows to write rules -for users or processes to access specific functions of resources -(files, sockets...). - -_SELinux_ has three modes of operation: - -* _Disabled_: the policy is not applied -* _Permissive_: the policy is applied, and non-authorized actions are - simply logged. This mode is often used for troubleshooting SELinux - issues. -* _Enforcing_: the policy is applied, and non-authorized actions are - denied - -In Buildroot the mode of operation is controlled by the -+BR2_PACKAGE_REFPOLICY_POLICY_STATE_*+ configuration options. The -Linux kernel also has various configuration options that affect how -+SELinux+ is enabled (see +security/selinux/Kconfig+ in the Linux -kernel sources). - -By default in Buildroot the +SELinux+ policy is provided by the -upstream https://github.com/SELinuxProject/refpolicy[refpolicy] -project, enabled with +BR2_PACKAGE_REFPOLICY+. - -[[enabling-selinux]] -=== Enabling SELinux support - -To have proper support for +SELinux+ in a Buildroot generated system, -the following configuration options must be enabled: - -* +BR2_PACKAGE_LIBSELINUX+ -* +BR2_PACKAGE_REFPOLICY+ - -In addition, your filesystem image format must support extended -attributes. - -[[selinux-policy-tweaking]] -=== SELinux policy tweaking - -The +SELinux refpolicy+ contains modules that can be enabled or -disabled when being built. Each module provide a number of +SELinux+ -rules. In Buildroot the non-base modules are disabled by default and -several ways to enable such modules are provided: - -- Packages can enable a list of +SELinux+ modules within the +refpolicy+ using - the +_SELINUX_MODULES+ variable. -- Packages can provide additional +SELinux+ modules by putting them (.fc, .if - and .te files) in +package//selinux/+. -- Extra +SELinux+ modules can be added in directories pointed by the - +BR2_REFPOLICY_EXTRA_MODULES_DIRS+ configuration option. -- Additional modules in the +refpolicy+ can be enabled if listed in the - +BR2_REFPOLICY_EXTRA_MODULES_DEPENDENCIES+ configuration option. - -Buildroot also allows to completely override the +refpolicy+. This -allows to provide a full custom policy designed specifically for a -given system. When going this way, all of the above mechanisms are -disabled: no extra +SElinux+ module is added to the policy, and all -the available modules within the custom policy are enabled and built -into the final binary policy. The custom policy must be a fork of the -official https://github.com/SELinuxProject/refpolicy[refpolicy]. - -In order to fully override the +refpolicy+ the following configuration -variables have to be set: - -- +BR2_PACKAGE_REFPOLICY_CUSTOM_GIT+ -- +BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL+ -- +BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION+ diff --git a/docs.original/manual/writing-rules.txt b/docs.original/manual/writing-rules.txt deleted file mode 100644 index 3b809d5c48..0000000000 --- a/docs.original/manual/writing-rules.txt +++ /dev/null @@ -1,151 +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_PYTHON),y) -LIBFOO_CONF_OPTS += --with-python-support -LIBFOO_DEPENDENCIES += python -else -LIBFOO_CONF_OPTS += --without-python-support -endif ---------------------- -+ -NO: -+ ---------------------- -LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support -LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) ---------------------- - -** 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 ---------------------- - -=== The documentation - -The documentation uses the -http://www.methods.co.nz/asciidoc/[asciidoc] format. - -For further details about the asciidoc syntax, refer to -http://www.methods.co.nz/asciidoc/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.original/website/.htaccess b/docs.original/website/.htaccess deleted file mode 100644 index b02beb8854..0000000000 --- a/docs.original/website/.htaccess +++ /dev/null @@ -1,62 +0,0 @@ -# BEGIN Compress text files - - - SetOutputFilter DEFLATE - - -# END Compress text files - -# BEGIN Expire headers - - ExpiresActive On - ExpiresDefault "access plus 1 seconds" - ExpiresByType image/x-icon "access plus 2592000 seconds" - ExpiresByType image/jpeg "access plus 2592000 seconds" - ExpiresByType image/png "access plus 2592000 seconds" - ExpiresByType image/gif "access plus 2592000 seconds" - ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" - ExpiresByType text/css "access plus 604800 seconds" - ExpiresByType text/javascript "access plus 216000 seconds" - ExpiresByType application/javascript "access plus 216000 seconds" - ExpiresByType application/x-javascript "access plus 216000 seconds" - ExpiresByType text/html "access plus 600 seconds" - ExpiresByType application/xhtml+xml "access plus 600 seconds" - -# END Expire headers - -# BEGIN Cache-Control Headers - - - Header set Cache-Control "max-age=2592000, public" - - - Header set Cache-Control "max-age=604800, public" - - - Header set Cache-Control "max-age=216000, private" - - - Header set Cache-Control "max-age=600, private, must-revalidate" - - -# END Cache-Control Headers - -# BEGIN Turn ETags Off - - Header unset ETag - -FileETag None -# END Turn ETags Off - -# BEGIN gzip - -mod_gzip_on Yes -mod_gzip_dechunk Yes -mod_gzip_item_include file .(html?|txt|css|js)$ -mod_gzip_item_include handler ^cgi-script$ -mod_gzip_item_include mime ^text/.* -mod_gzip_item_include mime ^application/x-javascript.* -mod_gzip_item_exclude mime ^image/.* -mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* - -# END gzip diff --git a/docs.original/website/association.html b/docs.original/website/association.html deleted file mode 100644 index 0215f85874..0000000000 --- a/docs.original/website/association.html +++ /dev/null @@ -1,122 +0,0 @@ - - -
-
-
-
-
Association
-
- -

The Buildroot open-source project is supported by a - non-profit organization called the Buildroot - Association. The goal of this non-profit - organization is to engage actions to promote, help - develop and democratise the Buildroot project.

- -

This non-profit organization is registered as a legal - entity in France, more precisely as an association loi - 1901.

- -

This organization can receive funding from members, - donors and sponsors. This funding is then used to pay for:

- -
    -
  • the meeting rooms used during the Buildroot - Developers Meeting twice per year;
  • -
  • travel expenses for contributors - willing to attend the Buildroot Developers - Meeting, and not covered by their employer to do - so;
  • -
  • renting servers and services used to host the - Buildroot infrastructure.
  • -
- -

The bylaws of the association are available - in French - (official) and - 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 - from the French authorities.

- -

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

-
-
- -
-
Becoming a member
-
- -

To become a member, an individual or a company simply has - to pay its yearly membership. For an individual, the minimum - membership fee per year is 10 EUR. For a company, the - minimum membership fee per year is 150 EUR. Individuals and - companies are free to give more than the minimum - required.

- -

The membership is valid for the current civil year, i.e - any membership fee paid in 2019 is valid through December 31, - 2019.

- -

Once the membership fee is received, it will be listed in - the - 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.

- -

There are two possibilities to pay the membership - fee:

- -
    - -
  • A direct wire-transfer to the association bank - account. Since the bank account is located in France, this - is completely free of charge for any person or company - located in the European Union. The IBAN number of the - association bank account is FR53 2004 1010 1615 0958 - 0P03 772.
  • - -
  • A Paypal payment to the association Paypal account, - whose address - is buildroot-association@buildroot.org.
  • - -
- -
-
- -
-
Sponsoring the project
-
- -

Companies willing to help the Buildroot project can do so - by making a donation to the Buildroot - Association. In exchange for these donations, companies - will be listed on our Sponsors - page and will be thanked in our release announcements.

- -

As the Buildroot Association is a legal entity - registered in France, it is able to deliver a bill and/or - receipt.

- -

Please - contact buildroot-association@buildroot.org - if you are a company interested in making a donation.

- -
-
- -
-
-
- - diff --git a/docs.original/website/contribute.html b/docs.original/website/contribute.html deleted file mode 100644 index aa1cf93f1b..0000000000 --- a/docs.original/website/contribute.html +++ /dev/null @@ -1,44 +0,0 @@ - - -
-
-
- -
-
Contribute
-
-

Buildroot is an open source project and you are very welcome to contribute to - it.
- There are many different ways to contribute:

- - - -

For more details on these topics, check out the - - Contributing to buildroot chapter in the Buildroot manual. Thanks for your help!

- -

If you need any support yourself, have a look at - Support.

-
-
- -
-
-
- - diff --git a/docs.original/website/copyright.txt b/docs.original/website/copyright.txt deleted file mode 100644 index b15ac5f919..0000000000 --- a/docs.original/website/copyright.txt +++ /dev/null @@ -1,30 +0,0 @@ - -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. - -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 -IMITATED IN WHOLE OR IN PART. THIS WEBSITE IS LICENSED FREE OF CHARGE, THERE -IS NO WARRANTY FOR THE WEBSITE TO THE EXTENT PERMITTED BY APPLICABLE LAW. -SHOULD THIS WEBSITE PROVE DEFECTIVE, YOU MAY ASSUME THAT SOMEONE MIGHT GET -AROUND TO SERVICING, REPAIRING OR CORRECTING IT SOMETIME WHEN THEY HAVE NOTHING -BETTER TO DO. REGARDLESS, YOU GET TO KEEP BOTH PIECES. - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY -COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THIS -WEBSITE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR -INABILITY TO USE THIS WEBSITE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR -LOSS OF HAIR, LOSS OF LIFE, LOSS OF MEMORY, LOSS OF YOUR CARKEYS, MISPLACEMENT -OF YOUR PAYCHECK, OR COMMANDER DATA BEING RENDERED UNABLE TO ASSIST THE -STARFLEET OFFICERS ABORD THE STARSHIP ENTERPRISE TO RECALIBRATE THE MAIN -DEFLECTOR ARRAY, LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE -WEBSITE TO OPERATE WITH YOUR WEBBROWSER), EVEN IF SUCH HOLDER OR OTHER PARTY -HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -You have been warned. - -You can contact the webmaster at if you have some sort -of problem with this. - diff --git a/docs.original/website/css/main.css b/docs.original/website/css/main.css deleted file mode 100644 index 5255531b30..0000000000 --- a/docs.original/website/css/main.css +++ /dev/null @@ -1,260 +0,0 @@ -/* - * Author: Carlos Alvarez - * URL: http://alvarez.is - * - * Project Name: FLATTY - Free Bootstrap 3 Theme - * Version: 1.0 - * URL: http://blacktie.co - */ - -body { - background-color: #f2f2f2; - font-family: 'Roboto', sans-serif; - font-weight: 300; - font-size: 16px; - color: #555; - - -webkit-font-smoothing: antialiased; - -webkit-overflow-scrolling: touch; -} - -/* Titles */ -h1, h2, h3, h4, h5, h6 { - font-family: 'Roboto', sans-serif; - font-weight: 300; - color: #333; -} - -h1 { - font-size: 40px; -} - -h3 { - color: #95a5a6; - font-weight: 400; -} - -h4 { - color: #95a5a6; - font-weight: 400; - font-size: 20px; -} - -.ellipsis p { - margin-bottom:10px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.centered { - text-align: center; -} - -/* Links */ -a { - color: #3498db; - word-wrap: break-word; - - -webkit-transition: color 0.1s ease-in, background 0.1s ease-in; - -moz-transition: color 0.1s ease-in, background 0.1s ease-in; - -ms-transition: color 0.1s ease-in, background 0.1s ease-in; - -o-transition: color 0.1s ease-in, background 0.1s ease-in; - transition: color 0.1s ease-in, background 0.1s ease-in; -} - -a:hover, -a:focus { - color: #7b7b7b; - text-decoration: none; - outline: 0; -} - -a:before, -a:after { - -webkit-transition: color 0.1s ease-in, background 0.1s ease-in; - -moz-transition: color 0.1s ease-in, background 0.1s ease-in; - -ms-transition: color 0.1s ease-in, background 0.1s ease-in; - -o-transition: color 0.1s ease-in, background 0.1s ease-in; - transition: color 0.1s ease-in, background 0.1s ease-in; -} - - hr { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #ccc; - margin: 1em 0; - padding: 0; -} - -.navbar-default { - background-color: #3498db; - border-color: transparent; -} - -.navbar-default .navbar-brand { - color: white; -} - -.navbar-default .navbar-nav > li > a { - color: white; -} - -/* Helpers */ - -.mt { - margin-top: 40px; - margin-bottom: 40px; -} - -.nh { - margin-top: 80px; - margin-bottom: 40px; -} - -.form-control { - height: 42px; - font-size: 18px; - width: 280px; -} - -i { - margin: 8px; - color: #3498db; -} - - -/* HeaderWrap */ -#headerwrap { - /* background: url(../img/bg01.jpg) no-repeat center top; */ - background-color: #3498db; - margin-top: -20px; - padding-top:120px; - background-attachment: relative; - background-position: center center; - min-height: 400px; - max-height: 800px; - width: 100%; - - -webkit-background-size: 100%; - -moz-background-size: 100%; - -o-background-size: 100%; - background-size: 100%; - - -webkit-background-size: cover; - -moz-background-size: cover; - -o-background-size: cover; - background-size: cover; -} - -#headerwrap h1 { - color: white; - font-size: 60px; - font-weight: bold; - letter-spacing: 1px; -} - -#menubutton { - max-height: 50px; - margin-top: 6px; - padding-top: 15px; - margin-left: 10px; -} - -.panel-sponsor { - min-height: 350px; - text-align: justify; - text-justify: inter-word; -} - -@media (min-width: 768px) and (max-width: 991px) { - .navbar-collapse.collapse { - display: none !important; - } - .navbar-collapse.collapse.in { - display: block !important; - } - .navbar-header .collapse, .navbar-toggle { - display:block !important; - } - .navbar-header { - float:none; - } - .navbar-collapse { - overflow:hidden; - } - #menubutton { - margin-right: 40px; - width: 45px; - } - .text-shrink { - visibility: hidden; - } -} - -@media (max-width:767px) { - #menubutton { - max-height: 50px; - margin-top: 6px; - padding-top: 15px; - margin-left: 15px; - margin-right: 15px; - } -} - -/* entire container, keeps perspective */ -.flip-container { - perspective: 1000; -} - /* flip the pane when hovered */ - .flip-container:hover .flipper, .flip-container.hover .flipper { - transform: rotateY(180deg); - } - -.flip-container, .front, .back { - width: 180px; - height: 180px; -} - -/* flip speed goes here */ -.flipper { - transition: 0.6s; - transform-style: preserve-3d; - - position: relative; -} - -/* hide back of pane during swap */ -.front, .back { - backface-visibility: hidden; - - position: absolute; - top: 0; - left: 0; -} - -/* front pane, placed above back */ -.front { - z-index: 2; - /* for firefox 31 */ - transform: rotateY(0deg); -} - -/* back, initially hidden pane */ -.back { - transform: rotateY(180deg); -} - -.back img { - -moz-transform: scaleX(-1); - -o-transform: scaleX(-1); - -webkit-transform: scaleX(-1); - transform: scaleX(-1); - filter: FlipH; - -ms-filter: "FlipH"; -} - -.panel-box p { - height: 1.5em; -} diff --git a/docs.original/website/css/timeline.css b/docs.original/website/css/timeline.css deleted file mode 100644 index df58461ae2..0000000000 --- a/docs.original/website/css/timeline.css +++ /dev/null @@ -1,184 +0,0 @@ -.timeline { - list-style: none; - padding: 20px 0 20px; - position: relative; -} - -.timeline:before { - top: 0; - bottom: 0; - position: absolute; - content: " "; - width: 3px; - background-color: #E4E4E4; - left: 50%; - margin-left: -1.5px; - } - -.timeline > li { - margin-bottom: 20px; - position: relative; -} - -.timeline > li:before, -.timeline > li:after { - content: " "; - display: table; -} - -.timeline > li:after { - clear: both; -} - -.timeline > li:before, -.timeline > li:after { - content: " "; - display: table; -} - -.timeline > li:after { - clear: both; -} - -.timeline > li > .timeline-panel { - width: 46%; - float: left; - border: 1px solid #d4d4d4; - border-radius: 2px; - padding: 20px; - position: relative; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); - background-color: white; -} - -.timeline > li > .timeline-panel:before { - position: absolute; - top: 26px; - right: -15px; - display: inline-block; - border-top: 15px solid transparent; - border-left: 15px solid #ccc; - border-right: 0 solid #ccc; - border-bottom: 15px solid transparent; - content: " "; -} - -.timeline > li > .timeline-panel:after { - position: absolute; - top: 27px; - right: -14px; - display: inline-block; - border-top: 14px solid transparent; - border-left: 14px solid #fff; - border-right: 0 solid #fff; - border-bottom: 14px solid transparent; - content: " "; -} - -.timeline > li > .timeline-badge { - color: #fff; - width: 50px; - height: 50px; - line-height: 50px; - font-size: 1.4em; - text-align: center; - position: absolute; - top: 16px; - left: 50%; - margin-left: -25px; - background-color: #E6E6E6; - z-index: 100; - border-top-right-radius: 50%; - border-top-left-radius: 50%; - border-bottom-right-radius: 50%; - border-bottom-left-radius: 50%; -} - -.timeline > li.timeline-inverted > .timeline-panel { - float: right; -} - -.timeline > li.timeline-inverted > .timeline-panel:before { - border-left-width: 0; - border-right-width: 15px; - left: -15px; - right: auto; -} - -.timeline > li.timeline-inverted > .timeline-panel:after { - border-left-width: 0; - border-right-width: 14px; - left: -14px; - right: auto; -} - -.timeline-badge.primary { - background-color: #2e6da4 !important; -} - -.timeline-badge.success { - background-color: #3f903f !important; -} - -.timeline-badge.warning { - background-color: #f0ad4e !important; -} - -.timeline-badge.danger { - background-color: #d9534f !important; -} - -.timeline-badge.info { - background-color: #5bc0de !important; -} - -.timeline-title { - margin-top: 0; - color: inherit; -} - -.timeline-body > p, -.timeline-body > ul { - margin-bottom: 0; -} - -.timeline-body > p + p { - margin-top: 5px; -} - -@media (max-width: 767px) { - ul.timeline:before { - left: 40px; - } - - ul.timeline > li > .timeline-panel { - width: calc(100% - 90px); - width: -moz-calc(100% - 90px); - width: -webkit-calc(100% - 90px); - } - - ul.timeline > li > .timeline-badge { - left: 15px; - margin-left: 0; - top: 16px; - } - - ul.timeline > li > .timeline-panel { - float: right; - } - - ul.timeline > li > .timeline-panel:before { - border-left-width: 0; - border-right-width: 15px; - left: -15px; - right: auto; - } - - ul.timeline > li > .timeline-panel:after { - border-left-width: 0; - border-right-width: 14px; - left: -14px; - right: auto; - } -} diff --git a/docs.original/website/docs.html b/docs.original/website/docs.html deleted file mode 100644 index 85b005004d..0000000000 --- a/docs.original/website/docs.html +++ /dev/null @@ -1,130 +0,0 @@ - - -
-
-
- -
-
Documentation
-
-

The Buildroot user manual is where you want to start reading if you - wish to understand how Buildroot works, or wish to change/extend/fix - things. It is available as:

- -
-
-
-
-
- -
-
- -
-
-
- -

HTML
- Stable | - Nightly -

- -
- -
-
-
-
- -
-
- -
-
-
- -

PDF
- Stable | - Nightly -

- -
- -
-
-
-
- -
-
- -
-
-
- -

ASCII
- Stable | - Nightly -

- -
-
- -

If you find any errors (factual, grammatical, whatever) please - report them to us.

-
-
- -
-
Training
-
-

Bootlin (formerly Free Electrons) - offers a complete 3-days - training course on Buildroot. They also make the training - materials freely available:

- -
-
-
-
Slides preview
-
-
- buildroot slides -
-
-
-
- -
-
-
Training materials
- -
- -
-
Public online training course
-
- Regular online training courses, available to individual - registration, are proposed by Bootlin, with Thomas - Petazzoni as - trainer. See next - dates and registration details. -
-
-
-
-
-
- -
-
-
- - - diff --git a/docs.original/website/download.html b/docs.original/website/download.html deleted file mode 100644 index 5fea085ef9..0000000000 --- a/docs.original/website/download.html +++ /dev/null @@ -1,217 +0,0 @@ - - -
-
-
- -
-
Download
-
- -

Latest long term support release: 2021.02.4

- -
-
-
-
-
- -
-
- -
-
-
-

buildroot-2021.02.4.tar.gz

-

PGP signature

-
-
-
-
-
- -
-
- -
-
-
- -

buildroot-2021.02.4.tar.bz2

-

PGP signature

-
-
- -

Latest stable release: 2021.08

- -
-
-
-
-
- -
-
- -
-
-
-

buildroot-2021.08.tar.gz

-

PGP signature

-
-
-
-
-
- -
-
- -
-
-
- -

buildroot-2021.08.tar.bz2

-

PGP signature

-
-
- - This and earlier releases (and their PGP signatures) can always be downloaded from - http://buildroot.net/downloads/. -
-
- -
-
Source code
-
- -
-
-
-
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. -
-
-
- -
-
-
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.original/website/favicon.ico b/docs.original/website/favicon.ico deleted file mode 100644 index fa9d24079b..0000000000 Binary files a/docs.original/website/favicon.ico and /dev/null differ diff --git a/docs.original/website/favicon.png b/docs.original/website/favicon.png deleted file mode 100644 index 3bfe1ba76e..0000000000 Binary files a/docs.original/website/favicon.png and /dev/null differ diff --git a/docs.original/website/fonts/glyphicons-halflings-regular.woff b/docs.original/website/fonts/glyphicons-halflings-regular.woff deleted file mode 100644 index d83c539b82..0000000000 Binary files a/docs.original/website/fonts/glyphicons-halflings-regular.woff and /dev/null differ diff --git a/docs.original/website/footer.html b/docs.original/website/footer.html deleted file mode 100644 index 82901b7ee6..0000000000 --- a/docs.original/website/footer.html +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs.original/website/header.html b/docs.original/website/header.html deleted file mode 100644 index e1909291f6..0000000000 --- a/docs.original/website/header.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - Buildroot - Making Embedded Linux Easy - - - - - - - - - - diff --git a/docs.original/website/images/amarula-solutions-logo.png b/docs.original/website/images/amarula-solutions-logo.png deleted file mode 100644 index 3fe4aeef81..0000000000 Binary files a/docs.original/website/images/amarula-solutions-logo.png and /dev/null differ diff --git a/docs.original/website/images/bootlin-logo.png b/docs.original/website/images/bootlin-logo.png deleted file mode 100644 index 4f918750ec..0000000000 Binary files a/docs.original/website/images/bootlin-logo.png and /dev/null differ diff --git a/docs.original/website/images/boundary-devices-logo.png b/docs.original/website/images/boundary-devices-logo.png deleted file mode 100644 index 35d7a93197..0000000000 Binary files a/docs.original/website/images/boundary-devices-logo.png and /dev/null differ diff --git a/docs.original/website/images/browser.png b/docs.original/website/images/browser.png deleted file mode 100644 index 56039dfaae..0000000000 Binary files a/docs.original/website/images/browser.png and /dev/null differ diff --git a/docs.original/website/images/bug-buddy.png b/docs.original/website/images/bug-buddy.png deleted file mode 100644 index 5d38fd831e..0000000000 Binary files a/docs.original/website/images/bug-buddy.png and /dev/null differ diff --git a/docs.original/website/images/buildroot-slides.png b/docs.original/website/images/buildroot-slides.png deleted file mode 100644 index 6ecba3d479..0000000000 Binary files a/docs.original/website/images/buildroot-slides.png and /dev/null differ diff --git a/docs.original/website/images/calao-logo.png b/docs.original/website/images/calao-logo.png deleted file mode 100644 index c01ecf6752..0000000000 Binary files a/docs.original/website/images/calao-logo.png and /dev/null differ diff --git a/docs.original/website/images/circuitco-logo.png b/docs.original/website/images/circuitco-logo.png deleted file mode 100644 index 8b315da4d8..0000000000 Binary files a/docs.original/website/images/circuitco-logo.png and /dev/null differ diff --git a/docs.original/website/images/clippy.svg b/docs.original/website/images/clippy.svg deleted file mode 100644 index d827e82e5d..0000000000 --- a/docs.original/website/images/clippy.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/docs.original/website/images/email.png b/docs.original/website/images/email.png deleted file mode 100644 index 367dadc7f1..0000000000 Binary files a/docs.original/website/images/email.png and /dev/null differ diff --git a/docs.original/website/images/fluendo-logo.png b/docs.original/website/images/fluendo-logo.png deleted file mode 100644 index b4d02cb668..0000000000 Binary files a/docs.original/website/images/fluendo-logo.png and /dev/null differ diff --git a/docs.original/website/images/free-electrons-logo.png b/docs.original/website/images/free-electrons-logo.png deleted file mode 100644 index 0a774041f1..0000000000 Binary files a/docs.original/website/images/free-electrons-logo.png and /dev/null differ diff --git a/docs.original/website/images/gift.png b/docs.original/website/images/gift.png deleted file mode 100644 index f527f82837..0000000000 Binary files a/docs.original/website/images/gift.png and /dev/null differ diff --git a/docs.original/website/images/github_hash_mongrel2.png b/docs.original/website/images/github_hash_mongrel2.png deleted file mode 100644 index c695c3181a..0000000000 Binary files a/docs.original/website/images/github_hash_mongrel2.png and /dev/null differ diff --git a/docs.original/website/images/google-logo.png b/docs.original/website/images/google-logo.png deleted file mode 100644 index bceab16619..0000000000 Binary files a/docs.original/website/images/google-logo.png and /dev/null differ diff --git a/docs.original/website/images/hammer.png b/docs.original/website/images/hammer.png deleted file mode 100644 index 454a5e5814..0000000000 Binary files a/docs.original/website/images/hammer.png and /dev/null differ diff --git a/docs.original/website/images/imgtec-logo.png b/docs.original/website/images/imgtec-logo.png deleted file mode 100644 index f8a0ffa372..0000000000 Binary files a/docs.original/website/images/imgtec-logo.png and /dev/null differ diff --git a/docs.original/website/images/irc.png b/docs.original/website/images/irc.png deleted file mode 100644 index 442be4d74d..0000000000 Binary files a/docs.original/website/images/irc.png and /dev/null differ diff --git a/docs.original/website/images/logilin-logo.png b/docs.original/website/images/logilin-logo.png deleted file mode 100644 index 8e8396cf05..0000000000 Binary files a/docs.original/website/images/logilin-logo.png and /dev/null differ diff --git a/docs.original/website/images/logo.png b/docs.original/website/images/logo.png deleted file mode 100644 index 2db743b4fa..0000000000 Binary files a/docs.original/website/images/logo.png and /dev/null differ diff --git a/docs.original/website/images/logo.xcf b/docs.original/website/images/logo.xcf deleted file mode 100644 index 97248904bc..0000000000 Binary files a/docs.original/website/images/logo.xcf and /dev/null differ diff --git a/docs.original/website/images/logo_small.png b/docs.original/website/images/logo_small.png deleted file mode 100644 index eab9540226..0000000000 Binary files a/docs.original/website/images/logo_small.png and /dev/null differ diff --git a/docs.original/website/images/menuconfig.png b/docs.original/website/images/menuconfig.png deleted file mode 100644 index 423694f3e3..0000000000 Binary files a/docs.original/website/images/menuconfig.png and /dev/null differ diff --git a/docs.original/website/images/mind-logo.png b/docs.original/website/images/mind-logo.png deleted file mode 100644 index ecc3fa09e6..0000000000 Binary files a/docs.original/website/images/mind-logo.png and /dev/null differ diff --git a/docs.original/website/images/nconfig.png b/docs.original/website/images/nconfig.png deleted file mode 100644 index cc05d6e8e8..0000000000 Binary files a/docs.original/website/images/nconfig.png and /dev/null differ diff --git a/docs.original/website/images/package.png b/docs.original/website/images/package.png deleted file mode 100644 index 9dd8b1e0a1..0000000000 Binary files a/docs.original/website/images/package.png and /dev/null differ diff --git a/docs.original/website/images/pdf-icon.png b/docs.original/website/images/pdf-icon.png deleted file mode 100644 index 71ae983de7..0000000000 Binary files a/docs.original/website/images/pdf-icon.png and /dev/null differ diff --git a/docs.original/website/images/rockwell-collins-logo.png b/docs.original/website/images/rockwell-collins-logo.png deleted file mode 100644 index b5956a82a7..0000000000 Binary files a/docs.original/website/images/rockwell-collins-logo.png and /dev/null differ diff --git a/docs.original/website/images/scaleway-logo.png b/docs.original/website/images/scaleway-logo.png deleted file mode 100644 index 1685914548..0000000000 Binary files a/docs.original/website/images/scaleway-logo.png and /dev/null differ diff --git a/docs.original/website/images/smile-logo.png b/docs.original/website/images/smile-logo.png deleted file mode 100644 index 046c999a25..0000000000 Binary files a/docs.original/website/images/smile-logo.png and /dev/null differ diff --git a/docs.original/website/images/synopsys-logo.png b/docs.original/website/images/synopsys-logo.png deleted file mode 100644 index d4fbd89a10..0000000000 Binary files a/docs.original/website/images/synopsys-logo.png and /dev/null differ diff --git a/docs.original/website/images/tap2open-logo.png b/docs.original/website/images/tap2open-logo.png deleted file mode 100644 index 136019b621..0000000000 Binary files a/docs.original/website/images/tap2open-logo.png and /dev/null differ diff --git a/docs.original/website/images/text.png b/docs.original/website/images/text.png deleted file mode 100644 index e2eee546f8..0000000000 Binary files a/docs.original/website/images/text.png and /dev/null differ diff --git a/docs.original/website/images/tkos-logo.png b/docs.original/website/images/tkos-logo.png deleted file mode 100644 index 6fe58826e1..0000000000 Binary files a/docs.original/website/images/tkos-logo.png and /dev/null differ diff --git a/docs.original/website/images/tux-flat.png b/docs.original/website/images/tux-flat.png deleted file mode 100644 index 782699f5ee..0000000000 Binary files a/docs.original/website/images/tux-flat.png and /dev/null differ diff --git a/docs.original/website/images/xconfig.png b/docs.original/website/images/xconfig.png deleted file mode 100644 index cb99a3a353..0000000000 Binary files a/docs.original/website/images/xconfig.png and /dev/null differ diff --git a/docs.original/website/images/zillabit-logo.png b/docs.original/website/images/zillabit-logo.png deleted file mode 100644 index 6a2ac31f51..0000000000 Binary files a/docs.original/website/images/zillabit-logo.png and /dev/null differ diff --git a/docs.original/website/images/zip.png b/docs.original/website/images/zip.png deleted file mode 100644 index 02a1dc1134..0000000000 Binary files a/docs.original/website/images/zip.png and /dev/null differ diff --git a/docs.original/website/index.html b/docs.original/website/index.html deleted file mode 100644 index 300adbb83d..0000000000 --- a/docs.original/website/index.html +++ /dev/null @@ -1,151 +0,0 @@ - - -
-
-
-
- -
-
-

Buildroot
- Making Embedded Linux Easy

- - -
-
-
-
- - -
-
-
-

Buildroot is a simple, efficient and easy-to-use tool to - generate embedded Linux systems through cross-compilation.

-
-
- -
-
-
-
-
- -
-
- -
-
-
- -

Can handle everything

-

Cross-compilation toolchain, root filesystem generation, - kernel image compilation and bootloader compilation.

-
- -
-
-
-
- -
-
- -
-
-
- -

Is very easy

-

Thanks to its kernel-like menuconfig, gconfig and - xconfig configuration interfaces, building a basic system with - Buildroot is easy and typically takes 15-30 minutes.

- -
- -
-
-
-
- -
-
- -
-
-
- -

Supports several thousand packages

-

X.org stack, Gtk3, Qt 5, GStreamer, Webkit, Kodi, a large number of network-related and system-related utilities are supported.

- -
-
-
-
- -
-
-
-

Buildroot is for Everyone.

-

Has a simple structure that makes it easy to understand and extend. It relies only on the well-known Makefile language.

-
-
- -
-
- -
-
-
- -
-
-
-

Our recent activity.

-

Buildroot is an open source project: many developers contribute to it daily.

-
-
-
- -
-
-
-
- -
-
-
-
-
- -
-
-
- - diff --git a/docs.original/website/js/buildroot.js b/docs.original/website/js/buildroot.js deleted file mode 100644 index bf80f11d7a..0000000000 --- a/docs.original/website/js/buildroot.js +++ /dev/null @@ -1,93 +0,0 @@ -function load_activity(feedurl, divid) { - let container = document.getElementById(divid); - $.ajax({ - url: "https://cors-anywhere.herokuapp.com/" + 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")); - } - }); -} - -function google_analytics() { - let _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-21761074-1']); - _gaq.push(['_setDomainName', 'none']); - _gaq.push(['_setAllowLinker', true]); - _gaq.push(['_trackPageview']); - - let ga = document.createElement('script'); - ga.type = 'text/javascript'; - ga.async = true; - ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - let s = document.getElementsByTagName('script')[0]; - s.parentNode.insertBefore(ga, s); -} - -function showTooltip(elem, msg) { - elem.setAttribute('class', 'btn tooltipped tooltipped-s'); - elem.setAttribute('aria-label', msg); -} - -let clipboard = new Clipboard('.btn'); - -$(function () { - $('[data-toggle="tooltip"]').tooltip() -}); - -clipboard.on('success', function(e) { - e.clearSelection(); - $(e.trigger).tooltip('show'); -}); - -$(function() { - $('a[href*=\\#]:not([href=\\#])').click(function() { - if (location.pathname.replace(/^\//,'') === this.pathname.replace(/^\//,'') && location.hostname === this.hostname) { - let target = $(this.hash); - target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); - if (target.length) { - $('html,body').animate({ - scrollTop: target.offset().top - }, 1000); - return false; - } - } - }); -}); - -jQuery(document).ready(function($) { - let url = window.location.href; - // Get the basename of the URL - 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"); - - $('#slides').html('') -}); diff --git a/docs.original/website/news.html b/docs.original/website/news.html deleted file mode 100644 index d3db1b28ed..0000000000 --- a/docs.original/website/news.html +++ /dev/null @@ -1,6515 +0,0 @@ - - - - -
-
-
- -

News

-
    - -
  • -
    -
    -
    -

    2021.08 released

    -

    4 September 2021

    -
    -
    -

    The stable 2021.08 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 - 2021.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.08-rc3 released

    -

    31 August 2021

    -
    -
    -

    2021.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 - 2021.08-rc3 - release candidate, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.08-rc2 released

    -

    18 August 2021

    -
    -
    -

    2021.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 - 2021.08-rc2 - release candidate, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.02.4 released

    -

    11 August 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.05.1 released

    -

    10 August 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.08-rc1 released

    -

    3 August 2021

    -
    -
    -

    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 - 2021.08-rc1 - release, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.02.3 released

    -

    12 June 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.05 released

    -

    6 June 2021

    -
    -
    -

    The stable 2021.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 - 2021.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.05-rc3 released

    -

    31 May 2021

    -
    -
    -

    2021.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 - 2021.05-rc3 - release candidate, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.05-rc2 released

    -

    22 May 2021

    -
    -
    -

    2021.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 - 2021.05-rc2 - release candidate, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.02.2 released

    -

    12 May 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.05-rc1 released

    -

    12 May 2021

    -
    -
    -

    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 - 2021.05-rc1 - release, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.02.1 released

    -

    7 April 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.12 released, 2020.02.x series EOL

    -

    5 April 2021

    -
    -
    -

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

    - -

    Notice that the 2020.02.x series is now end of life. Please migrate to - the 2021.02 series instead which will be supported until March 2022.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.11.4 released, 2020.11.x series EOL

    -

    5 April 2021

    -
    -
    -

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

    - -

    Notice that the 2020.11.x series is now end of life. Please migrate to - the 2021.02 series instead which will be supported until March 2022.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.02 released

    -

    6 March 2021

    -
    -
    -

    The stable 2021.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 - 2021.02 release.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.02-rc3 released

    -

    27 February 2021

    -
    -
    -

    2021.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 - 2021.02-rc3 - release candidate, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.11 released

    -

    17 February 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.11.3 released

    -

    17 February 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.02-rc2 released

    -

    17 February 2021

    -
    -
    -

    2021.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 - 2021.02-rc2 - release candidate, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2021.02-rc1 released

    -

    9 February 2021

    -
    -
    -

    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 - 2021.02-rc1 - release, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.10 released

    -

    31 January 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.11.2 released

    -

    31 January 2021

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.9 released

    -

    27 December 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.08.3 released, 2020.08.x series EOL

    -

    27 December 2020

    -
    -
    -

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

    - -

    Notice that the 2020.08.x series is now end of life. Please migrate to - the 2020.11 series instead which will be supported until March 2021.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.11.1 released

    -

    27 December 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.11 released

    -

    2 December 2020

    -
    -
    -

    The stable 2020.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 - 2020.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.11-rc3 released

    -

    28 November 2020

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.8 released

    -

    17 November 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.08.2 released

    -

    16 November 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.11-rc2 released

    -

    14 November 2020

    -
    -
    -

    2020.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 - 2020.11-rc2 - release candidate, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.11-rc1 released

    -

    4 November 2020

    -
    -
    -

    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 - 2020.11-rc1 - release, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.7 released

    -

    12 October 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.05.3 released

    -

    12 October 2020

    -
    -
    -

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

    - -

    Notice that the 2020.05.x series is now end of life. Please migrate to - the 2020.08 series instead which will be supported until December 2020.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.08.1 released

    -

    12 October 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.6 released

    -

    5 September 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.08 released

    -

    1 September 2020

    -
    -
    -

    The stable 2020.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 - 2020.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.5 released

    -

    29 august 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.05.2 released

    -

    29 August 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.08-rc3 released

    -

    28 August 2020

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.08-rc2 released

    -

    24 August 2020

    -
    -
    -

    2020.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 - 2020.08-rc2 - release candidate, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.08-rc1 released

    -

    6 August 2020

    -
    -
    -

    The 2020.08-rc1 release candidate is out. It is the first - release candidate for 2020.08, which we aim at releasing end - of August 2020. It contains a number of new packages, new - defconfigs, toolchain improvements, package updates and - more. See - the CHANGES. Go - to the downloads page to pick up the - 2020.08-rc1 - release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.4 released

    -

    26 July 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.05.1 released

    -

    25 July 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.3 released

    -

    3 June 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.05 released

    -

    1 June 2020

    -
    -
    -

    The stable 2020.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 - 2020.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.05-rc3 released

    -

    29 May 2020

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.05-rc2 released

    -

    22 May 2020

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.2 released

    -

    12 May 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.05-rc1 released

    -

    10 April 2020

    -
    -
    -

    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 - 2020.05-rc1 - release, and report any problems found to the - mailing list or - bug tracker.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02.1 released

    -

    10 April 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.11.3 released, 2019.11.x series EOL

    -

    10 April 2020

    -
    -
    -

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

    - -

    Notice that the 2019.11.x series is now end of life. Please migrate to - the 2020.02 series instead which will be supported until April 2021.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.11 released, 2019.02.x series EOL

    -

    9 April 2020

    -
    -
    -

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

    - -

    Notice that the 2019.02.x series is now end of life. Please migrate to - the 2020.02 series instead which will be supported until April 2021.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.10 released

    -

    16 march 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.11.2 released

    -

    16 March 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02 released

    -

    8 March 2020

    -
    -
    -

    The stable 2020.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 - 2020.02 release.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02-rc3 released

    -

    2 March 2020

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02-rc2 released

    -

    26 February 2020

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2020.02-rc1 released

    -

    18 February 2020

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.9 released

    -

    12 January 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.11.1 released

    -

    12 January 2020

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.8 released

    -

    7 December 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.08.3 released

    -

    7 December 2019

    -
    -
    -

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

    - -

    Notice that the 2019.08.x series is now end of life. Please migrate to - the 2019.02 or 2019.11 series instead.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.11 released

    -

    1 December 2019

    -
    -
    -

    The stable 2019.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 - 2019.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.11-rc3 released

    -

    24 November 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.11-rc2 released

    -

    16 November 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.7 released

    -

    10 November 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.08.2 released

    -

    9 November 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.11-rc1 released

    -

    5 November 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.6 released

    -

    4 October 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.05.3 released

    -

    4 October 2019

    -
    -
    -

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

    - -

    Notice that the 2019.05.x series is now end of life. Please migrate to - the 2019.02 or 2019.08 series instead.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.08.1 released

    -

    4 October 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.05.2 released

    -

    3 September 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.5 released

    -

    2 September 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.08 released

    -

    1 September 2019

    -
    -
    -

    The stable 2019.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 - 2019.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.08-rc3 released

    -

    28 August 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.08-rc2 released

    -

    20 August 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.08-rc1 released

    -

    9 August 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.4 released

    -

    7 June 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.05.1 released

    -

    7 July 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.3 released

    -

    7 June 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.05 released

    -

    2 June 2019

    -
    -
    -

    The stable 2019.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 - 2019.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.05-rc3 released

    -

    25 May 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.05-rc2 released

    -

    15 May 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.05-rc1 released

    -

    8 May 2019

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the - CHANGES - file for details, and read the - announcement. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.2 released

    -

    29 April 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02.1 released

    -

    29 March 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.12 released, 2018.02.x series EOL

    -

    29 March 2019

    -
    -
    -

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

    - -

    Notice that the 2018.02.x series is now end of life. Please migrate to - the 2019.02 series instead which will be supported until March 2020.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.11.4 released

    -

    28 March 2019

    -
    -
    -

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

    - -

    Notice that the 2018.11.x series is now end of life. Please migrate to - the 2019.02 series instead which will be supported until March 2020.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02 released

    -

    4 March 2019

    -
    -
    -

    The stable 2019.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 - 2019.02 release.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02-rc3 released

    -

    1 March 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.11.3 released

    -

    23 February 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.11 released

    -

    23 February 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02-rc2 released

    -

    23 February 2019

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2019.02-rc1 released

    -

    13 February 2019

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the - CHANGES - file for details and read the - announcement. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.10 released

    -

    31 January 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.11.2 released

    -

    30 January 2019

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.9 released

    -

    20 December 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.08.4 released, 2018.08 series EOL

    -

    20 December 2018

    -
    -
    -

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

    -

    Notice that the 2018.08 series is now end of life, please - consider migrating to 2018.11 instead.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.11.1 released

    -

    19 December 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.11 released

    -

    1 December 2018

    -
    -
    -

    The stable 2018.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 - 2018.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.11-rc3 released

    -

    30 November 2018

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.8 released

    -

    26 November 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.08.3 released

    -

    26 November 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.11-rc2 released

    -

    21 November 2018

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.11-rc1 released

    -

    9 November 2018

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the - CHANGES - file for details and/or read - the announcement. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.7 released

    -

    25 October 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.08.2 released

    -

    25 October 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.08.1 released

    -

    7 October 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.6 released

    -

    7 October 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.05.3 released

    -

    6 October 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.08 released

    -

    6 September 2018

    -
    -
    -

    The stable 2018.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 - 2018.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.08-rc3 released

    -

    31 August 2018

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.5 released

    -

    29 August 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.05.2 released

    -

    28 August 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.08-rc2 released

    -

    20 August 2018

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.08-rc1 released

    -

    5 August 2018

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the - CHANGES - file for details and/or read - the announcement. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.4 released

    -

    21 July 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.05.1 released

    -

    20 July 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.3 released

    -

    18 June 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.05 released

    -

    1 June 2018

    -
    -
    -

    The stable 2018.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 - 2018.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.05-rc3 released

    -

    28 May 2018

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.05-rc2 released

    -

    22 May 2018

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.05-rc1 released

    -

    9 May 2018

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the - CHANGES - file for details and read the - announcement. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.2 released

    -

    4 May 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.11 released

    -

    11 April 2018

    -
    -
    -

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

    -

    Notice that the 2017.02 series is now end of life, so please consider - updating to 2018.02 instead.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02.1 released

    -

    10 April 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02 released

    -

    4 March 2018

    -
    -
    -

    The stable 2018.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 - 2018.02 release.

    - -

    Notice that this is a long term support release which will be - supported with security and other important fixes until February 2019.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02-rc3 released

    -

    27 February 2018

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02-rc2 released

    -

    15 February 2018

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2018.02-rc1 released

    -

    5 February 2018

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the - CHANGES - file for details and read the - announcement. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.10 released

    -

    31 January 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.11.2 released

    -

    21 January 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.9 released

    -

    1 January 2018

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.11.1 released

    -

    31 December 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.11 released

    -

    30 November 2017

    -
    -
    -

    The stable 2017.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 - 2017.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.08.2 released

    -

    29 November 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.8 released

    -

    27 November 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.11-rc2 released

    -

    13 November 2017

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.11-rc1 released

    -

    6 November 2017

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.7 released

    -

    28 October 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.08.1 released

    -

    23 October 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.6 released

    -

    24 September 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.08 released

    -

    1 September 2017

    -
    -
    -

    The stable 2017.08 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 - 2017.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.08-rc3 released

    -

    23 August 2017

    -
    -
    -

    Another release candidate, on the road to the final 2017.08 - release. A number of fixes and cleanups in various packages - and defconfigs. See - the CHANGES - file for details. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.08-rc2 released

    -

    11 August 2017

    -
    -
    -

    Another release candidate, on the road to the final 2017.08 - release. A number of fixes and cleanups in various packages - and defconfigs. See - the CHANGES - file for details. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.08-rc1 released

    -

    2 August 2017

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.05.2 released

    -

    27 July 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.5 released

    -

    27 July 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.05.1 released

    -

    4 July 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.4 released

    -

    4 July 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.3 released

    -

    2 June 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.05 released

    -

    31 May 2017

    -
    -
    -

    The stable 2017.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 - 2017.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.05-rc3 released

    -

    30 May 2017

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.05-rc2 released

    -

    17 May 2017

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.05-rc1 released

    -

    8 May 2017

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.2 released

    -

    1 May 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02.1 released

    -

    4 April 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.11.3 released

    -

    10 March 2017

    -
    -
    -

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

    -

    Notice that this is the final 2016.11.x release. Users are - urged to migrate to the 2017.02.x series instead.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02 released

    -

    28 February 2017

    -
    -
    -

    The stable 2017.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 - 2017.02 release.

    - -

    Notice that this is a long term support release which will be - supported with security and other important fixes until February 2018.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02-rc3 released

    -

    26 February 2017

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02-rc2 released

    -

    20 February 2017

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2017.02-rc1 released

    -

    11 February 2017

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.11.2 released

    -

    25 January 2017

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.11.1 released

    -

    29 December 2016

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.11 released

    -

    30 November 2016

    -
    -
    -

    The stable 2016.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 - 2016.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.11-rc3 released

    -

    28 November 2016

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.11-rc2 released

    -

    13 November 2016

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.11-rc1 released

    -

    3 November 2016

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.08.1 released

    -

    21 September 2016

    -
    -
    -

    The 2016.08.1 bugfix release is out. This release fixes a - potential entire root filesystem removal issue with the - external toolchain handling discovered since the 2016.08 - release. See the - CHANGES - file for more details, read the - announcement and go to the - downloads page to pick up the - 2016.08.1 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.08 released

    -

    1 September 2016

    -
    -
    -

    The stable 2016.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 - 2016.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.08-rc3 released

    -

    30 August 2016

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.08-rc2 released

    -

    17 August 2016

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.08-rc1 released

    -

    6 August 2016

    -
    -
    -

    We have a new release candidate! Lots of - changes all over the tree, see - the CHANGES - file for details and read the - announcement -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.05 released

    -

    1 March 2016

    -
    -
    -

    The stable 2016.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 - 2016.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.05-rc3 released

    -

    26 May 2016

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.05-rc2 released

    -

    17 May 2016

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.05-rc1 released

    -

    10 May 2016

    -
    -
    -

    We have a new release candidate! Lots of - changes all over the tree, see - the CHANGES - file for details and read the - announcement. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.02 released

    -

    1 March 2016

    -
    -
    -

    The stable 2016.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 - 2016.02 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.02-rc3 released

    -

    27 February 2016

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.02-rc2 released

    -

    18 February 2016

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2016.02-rc1 released

    -

    10 February 2016

    -
    -
    -

    We have a new release candidate! Lots of - changes all over the tree, see - the CHANGES - file for details and read the - announcement. -

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.11.1 released

    -

    5 December 2015

    -
    -
    -

    The 2015.11.1 bugfix release is out - Thanks to everyone - contributing. This release fixes critical issues discovered - since the 2015.11 release. See the - CHANGES - file for more details, and go to the - downloads page to pick up the - 2015.11.1 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.11 released

    -

    30 November 2015

    -
    -
    -

    The stable 2015.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 - 2015.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.11-rc3 released

    -

    26 November 2015

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.11-rc2 released

    -

    19 November 2015

    -
    -
    -

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

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.11-rc1 released

    -

    7 November 2015

    -
    -
    -

    We have a new release candidate! Lots of - changes all over the tree, see - the CHANGES - file for details. See also - the announcement - e-mail.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.08.1 released

    -

    6 September 2015

    -
    -
    -

    The 2015.08.1 bugfix release is out - Thanks to everyone - contributing. This release fixes critical issues discovered since - the 2015.08 release. See the - CHANGES - file for more details, - and go to the downloads page to pick up the - 2015.08.1 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.08 released

    -

    31 August 2015

    -
    -
    -

    The stable 2015.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 - 2015.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.08-rc2 released

    -

    24 August 2015

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.08-rc1 released

    -

    5 August 2015

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.05 released

    -

    31 May 2015

    -
    -
    -

    The stable 2015.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 - 2015.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.05-rc3 released

    -

    22 May 2015

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.05-rc2 released

    -

    11 May 2015

    -
    -
    -

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

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.05-rc1 released

    -

    4 May 2015

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.02 released

    -

    1 March 2015

    -
    -
    -

    The stable 2015.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 - 2015.02 release.

    -
    -
    -
  • - - -
  • -
    -
    -
    -

    2015.02-rc3 released

    -

    24 February 2015

    -
    -
    -

    Release candidate 3 is out with more cleanups and security - / build fixes. See - the CHANGES - file for details.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.02-rc2 released

    -

    15 February 2015

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2015.02-rc1 released

    -

    8 February 2015

    -
    -
    -

    We have a new release candidate! Lots of changes all over - the tree, see - the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.11 released

    -

    1 December 2014

    -
    -
    -

    The stable 2014.11 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 - 2014.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.11-rc3 released

    -

    28 November 2014

    -
    -
    -

    Release candidate 3 is out with more cleanups and build - fixes. See - the CHANGES - file for details.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.11-rc2 released

    -

    21 November 2014

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Report from Buildroot Developers Meeting

    -

    13 November 2014

    -
    -
    -

    A report from the recent - - Buildroot Developers Meeting is now - available.

    - -

    Once again, thanks to all the participants and to - Mind for sponsoring the event.

    - -

    The next Developer Days will take place on February 2nd and - 3rd in Brussels, Belgium, right - after FOSDEM. See - the wiki - for more details.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.11-rc1 released

    -

    12 November 2014

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.08 released

    -

    1 September 2014

    -
    -
    -

    The stable 2014.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 - 2014.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.08-rc3 released

    -

    26 August 2014

    -
    -
    -

    Release candidate 3 is out with more cleanups and build - fixes. See - the CHANGES - file for details.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.08-rc2 released

    -

    18 August 2014

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.08-rc1 released

    -

    8 August 2014

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.05 released

    -

    31 May 2014

    -
    -
    -

    The stable 2014.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 - 2014.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.05-rc3 released

    -

    28 May 2014

    -
    -
    -

    Release candidate 3 is out with more cleanups and build - fixes. See - the CHANGES - file for details.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.05-rc2 released

    -

    21 May 2014

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.05-rc1 released

    -

    13 May 2014

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    27 February 2014

    -

    2014.02 released

    -
    -
    -

    The stable 2014.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 - 2014.02 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    25 February 2014

    -

    2014.02-rc3 released

    -
    -
    -

    Release candidate 3 is out with more cleanups and build - fixes. See - the CHANGES - file for details.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    20 February 2014

    -

    2014.02-rc2 released

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2014.02-rc1 released

    -

    11 February 2014

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    9 February 2014

    -

    Report from Buildroot Developers Meeting

    -
    -
    -

    A report from the recent - - Buildroot Developers Meeting is now - available.

    - -

    Once again, thanks to all the participants and to - Google and - Mind for sponsoring the event.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Upcoming Buildroot Developers meeting

    -

    30 January 2014

    -
    -
    -

    The upcoming Buildroot Developers meeting will take place in - Brussels on February, 3rd and 4th, after the - FOSDEM conference. Additional - details about the meeting can be found on the corresponding - - wiki page.

    - -

    Persons not able to join the meeting in Brussels can participate - remotely using Google Hangouts. Simply give your Google address to - thomas.petazzoni@free-electrons.com.

    - -

    This meeting is sponsored by - Google (for the meeting room) - and Mind (for the dinner). - Thanks to our sponsors!

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.11 released

    -

    30 November 2013

    -
    -
    -

    The stable 2013.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 - 2013.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Slides from Embedded Linux Conference Europe

    -

    30 November 2013

    -
    -
    -

    The slides from the Buildroot presentation at the recent - Embedded Linux Conference Europe 2013 - are now - available.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.11-rc3 released

    -

    18 November 2013

    -
    -
    -

    Another week, another release candidate with more - fixes. See - the CHANGES - file for details.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.11-rc2 released

    -

    18 November 2013

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Announcement of the next Buildroot Developer Days

    -

    13 November 2013

    -
    -
    -

    The next Buildroot Developer Days meeting will take - place on Monday 3rd and Tuesday 4th February 2014 in Brussels, - Belgium - Just after - FOSDEM (February - 1st/2nd). This two days meeting is mainly open to Buildroot - developers and contributors, or Buildroot users having a prior - experience with the tool. It will allow developers to work on - Buildroot and discuss current issues, the future directions, and - more.

    - -

    In addition to the Buildroot event, we encourage embedded Linux - developers to propose talks for the Embedded and Mobile Developer - Room at FOSDEM. See - the CFP.

    - -

    We would like to thank our - sponsor Google for sponsoring - the event by providing all the needed logistics.

    - -

    For more details, see the - wiki - page dedicated to the meeting.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.11-rc1 released

    -

    12 November 2013

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Report from Buildroot Developers Meeting

    -

    11 November 2013

    -
    -
    -

    A report from the recent - - Buildroot Developers Meeting is now - available.

    - -

    Once again, thanks to all the participants and to - Imagination Technologies - for sponsoring the event.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.08.1 released

    -

    17 September 2013

    -
    -
    -

    The 2013.08.1 bugfix release is out - Thanks to everyone - contributing. This release fixes critical issues discovered since - the 2013.08 release. See the - CHANGES - file for more details, - and go to the downloads page to pick up the - 2013.08.1 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Buildroot Developer Days

    -

    16 September 2013

    -
    -
    -

    The next Buildroot Developer Days meeting will take - place on Saturday October 26th and Sunday October 27th 2013 in - Edinburgh, UK - Just after the - Embedded Linux Conference Europe (October 23th-24th). This two - days meeting is mainly open to Buildroot developers and - contributors, or Buildroot users having a prior experience with - the tool. It will allow developers to work on Buildroot and - discuss current issues, the future directions, and more.

    - -

    For more details, see the - wiki - page dedicated to the meeting.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.08 released

    -

    31 August 2013

    -
    -
    -

    The stable 2013.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 - 2013.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.08-rc3 released

    -

    29 August 2013

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.08-rc2 released

    -

    16 August 2013

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.08-rc1 released

    -

    5 August 2013

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.05 released

    -

    31 May 2013

    -
    -
    -

    The stable 2013.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 - 2013.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.05-rc3 released

    -

    25 May 2013

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.05-rc2 released

    -

    15 May 2013

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.05-rc1 released

    -

    8 May 2013

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.02 released

    -

    28 February 2013

    -
    -
    -

    The stable 2013.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 - 2013.02 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.02-rc3 released

    -

    26 February 2013

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.02-rc2 released

    -

    19 February 2013

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2013.02-rc1 released

    -

    10 February 2013

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Report from Buildroot Developers Meeting

    -

    10 February 2013

    -
    -
    -

    A report from the recent Buildroot Developers Meeting is now - available. - Embedded Linux News also has a - - writeup about the event, including photos.

    - -

    Once again, thanks to all the participants and to - Google for sponsoring the event.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Next Buildroot Developers Meeting next to FOSDEM, Brussels

    -

    12 January 2013

    -
    -
    -

    The next Buildroot Developers Meeting will take place on Monday - 4th February 2013 and Tuesday 5th February 2013 in Brussels, - Belgium. Those dates have been chosen to immediately follow the - great FOSDEM conference.

    - -

    Attending this meeting is free, after registration by - contacting Thomas - Petazzoni. For more details about the meeting, please see - the related - Wiki page.

    - -

    We would like to - thank Google for providing the - meeting location and the Internet connection, and offering free - lunch and refreshments to the participants.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.11.1 released

    -

    3 January 2013

    -
    -
    -

    The 2012.11.1 bugfix release is out - Thanks to everyone - contributing. This release fixes critical issues discovered since - the 2012.11 release, most importantly with non-largefile builds on - recent Ubuntu versions. See the - CHANGES - file for more details, - and go to the downloads page to pick up the - 2012.11.1 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.11 released

    -

    2 December 2012

    -
    -
    -

    The stable 2012.11 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 - 2012.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.11-rc2 released

    -

    30 November 2012

    -
    -
    -

    RC2 is out with more bugfixes - See - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.11-rc1 released

    -

    17 November 2012

    -
    -
    -

    We have a new release candidate! Lots of changes all over the - tree, see the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Buildroot Developer Day

    -

    17 November 2012

    -
    -
    -

    A report from the recent Buildroot Developer Days - meeting in Barcelona, Spain is - now available. - Many thanks to all the participants, and a special thanks to - Arnout Vandecappelle from mind - for taking notes and Thomas Petazzoni - from Free Electrons - for handling all the practical arrangements, and naturally - our sponsors, Fluendo - and Synopsis. -

    -

    The next Developer Days will take place on February 4th and - 5th in Brussels, Belgium, right - after FOSDEM.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.08 released

    -

    31 August 2012

    -
    -
    -

    The stable 2012.08 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 - 2012.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.08-rc3 released

    -

    25 August 2012

    -
    -
    -

    We have a new release candidate! Various fixes, and - addition of licensing informations on many - packages. See CHANGES - file for details

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.08-rc2 released

    -

    15 August 2012

    -
    -
    -

    We have a new release candidate! Various fixes, and addition - of licensing informations on many - packages. See CHANGES - file for details

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.08-rc1 released

    -

    1 August 2012

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Buildroot Developer Day

    -

    22 July 2012

    -
    -
    -

    The next Buildroot Developer Day meeting will take place - on Saturday November 3th and Sunday November 4th 2012 in - Barcelona, Spain, just before - the Embedded - Linux Conference Europe (November 5th-7th). This two days - meeting is mainly opened to Buildroot developers and contributors, - or Buildroot users having a prior experience with the tool. This - meeting will allow developers to work and Buildroot, and discuss - current issues, the future directions, and more.

    - -

    For more details, see - the wiki - page dedicated to the meeting.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.05 released

    -

    30 May 2012

    -
    -
    -

    The stable 2012.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 - 2012.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.05-rc3 released

    -

    25 May 2012

    -
    -
    -

    RC3 is out with more bugfixes - See - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.05-rc2 released

    -

    18 May 2012

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.05-rc1 released

    -

    10 May 2012

    -
    -
    -

    We have a new release candidate! Lots of changes all over - the tree, see - the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Autobuilder Results Online

    -

    20 April 2012

    -
    -
    -

    The status of the autobuilders, which do repeated - randpackageconfig builds for continuous - integration testing, is now online - at autobuild.buildroot.org. The - code behind it can be found - in git.

    - -

    Thanks to Thomas Petazzoni for running the web interface, and - to The GCC Compile - Farm and Free - Electrons for hosting builders. Thomas also sends out a daily - summary of the build status to the mailing list.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.02 released

    -

    29 February 2012

    -
    -
    -

    The stable 2012.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 - 2012.02 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.02-rc3 released

    -

    27 February 2012

    -
    -
    -

    RC3 is out with more bugfixes - See - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.02-rc2 released

    -

    19 February 2012

    -
    -
    -

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

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2012.02-rc1 released

    -

    12 February 2012

    -
    -
    -

    We have a new release candidate! Lots of changes all over - the tree, see - the CHANGES - file for details, and read the - announcement.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Buildroot Developer Day

    -

    31 January 2012

    -
    -
    -

    Another Buildroot Developer Day will take place on - Friday, February 3rd in Brussels, Belgium - The day - before FOSDEM. See the - announcement - or - the Free - Electrons blog for more info.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.11 released

    -

    30 November 2011

    -
    -
    -

    The stable 2011.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 - 2011.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.11-rc3 released

    -

    26 November 2011

    -
    -
    -

    RC3 is out with more bugfixes - See - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.11-rc2 released

    -

    18 November 2011

    -
    -
    -

    Another week, another release candidate with a bunch of - cleanups and build fixes. See - the CHANGES - file for details.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.11-rc1 released

    -

    11 November 2011

    -
    -
    -

    We have a new release candidate! Lots of changes all over - the tree, see - the CHANGES - file for details, and read the - announcement - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.08 released

    -

    31 August 2011

    -
    -
    -

    The stable 2011.08 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 - 2011.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.08-rc2 released

    -

    29 August 2011

    -
    -
    -

    RC2 is out with more bugfixes. See - the CHANGES - file for details, and read the - announcement. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.08-rc1 released

    -

    4 August 2011

    -
    -
    -

    We have a new release candidate! Lots of changes all over - the tree, see - the CHANGES - file for details, and read the - announcement. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.05 released

    -

    27 May 2011

    -
    -
    -

    The stable 2011.05 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 - 2011.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.05-rc2 released

    -

    24 May 2011

    -
    -
    -

    RC2 is out with more bugfixes. See - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.05-rc1 released

    -

    18 May 2011

    -
    -
    -

    We have a new release candidate! Lots of changes all over - the tree, see - the CHANGES - file for details, and read the - announcement. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.02 released

    -

    28 February 2011

    -
    -
    -

    The stable 2011.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 - 2011.02 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.02-rc2 released

    -

    24 February 2011

    -
    -
    -

    RC2 is out with more cleanups and bugfixes, see - the CHANGES - file for details.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2011.02-rc1 released

    -

    14 February 2011

    -
    -
    -

    We have a new release candidate! Lots of changes all over - the tree, see - the CHANGES - file for details, and read the - announcement. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.11 released

    -

    30 November 2010

    -
    -
    -

    The stable 2010.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 - 2010.11 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.11-rc2 released

    -

    25 November 2010

    -
    -
    -

    RC2 is out with more cleanups and bugfixes, see - the CHANGES - file for details.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.11-rc1 released

    -

    8 November 2010

    -
    -
    -

    We have a new release candidate! Lots of changes all over - the tree, see - the CHANGES - file for details, and read the - announcement. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Buildroot Developer Day

    -

    28 September 2010

    -
    -
    -

    A Buildroot Developer Day will take place on - Friday, October 29th in Cambridge, UK - Just the day after the - Embedded - Linux Conference Europe. This Developer Day - aims at allowing Buildroot developers to meet and exchange - ideas on the project and its future. See the - announcement - for more info.

    - -

    Thanks to Thomas Petazzoni for taking care of the practical - arrangements.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.08 released

    -

    31 August 2010

    -
    -
    -

    The stable 2010.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 - 2010.08 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.08-rc2 released

    -

    30 August 2010

    -
    -
    -

    RC2 is out with more cleanups and bugfixes, see - the CHANGES - file for details. - -

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

    - - This is very much expected to be the final release candidate, - so give it a good test and expect a final 2010.08 release - before September unless critical issues are found.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.08-rc1 released

    -

    30 July 2010

    -
    -
    -

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

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.05 released

    -

    30 May 2010

    -
    -
    -

    The stable 2010.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 - 2010.05 release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.05-rc3 released

    -

    27 May 2010

    -
    -
    -

    RC3 is out with more cleanups and bugfixes, see - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.05-rc2 released

    -

    11 May 2010

    -
    -
    -

    Another week, another release candidate with a bunch of - cleanups and build fixes.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.05-rc1 released

    -

    3 May 2010

    -
    -
    -

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

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    FOSDEM slides online

    -

    2 May 2010

    -
    -
    -

    The slides from - the Cross - Build Systems: Present & Future session - at FOSDEM are - now online. -

    -
    -
  • - -
  • -
    -
    -
    -

    2010.02 released

    -

    26 February 2010

    -
    -
    -

    The stable 2010.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 2010.02 - release.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.02-rc2 released

    -

    23 February 2010

    -
    -
    -

    RC2 is out with more cleanups and bugfixes, see - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2010.02-rc1 released

    -

    9 February 2010

    -
    -
    -

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

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.11 released

    -

    1 December 2009

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.11-rc2 released

    -

    29 November 2009

    -
    -
    -

    RC2 is out with more cleanups and bugfixes, see - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.11-rc1 released

    -

    23 November 2009

    -
    -
    -

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

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    First Buildroot Developer Day

    -

    7 September 2009

    -
    -
    -

    The first Buildroot Developer Day will take place on - Saturday, October 17th in Grenoble, France, just the day after - Embedded Linux Conference Europe. This Developer Day aims - at allowing Buildroot developers to meet and exchange ideas on the - project and its future.

    - -

    As the number of places is limited, interested candidates are - invited to send an e-mail to Peter Korsgaard (jacmet at - uclibc dot org) and Thomas Petazzoni (thomas dot - petazzoni at free-electrons dot com).

    - -

    This Developer Day will take place thanks to the - sponsoring of Calao - Systems and Free - Electrons.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.08 released

    -

    31 August 2009

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.08-rc3 released

    -

    26 August 2009

    -
    -
    -

    A number of bugfixes have been added to the tree since RC2 - (especially thanks to Thomas Petazzoni) - See - the CHANGES - file for details. This is very much expected to be the final - release candidate, so give it a good test and expect a final - 2009.08 release next weekend unless critical issues are - found.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.08-rc2 released

    -

    6 August 2009

    -
    -
    -

    RC2 is out with more cleanups and bugfixes, see - the CHANGES - file for details. - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.08-rc1 released

    -

    2 August 2009

    -
    -
    -

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

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.05 released

    -

    1 June 2009

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.05-rc3 released

    -

    27 May 2009

    -
    -
    -

    We had a number of fixes post-RC2, so RC3 is out - (see CHANGES - for details). Now is the moment to test and verify that - everything is working for your favorite config - Expect a - final 2009.05 very soon.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.05-rc2 released

    -

    19 May 2009

    -
    -
    -

    RC2 is out with more cleanups and bug fixes - (see CHANGES). - Unless big issues are found, expect this to be the last - release candidate before the release - So give it a good - test.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Buildroot.org

    -

    14 May 2009

    -
    -
    -

    Earl Levine has been so kind to donate - the buildroot.org domain to us, so the website can - now also be reached - at www.buildroot.org - (and git at - git.buildroot.org). - - Thanks a lot Earl!

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.05-rc1 released

    -

    5 May 2009

    -
    -
    -

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

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Moved to git

    -

    3 May 2009

    -
    -
    -

    We've moved the source code - from Subversion - to Git. You can browse the - repo online - here, and clone - the repo using: -

    git clone git://git.buildroot.net/buildroot
    - See the Git Access page for more details. -

    -
    -
    -
  • - -
  • -
    -
    -
    -

    -

    27 March 2009

    -

    -
    -

    We have a logo! We have so - far been using the Busybox - logo on the website, as the website was a copy of - the Busybox one - But not - anymore, we now have a shiny new logo of our own.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.02 released

    -

    12 February 2009

    -
    -
    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.02-rc4 released

    -

    9 February 2009

    -
    -
    -

    We had more than 50 changes since RC3, several of them - toolchain related, so decided to make a RC4 as well. This is - very much expected to be the final release candidate, so - give it a good test and expect a final 2009.02 release this - week unless critical issues are found.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.02-rc3 released

    -

    31 January 2009

    -
    -
    -

    RC3 is out with more cleanups and bug fixes. Unless big - issues are found, expect this to be the last release - candidate before the release - So give it a good test.

    - -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    2009.02-rc2 released

    -

    23 January 2009

    -
    -
    -

    Another week, another release candidate with a bunch of - cleanups and build fixes.

    -

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

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Release candidate and new maintainer

    -

    16 January 2009

    -
    -
    - -

    It has been a long time coming, but we finally have a new - release candidate! - And a new maintainer to match (Peter - Korsgaard).

    - -

    Head to the downloads page to - pick up the - 2009.02-rc1 - release candidate, and report any problems found to - the mailing list - or bug tracker. The - plan is to release 2009.02 in time - for FOSDEM.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Buildroot mailing list

    -

    16 July 2006

    -
    -
    -

    Buildroot now has its own mailing list.

    -
    -
    -
  • - -
  • -
    -
    -
    -

    Buildroot webpage added

    -

    21 February 2005

    - -

    Buildroot is a set of Makefiles and patches that makes it easy generate a - cross-compilation toolchain and root filesystem for your target Linux - system using the uClibc C library. - Buildroot is useful mainly for people working with small or embedded - systems. Embedded systems often use processors that are not the regular - x86 processors everyone is used to using on their PC. It can be PowerPC - processors, MIPS processors, ARM processors, etc. And to be extra safe, - you do not need to be root to build or run buildroot.

    - -

    And as of today buildroot even has its own webpage, making it a first class - citizen of uclibc.org and busybox.net, and more importantly, make it easy - to find and point to buildroot.

    - -

    If you find a bug in buildroot, or wish to submit a patch - to fix a problem or add a shiny new feature, please use - the Bug and Patch - Tracking System to post the details, to make certain - your work is not lost

    -
    -
    -
  • -
- -
-
-
- - - diff --git a/docs.original/website/robots.txt b/docs.original/website/robots.txt deleted file mode 100644 index 1b425ee0f5..0000000000 --- a/docs.original/website/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: /cgi-bin/ diff --git a/docs.original/website/sponsors.html b/docs.original/website/sponsors.html deleted file mode 100644 index 2f3f6309ae..0000000000 --- a/docs.original/website/sponsors.html +++ /dev/null @@ -1,350 +0,0 @@ - - -
-
-
- -
-
Current sponsors
-
- -
-
-
-
-
- - - -
-
- Tap2Open - financially sponsored the Buildroot Association - in 2020.
-
-
-
- -
-
-
-
- - - -
-
- Logilin - financially sponsored the Buildroot Association - in 2020.
-
-
-
-
-
-
- -
-
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
-
-

Throughout its history, the Buildroot project has been sponsored by - various companies, that we would like to thank below.

- -
-
-
-
-
- - - -
-
- Smile provided the meeting location for the - ELCE 2019 - meeting and sponsored the Buildroot Summer Camp that took place on July 1-5 2016 - in Toulouse, France. Smile sponsored the participation of Romain Naour and paid - the food expenses for the meeting participants. - In 2018, Smile sponsored of LLVM/Clang integration into Buildroot, see the final - report. -
-
-
-
- -
-
-
-
- - - -
-
- Mind sponsored - financially the Buildroot Association for the ELCE - 2018 meeting, sponsored the dinner of the FOSDEM 2014, - 2015, 2016, 2017 and 2018 Developers Meeting - (Brussels) and ELCE 2016 (Berlin) and 2017 (Prague), - and the meeting room and the dinner for the ELCE 2014 - Developers Meeting (Düsseldorf). -
-
-
-
- -
-
-
-
-

-

-
-
-

Google provided - the logistics for the FOSDEM 2013, FOSDEM 2014, - FOSDEM 2015, FOSDEM 2016, FOSDEM 2017, FOSDEM 2018, - FOSDEM 2019 and FOSDEM 2020 Developer Days in Brussels, - Belgium.

-
-
-
-
-
- -
- -
-
-
-
-

-

-
-
- Amarula - Solutions sponsored the event by contributing - financially to the Buildroot Association. -
-
-
-
- -
-
-
-
-

-

-
- -
-

Bootlin - sponsored financially the Buildroot Association for - the ELCE 2018 meeting, sponsored the meeting - location for the ELCE 2016 Developer Days in Berlin, - Germany, and the lunch for the ELCE 2009 Developer - Days in Grenoble, France.

-
-
-
-
- -
-
-
-
- - - -
-
- Logilin sponsored - the ELCE 2018 Buildroot Developers meeting by - contributing financially to the Buildroot - Association. -
-
-
-
- -
- -
- -
-
-
-
- - - -
-
- Tk Open Systems - sponsored the ELCE 2018 Buildroot Developers meeting - by contributing financially to the Buildroot - Association. -
-
-
-
- -
-
-
-
- - - -
-
- Rockwell - Collins sponsored the ELCE 2018 Buildroot - Developers meeting by funding the social Saturday - dinner for the participants. -
-
-
-
- -
-
-
-
- - - -
-
- Scaleway - sponsored the complete logistics to organize our Buildroot - Hackathon in Paris in March 2018: meeting room, Internet - connectivity and accommodation. -
-
-
-
-
- -
-
-
-
-
-

-

-
-
- Imagination Technologies - sponsored the meeting room and dinner of the ELCE 2013 - Developer Days in Edinburgh, UK. -
-
-
-
- -
-
-
-
-

-

-
-
-

CircuitCo sponsored - several development boards for the Google Summer of Code - 2013 project on Buildroot.

-
-
-
-
- -
-
-
-
-

-

-
-
-

BoundaryDevices - sponsored an i.MX6 development board for the Google Summer of - Code 2013 project on Buildroot.

-
-
-
-
-
- -
-
-
-
-
-

-

-
-
-

Fluendo sponsored the - meeting room for the ELCE 2012 Developer Days in Barcelona - Spain.

-
-
-
-
- -
-
-
-
-

-

-
-
-

Synopsys sponsored the - dinner for the ELCE 2012 Developer Days in Barcelona, Spain.

-
-
-
-
- -
-
-
-
-

-

-
-
-

Calao Systems - provided a a meeting room for the ELCE 2009 Developer Days - in Grenoble, France.

-
-
-
-
-
- -
-
-
- - diff --git a/docs.original/website/support.html b/docs.original/website/support.html deleted file mode 100644 index 90231f601c..0000000000 --- a/docs.original/website/support.html +++ /dev/null @@ -1,124 +0,0 @@ - - -
-
-
- -
-
Support
-
-

You can get support for Buildroot through three main channels:

- -
-
-
-
IRC
-
-
-
- -
-
-

The Buildroot IRC channel is - #buildroot, hosted on OFTC. If you do not have an IRC client, you can - use the OFTC web interface. - 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 - OFTC NickServ - service. Follow the instructions to register as a user with a password, - and then join the #buildroot channel.

-
-
-
-
-
- -
-
-
Mailing List Information
-
-
-
- -
-
-

The mailing list is for discussion and - development. You can subscribe by visiting - this - page. Only subscribers to the Buildroot - mailing list are allowed to post to this - list. Archives are available - from Mailman - and lore.kernel.org. - -

Search the List Archives

-

Please search the mailing list archives before asking questions on the mailing - list, since there is a good chance someone else has asked the same question - before.

- -
- - -
-
-
-
-
-
- -
-
-
Bug Tracker
-
-
-
- -
-
-

If you think you found a bug in Buildroot, you can use the - Bug Tracker to post your bugs and/or - participate to find solutions to existing problems.

- -

Note: patches are only accepted through the mailing list.

-
-
-
-
-
-
-
-
- -
-
Commercial support
-
-

In addition, the following companies are able to provide commercial - support. Only companies heavily involved in Buildroot maintenance and - community are listed here.

- -
-
-
- - - - - - - - - -
-
-
-
-
- -
-
-
- - diff --git a/docs.original/images b/docs/images similarity index 100% rename from docs.original/images rename to docs/images diff --git a/docs/images/logo.png b/docs/images/logo.png deleted file mode 100644 index 2db743b4fa..0000000000 Binary files a/docs/images/logo.png and /dev/null differ diff --git a/docs/images/shred_db.png b/docs/images/shred_db.png deleted file mode 100644 index 9bb8064d55..0000000000 Binary files a/docs/images/shred_db.png and /dev/null differ diff --git a/docs/manual/adding-board-support.txt b/docs/manual/adding-board-support.adoc similarity index 100% rename from docs/manual/adding-board-support.txt rename to docs/manual/adding-board-support.adoc diff --git a/docs/manual/adding-packages-asciidoc.txt b/docs/manual/adding-packages-asciidoc.adoc similarity index 100% rename from docs/manual/adding-packages-asciidoc.txt rename to docs/manual/adding-packages-asciidoc.adoc diff --git a/docs/manual/adding-packages-autotools.txt b/docs/manual/adding-packages-autotools.adoc similarity index 100% rename from docs/manual/adding-packages-autotools.txt rename to docs/manual/adding-packages-autotools.adoc 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.txt b/docs/manual/adding-packages-cmake.adoc similarity index 95% rename from docs/manual/adding-packages-cmake.txt rename to docs/manual/adding-packages-cmake.adoc index 541d7422cf..4f336db737 100644 --- a/docs/manual/adding-packages-cmake.txt +++ b/docs/manual/adding-packages-cmake.adoc @@ -91,6 +91,10 @@ typical packages will therefore only use a few of them. 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. @@ -107,6 +111,10 @@ typical packages will therefore only use a few of them. ** +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. diff --git a/docs.original/manual/adding-packages-conclusion.txt b/docs/manual/adding-packages-conclusion.adoc similarity index 100% rename from docs.original/manual/adding-packages-conclusion.txt rename to docs/manual/adding-packages-conclusion.adoc diff --git a/docs/manual/adding-packages-conclusion.txt b/docs/manual/adding-packages-conclusion.txt deleted file mode 100644 index 93f90a419d..0000000000 --- a/docs/manual/adding-packages-conclusion.txt +++ /dev/null @@ -1,13 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Conclusion - -As you can see, adding a software package to Buildroot is simply a -matter of writing a Makefile using an existing example and modifying it -according to the compilation process required by the package. - -If you package software that might be useful for other people, don't -forget to send a patch to the Buildroot mailing list (see -xref:submitting-patches[])! - diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.adoc similarity index 95% rename from docs/manual/adding-packages-directory.txt rename to docs/manual/adding-packages-directory.adoc index 04f5241d05..0b7221aae0 100644 --- a/docs/manual/adding-packages-directory.txt +++ b/docs/manual/adding-packages-directory.adoc @@ -44,13 +44,13 @@ 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. +. 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 @@ -429,8 +429,8 @@ different way, using different infrastructures: 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 + 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]. @@ -534,12 +534,18 @@ 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 +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 diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.adoc similarity index 98% rename from docs/manual/adding-packages-generic.txt rename to docs/manual/adding-packages-generic.adoc index fbe37f9ca9..9d365a10ca 100644 --- a/docs/manual/adding-packages-generic.txt +++ b/docs/manual/adding-packages-generic.adoc @@ -347,6 +347,10 @@ not and can not work as people would expect it should: 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 @@ -499,7 +503,7 @@ not and can not work as people would expect it should: 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 @@ -507,11 +511,15 @@ LIBFOO_IGNORE_CVES += CVE-2020-12345 LIBFOO_IGNORE_CVES += CVE-2020-54321 ---------------------- -* +LIBFOO_CPE_ID_*+ variables is a set of variables that allows the +* [[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+. diff --git a/docs/manual/adding-packages-gettext.txt b/docs/manual/adding-packages-gettext.adoc similarity index 93% rename from docs/manual/adding-packages-gettext.txt rename to docs/manual/adding-packages-gettext.adoc index e9c6968e79..739bed25d5 100644 --- a/docs/manual/adding-packages-gettext.txt +++ b/docs/manual/adding-packages-gettext.adoc @@ -23,11 +23,11 @@ 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 +. 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 +. 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 @@ -38,7 +38,7 @@ should: 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 +. 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, 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.original/manual/adding-packages-kconfig.txt b/docs/manual/adding-packages-kconfig.adoc similarity index 100% rename from docs.original/manual/adding-packages-kconfig.txt rename to docs/manual/adding-packages-kconfig.adoc diff --git a/docs/manual/adding-packages-kconfig.txt b/docs/manual/adding-packages-kconfig.txt deleted file mode 100644 index a35681775f..0000000000 --- a/docs/manual/adding-packages-kconfig.txt +++ /dev/null @@ -1,96 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for packages using kconfig for configuration files - -A popular way for a software package to handle user-specified -configuration is +kconfig+. Among others, it is used by the Linux -kernel, Busybox, and Buildroot itself. The presence of a .config file -and a +menuconfig+ target are two well-known symptoms of kconfig being -used. - -Buildroot features an infrastructure for packages that use kconfig for -their configuration. This infrastructure provides the necessary logic to -expose the package's +menuconfig+ target as +foo-menuconfig+ in -Buildroot, and to handle the copying back and forth of the configuration -file in a correct way. - -The +kconfig-package+ infrastructure is based on the +generic-package+ -infrastructure. All variables supported by +generic-package+ are -available in +kconfig-package+ as well. See -xref:generic-package-reference[] for more details. - -In order to use the +kconfig-package+ infrastructure for a Buildroot -package, the minimally required lines in the +.mk+ file, in addition to -the variables required by the +generic-package+ infrastructure, are: - ------------------------------- -FOO_KCONFIG_FILE = reference-to-source-configuration-file - -$(eval $(kconfig-package)) ------------------------------- - -This snippet creates the following make targets: - -* +foo-menuconfig+, which calls the package's +menuconfig+ target - -* +foo-update-config+, which copies the configuration back to the - source configuration file. It is not possible to use this target - when fragment files are set. - -* +foo-update-defconfig+, which copies the configuration back to the - source configuration file. The configuration file will only list the - options that differ from the default values. It is not possible to - use this target when fragment files are set. - -* +foo-diff-config+, which outputs the differences between the current - configuration and the one defined in the Buildroot configuration for - this kconfig package. The output is useful to identify the - configuration changes that may have to be propagated to - configuration fragments for example. - -and ensures that the source configuration file is copied to the build -directory at the right moment. - -There are two options to specify a configuration file to use, either -+FOO_KCONFIG_FILE+ (as in the example, above) or +FOO_KCONFIG_DEFCONFIG+. -It is mandatory to provide either, but not both: - -* +FOO_KCONFIG_FILE+ specifies the path to a defconfig or full-config file - to be used to configure the package. - -* +FOO_KCONFIG_DEFCONFIG+ specifies the defconfig 'make' rule to call to - configure the package. - -In addition to these minimally required lines, several optional variables can -be set to suit the needs of the package under consideration: - -* +FOO_KCONFIG_EDITORS+: a space-separated list of kconfig editors to - support, for example 'menuconfig xconfig'. By default, 'menuconfig'. - -* +FOO_KCONFIG_FRAGMENT_FILES+: a space-separated list of configuration - fragment files that are merged to the main configuration file. - Fragment files are typically used when there is a desire to stay in sync - with an upstream (def)config file, with some minor modifications. - -* +FOO_KCONFIG_OPTS+: extra options to pass when calling the kconfig - editors. This may need to include '$(FOO_MAKE_OPTS)', for example. By - default, empty. - -* +FOO_KCONFIG_FIXUP_CMDS+: a list of shell commands needed to fixup the - configuration file after copying it or running a kconfig editor. Such - commands may be needed to ensure a configuration consistent with other - configuration of Buildroot, for example. By default, empty. - -* +FOO_KCONFIG_DOTCONFIG+: path (with filename) of the +.config+ file, - relative to the package source tree. The default, +.config+, should - be well suited for all packages that use the standard kconfig - infrastructure as inherited from the Linux kernel; some packages use - a derivative of kconfig that use a different location. - -* +FOO_KCONFIG_DEPENDENCIES+: the list of packages (most probably, host - packages) that need to be built before this package's kconfig is - interpreted. Seldom used. By default, empty. - -* +FOO_KCONFIG_SUPPORTS_DEFCONFIG+: whether the package's kconfig system - supports using defconfig files; few packages do not. By default, 'YES'. 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.original/manual/adding-packages-linux-kernel-spec-infra.txt b/docs/manual/adding-packages-linux-kernel-spec-infra.adoc similarity index 100% rename from docs.original/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-linux-kernel-spec-infra.txt b/docs/manual/adding-packages-linux-kernel-spec-infra.txt deleted file mode 100644 index b948e208da..0000000000 --- a/docs/manual/adding-packages-linux-kernel-spec-infra.txt +++ /dev/null @@ -1,152 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[linux-kernel-specific-infra]] -=== Infrastructure specific to the Linux kernel package - -The Linux kernel package can use some specific infrastructures based on package -hooks for building Linux kernel tools or/and building Linux kernel extensions. - -[[linux-kernel-tools]] -==== linux-kernel-tools - -Buildroot offers a helper infrastructure to build some userspace tools -for the target available within the Linux kernel sources. Since their -source code is part of the kernel source code, a special package, -+linux-tools+, exists and re-uses the sources of the Linux kernel that -runs on the target. - -Let's look at an example of a Linux tool. For a new Linux tool named -+foo+, create a new menu entry in the existing -+package/linux-tools/Config.in+. This file will contain the option -descriptions related to each kernel tool that will be used and -displayed in the configuration tool. It would basically look like: - ------------------------------- -01: config BR2_PACKAGE_LINUX_TOOLS_FOO -02: bool "foo" -03: select BR2_PACKAGE_LINUX_TOOLS -04: help -05: This is a comment that explains what foo kernel tool is. -06: -07: http://foosoftware.org/foo/ ------------------------------- - -The name of the option starts with the prefix +BR2_PACKAGE_LINUX_TOOLS_+, -followed by the uppercase name of the tool (like is done for packages). - -.Note -Unlike other packages, the +linux-tools+ package options appear in the -+linux+ kernel menu, under the `Linux Kernel Tools` sub-menu, not under -the `Target packages` main menu. - -Then for each linux tool, add a new +.mk.in+ file named -+package/linux-tools/linux-tool-foo.mk.in+. It would basically look like: - ------------------------------- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: LINUX_TOOLS += foo -08: -09: FOO_DEPENDENCIES = libbbb -10: -11: define FOO_BUILD_CMDS -12: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools foo -13: endef -14: -15: define FOO_INSTALL_STAGING_CMDS -16: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ -17: DESTDIR=$(STAGING_DIR) \ -18: foo_install -19: endef -20: -21: define FOO_INSTALL_TARGET_CMDS -22: $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ -23: DESTDIR=$(TARGET_DIR) \ -24: foo_install -25: endef --------------------------------- - -On line 7, we register the Linux tool +foo+ to the list of available -Linux tools. - -On line 9, we specify the list of dependencies this tool relies on. These -dependencies are added to the Linux package dependencies list only when the -+foo+ tool is selected. - -The rest of the Makefile, lines 11-25 defines what should be done at the -different steps of the Linux tool build process like for a -xref:generic-package-tutorial[+generic package+]. They will actually be -used only when the +foo+ tool is selected. The only supported commands are -+_BUILD_CMDS+, +_INSTALL_STAGING_CMDS+ and +_INSTALL_TARGET_CMDS+. - -.Note -One *must not* call +$(eval $(generic-package))+ or any other -package infrastructure! Linux tools are not packages by themselves, -they are part of the +linux-tools+ package. - -[[linux-kernel-ext]] -==== linux-kernel-extensions - -Some packages provide new features that require the Linux kernel tree -to be modified. This can be in the form of patches to be applied on -the kernel tree, or in the form of new files to be added to the -tree. The Buildroot's Linux kernel extensions infrastructure provides -a simple solution to automatically do this, just after the kernel -sources are extracted and before the kernel patches are -applied. Examples of extensions packaged using this mechanism are the -real-time extensions Xenomai and RTAI, as well as the set of -out-of-tree LCD screens drivers +fbtft+. - -Let's look at an example on how to add a new Linux extension +foo+. - -First, create the package +foo+ that provides the extension: this -package is a standard package; see the previous chapters on how to -create such a package. This package is in charge of downloading the -sources archive, checking the hash, defining the licence informations -and building user space tools if any. - -Then create the 'Linux extension' proper: create a new menu entry in -the existing +linux/Config.ext.in+. This file contains the option -descriptions related to each kernel extension that will be used and -displayed in the configuration tool. It would basically look like: - ------------------------------- -01: config BR2_LINUX_KERNEL_EXT_FOO -02: bool "foo" -03: help -04: This is a comment that explains what foo kernel extension is. -05: -06: http://foosoftware.org/foo/ ------------------------------- - -Then for each linux extension, add a new +.mk+ file named -+linux/linux-ext-foo.mk+. It should basically contain: - ------------------------------- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: LINUX_EXTENSIONS += foo -08: -09: define FOO_PREPARE_KERNEL -10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) -11: endef --------------------------------- - -On line 7, we add the Linux extension +foo+ to the list of available -Linux extensions. - -On line 9-11, we define what should be done by the extension to modify -the Linux kernel tree; this is specific to the linux extension and can -use the variables defined by the +foo+ package, like: +$(FOO_DIR)+ or -+$(FOO_VERSION)+... as well as all the Linux variables, like: -+$(LINUX_VERSION)+ or +$(LINUX_VERSION_PROBED)+, +$(KERNEL_ARCH)+... -See the xref:kernel-variables[definition of those kernel variables]. diff --git a/docs.original/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.adoc similarity index 100% rename from docs.original/manual/adding-packages-luarocks.txt rename to docs/manual/adding-packages-luarocks.adoc diff --git a/docs/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.txt deleted file mode 100644 index 70f48fc02c..0000000000 --- a/docs/manual/adding-packages-luarocks.txt +++ /dev/null @@ -1,109 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for LuaRocks-based packages - -[[luarocks-package-tutorial]] - -==== +luarocks-package+ tutorial - -First, let's see how to write a +.mk+ file for a LuaRocks-based package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # lua-foo -04: # -05: ################################################################################ -06: -07: LUA_FOO_VERSION = 1.0.2-1 -08: LUA_FOO_NAME_UPSTREAM = foo -09: LUA_FOO_DEPENDENCIES = bar -10: -11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include -12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib -13: LUA_FOO_LICENSE = luaFoo license -14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING -15: -16: $(eval $(luarocks-package)) ------------------------- - -On line 7, we declare the version of the package (the same as in the rockspec, -which is the concatenation of the upstream version and the rockspec revision, -separated by a hyphen '-'). - -On line 8, we declare that the package is called "foo" on LuaRocks. In -Buildroot, we give Lua-related packages a name that starts with "lua", so the -Buildroot name is different from the upstream name. +LUA_FOO_NAME_UPSTREAM+ -makes the link between the two names. - -On line 9, we declare our dependencies against native libraries, so that they -are built before the build process of our package starts. - -On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is -building the package. - -On lines 13-14, we specify the licensing terms for the package. - -Finally, on line 16, we invoke the +luarocks-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -Most of these details can be retrieved from the +rock+ and +rockspec+. -So, this file and the Config.in file can be generated by running the -command +luarocks buildroot foo lua-foo+ in the Buildroot -directory. This command runs a specific Buildroot addon of +luarocks+ -that will automatically generate a Buildroot package. The result must -still be manually inspected and possibly modified. - -* The +package/Config.in+ file has to be updated manually to include the - generated Config.in files. - -[[luarocks-package-reference]] - -==== +luarocks-package+ reference - -LuaRocks is a deployment and management system for Lua modules, and supports -various +build.type+: +builtin+, +make+ and +cmake+. In the context of -Buildroot, the +luarocks-package+ infrastructure only supports the +builtin+ -mode. LuaRocks packages that use the +make+ or +cmake+ build mechanisms -should instead be packaged using the +generic-package+ and +cmake-package+ -infrastructures in Buildroot, respectively. - -The main macro of the LuaRocks package infrastructure is +luarocks-package+: -like +generic-package+ it works by defining a number of variables providing -metadata information about the package, and then calling +luarocks-package+. - -Just like the generic infrastructure, the LuaRocks infrastructure works -by defining a number of variables before calling the +luarocks-package+ -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the LuaRocks infrastructure: -+LUA_FOO_VERSION+, +LUA_FOO_SOURCE+, +LUA_FOO_SITE+, -+LUA_FOO_DEPENDENCIES+, +LUA_FOO_LICENSE+, +LUA_FOO_LICENSE_FILES+. - -Two of them are populated by the LuaRocks infrastructure (for the -+download+ step). If your package is not hosted on the LuaRocks mirror -+$(BR2_LUAROCKS_MIRROR)+, you can override them: - -* +LUA_FOO_SITE+, which defaults to +$(BR2_LUAROCKS_MIRROR)+ - -* +LUA_FOO_SOURCE+, which defaults to - +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock+ - -A few additional variables, specific to the LuaRocks infrastructure, are -also defined. They can be overridden in specific cases. - -* +LUA_FOO_NAME_UPSTREAM+, which defaults to +lua-foo+, i.e. the Buildroot - package name - -* +LUA_FOO_ROCKSPEC+, which defaults to - +$(lowercase LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec+ - -* +LUA_FOO_SUBDIR+, which defaults to - +$(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+ - -* +LUA_FOO_BUILD_OPTS+ contains additional build options for the - +luarocks build+ call. diff --git a/docs.original/manual/adding-packages-meson.txt b/docs/manual/adding-packages-meson.adoc similarity index 100% rename from docs.original/manual/adding-packages-meson.txt rename to docs/manual/adding-packages-meson.adoc diff --git a/docs/manual/adding-packages-meson.txt b/docs/manual/adding-packages-meson.txt deleted file mode 100644 index 029c8c2488..0000000000 --- a/docs/manual/adding-packages-meson.txt +++ /dev/null @@ -1,133 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Meson-based packages - -[[meson-package-tutorial]] - -==== +meson-package+ tutorial - -http://mesonbuild.com[Meson] is an open source build system meant to be both -extremely fast, and, even more importantly, as user friendly as possible. It -uses https://ninja-build.org[Ninja] as a companion tool to perform the actual -build operations. - -Let's see how to write a +.mk+ file for a Meson-based package, with an example: - ------------------------------- -01: ################################################################################ -02: # -03: # foo -04: # -05: ################################################################################ -06: -07: FOO_VERSION = 1.0 -08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz -09: FOO_SITE = http://www.foosoftware.org/download -10: FOO_LICENSE = GPL-3.0+ -11: FOO_LICENSE_FILES = COPYING -12: FOO_INSTALL_STAGING = YES -13: -14: FOO_DEPENDENCIES = host-pkgconf bar -15: -16: ifeq ($(BR2_PACKAGE_BAZ),y) -17: FOO_CONF_OPTS += -Dbaz=true -18: FOO_DEPENDENCIES += baz -19: else -20: FOO_CONF_OPTS += -Dbaz=false -21: endif -22: -23: $(eval $(meson-package)) --------------------------------- - -The Makefile starts with the definition of the standard variables for package -declaration (lines 7 to 11). - -On line line 23, we invoke the +meson-package+ macro that generates all the -Makefile rules that actually allows the package to be built. - -In the example, +host-pkgconf+ and +bar+ are declared as dependencies in -+FOO_DEPENDENCIES+ at line 14 because the Meson build file of +foo+ uses -`pkg-config` to determine the compilation flags and libraries of package +bar+. - -Note that it is not necessary to add +host-meson+ in the +FOO_DEPENDENCIES+ -variable of a package, since this basic dependency is automatically added as -needed by the Meson package infrastructure. - -If the "baz" package is selected, then support for the "baz" feature in "foo" is -activated by adding +-Dbaz=true+ to +FOO_CONF_OPTS+ at line 17, as specified in -the +meson_options.txt+ file in "foo" source tree. The "baz" package is also -added to +FOO_DEPENDENCIES+. Note that the support for +baz+ is explicitly -disabled at line 20, if the package is not selected. - -To sum it up, to add a new meson-based package, the Makefile example can be -copied verbatim then edited to replace all occurences of +FOO+ with the -uppercase name of the new package and update the values of the standard -variables. - -[[meson-package-reference]] - -==== +meson-package+ reference - -The main macro of the Meson package infrastructure is +meson-package+. It is -similar to the +generic-package+ macro. The ability to have target and host -packages is also available, with the +host-meson-package+ macro. - -Just like the generic infrastructure, the Meson infrastructure works by defining -a number of variables before calling the +meson-package+ macro. - -First, all the package metadata information variables that exist in the generic -infrastructure also exist in the Meson infrastructure: +FOO_VERSION+, -+FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+, -+FOO_INSTALL_STAGING+, +FOO_INSTALL_TARGET+. - -A few additional variables, specific to the Meson infrastructure, can also be -defined. Many of them are only useful in very specific cases, typical packages -will therefore only use a few of them. - -* +FOO_SUBDIR+ may contain the name of a subdirectory inside the - package that contains the main meson.build file. This is useful, - if for example, the main meson.build file is not at the root of - the tree extracted by the tarball. If +HOST_FOO_SUBDIR+ is not - specified, it defaults to +FOO_SUBDIR+. - -* +FOO_CONF_ENV+, to specify additional environment variables to pass to - +meson+ for the configuration step. By default, empty. - -* +FOO_CONF_OPTS+, to specify additional options to pass to +meson+ for the - configuration step. By default, empty. - -* +FOO_CFLAGS+, to specify compiler arguments added to the package specific - +cross-compile.conf+ file +c_args+ property. By default, the value of - +TARGET_CFLAGS+. - -* +FOO_CXXFLAGS+, to specify compiler arguments added to the package specific - +cross-compile.conf+ file +cpp_args+ property. By default, the value of - +TARGET_CXXFLAGS+. - -* +FOO_LDFLAGS+, to specify compiler arguments added to the package specific - +cross-compile.conf+ file +c_link_args+ and +cpp_link_args+ properties. By - default, the value of +TARGET_LDFLAGS+. - -* +FOO_MESON_EXTRA_BINARIES+, to specify a space-separated list of programs - to add to the `[binaries]` section of the meson `cross-compilation.conf` - configuration file. The format is `program-name='/path/to/program'`, with - no space around the +=+ sign, and with the path of the program between - single quotes. By default, empty. Note that Buildroot already sets the - correct values for +c+, +cpp+, +ar+, +strip+, and +pkgconfig+. - -* +FOO_MESON_EXTRA_PROPERTIES+, to specify a space-separated list of - properties to add to the `[properties]` section of the meson - `cross-compilation.conf` configuration file. The format is - `property-name=` with no space around the +=+ sign, and with - single quotes around string values. By default, empty. Note that - Buildroot already sets values for +needs_exe_wrapper+, +c_args+, - +c_link_args+, +cpp_args+, +cpp_link_args+, +sys_root+, and - +pkg_config_libdir+. - -* +FOO_NINJA_ENV+, to specify additional environment variables to pass to - +ninja+, meson companion tool in charge of the build operations. By default, - empty. - -* +FOO_NINJA_OPTS+, to specify a space-separated list of targets to build. By - default, empty, to build the default target(s). diff --git a/docs.original/manual/adding-packages-perl.txt b/docs/manual/adding-packages-perl.adoc similarity index 100% rename from docs.original/manual/adding-packages-perl.txt rename to docs/manual/adding-packages-perl.adoc diff --git a/docs/manual/adding-packages-perl.txt b/docs/manual/adding-packages-perl.txt deleted file mode 100644 index 6ce693fd6e..0000000000 --- a/docs/manual/adding-packages-perl.txt +++ /dev/null @@ -1,129 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Perl/CPAN packages - -[[perl-package-tutorial]] - -==== +perl-package+ tutorial - -First, let's see how to write a +.mk+ file for a Perl/CPAN package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # perl-foo-bar -04: # -05: ################################################################################ -06: -07: PERL_FOO_BAR_VERSION = 0.02 -08: PERL_FOO_BAR_SOURCE = Foo-Bar-$(PERL_FOO_BAR_VERSION).tar.gz -09: PERL_FOO_BAR_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MO/MONGER -10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures -11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ -12: PERL_FOO_BAR_LICENSE_FILES = LICENSE -13: PERL_FOO_BAR_DISTNAME = Foo-Bar -14: -15: $(eval $(perl-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball and the location -of the tarball on a CPAN server. Buildroot will automatically download -the tarball from this location. - -On line 10, we declare our dependencies, so that they are built -before the build process of our package starts. - -On line 11 and 12, we give licensing details about the package (its -license on line 11, and the file containing the license text on line -12). - -On line 13, the name of the distribution as needed by the script -+utils/scancpan+ (in order to regenerate/upgrade these package files). - -Finally, on line 15, we invoke the +perl-package+ macro that -generates all the Makefile rules that actually allow the package to be -built. - -Most of these data can be retrieved from https://metacpan.org/. -So, this file and the Config.in can be generated by running -the script +utils/scancpan Foo-Bar+ in the Buildroot directory -(or in a br2-external tree). -This script creates a Config.in file and foo-bar.mk file for the -requested package, and also recursively for all dependencies specified by -CPAN. You should still manually edit the result. In particular, the -following things should be checked. - -* If the perl module links with a shared library that is provided by - another (non-perl) package, this dependency is not added automatically. - It has to be added manually to +PERL_FOO_BAR_DEPENDENCIES+. -* The +package/Config.in+ file has to be updated manually to include the - generated Config.in files. As a hint, the +scancpan+ script prints out - the required +source "..."+ statements, sorted alphabetically. - -[[perl-package-reference]] - -==== +perl-package+ reference - -As a policy, packages that provide Perl/CPAN modules should all be -named +perl-+ in Buildroot. - -This infrastructure handles various Perl build systems : -+ExtUtils-MakeMaker+ (EUMM), +Module-Build+ (MB) and +Module-Build-Tiny+. -+Build.PL+ is preferred by default when a package provides a +Makefile.PL+ -and a +Build.PL+. - -The main macro of the Perl/CPAN package infrastructure is -+perl-package+. It is similar to the +generic-package+ macro. The ability to -have target and host packages is also available, with the -+host-perl-package+ macro. - -Just like the generic infrastructure, the Perl/CPAN infrastructure -works by defining a number of variables before calling the -+perl-package+ macro. - -First, all the package metadata information variables that exist in the -generic infrastructure also exist in the Perl/CPAN infrastructure: -+PERL_FOO_VERSION+, +PERL_FOO_SOURCE+, -+PERL_FOO_PATCH+, +PERL_FOO_SITE+, -+PERL_FOO_SUBDIR+, +PERL_FOO_DEPENDENCIES+, -+PERL_FOO_INSTALL_TARGET+. - -Note that setting +PERL_FOO_INSTALL_STAGING+ to +YES+ has no effect -unless a +PERL_FOO_INSTALL_STAGING_CMDS+ variable is defined. The perl -infrastructure doesn't define these commands since Perl modules generally -don't need to be installed to the +staging+ directory. - -A few additional variables, specific to the Perl/CPAN 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. - -* +PERL_FOO_PREFER_INSTALLER+/+HOST_PERL_FOO_PREFER_INSTALLER+, - specifies the preferred installation method. Possible values are - +EUMM+ (for +Makefile.PL+ based installation using - +ExtUtils-MakeMaker+) and +MB+ (for +Build.PL+ based installation - using +Module-Build+). This variable is only used when the package - provides both installation methods. - -* +PERL_FOO_CONF_ENV+/+HOST_PERL_FOO_CONF_ENV+, to specify additional - environment variables to pass to the +perl Makefile.PL+ or +perl Build.PL+. - By default, empty. - -* +PERL_FOO_CONF_OPTS+/+HOST_PERL_FOO_CONF_OPTS+, to specify additional - configure options to pass to the +perl Makefile.PL+ or +perl Build.PL+. - By default, empty. - -* +PERL_FOO_BUILD_OPTS+/+HOST_PERL_FOO_BUILD_OPTS+, to specify additional - options to pass to +make pure_all+ or +perl Build build+ in the build step. - By default, empty. - -* +PERL_FOO_INSTALL_TARGET_OPTS+, to specify additional options to - pass to +make pure_install+ or +perl Build install+ in the install step. - By default, empty. - -* +HOST_PERL_FOO_INSTALL_OPTS+, to specify additional options to - pass to +make pure_install+ or +perl Build install+ in the install step. - By default, empty. diff --git a/docs/manual/adding-packages-python.txt b/docs/manual/adding-packages-python.adoc similarity index 76% rename from docs/manual/adding-packages-python.txt rename to docs/manual/adding-packages-python.adoc index 500967f235..67f2f6081d 100644 --- a/docs/manual/adding-packages-python.txt +++ b/docs/manual/adding-packages-python.adoc @@ -4,9 +4,9 @@ === 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 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]] @@ -29,7 +29,7 @@ with an example : 11: PYTHON_FOO_LICENSE_FILES = LICENSE 12: PYTHON_FOO_ENV = SOME_VAR=1 13: PYTHON_FOO_DEPENDENCIES = libmad -14: PYTHON_FOO_SETUP_TYPE = distutils +14: PYTHON_FOO_SETUP_TYPE = setuptools 15: 16: $(eval $(python-package)) ------------------------ @@ -51,8 +51,9 @@ 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+. +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 @@ -91,20 +92,21 @@ Note that: dependencies are automatically added as needed by the Python package infrastructure. - * Similarly, it is not needed to add +host-setuptools+ to + * 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 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+. + 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 @@ -119,41 +121,27 @@ therefore only use a few of them, or none. +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 + 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 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_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 distutils/setuptools packages) - or +support/scripts/pyinstaller.py+ (for flit/pep517 packages) during + 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. 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). + 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 diff --git a/docs.original/manual/adding-packages-qmake.txt b/docs/manual/adding-packages-qmake.adoc similarity index 100% rename from docs.original/manual/adding-packages-qmake.txt rename to docs/manual/adding-packages-qmake.adoc diff --git a/docs/manual/adding-packages-qmake.txt b/docs/manual/adding-packages-qmake.txt deleted file mode 100644 index 699d082aa1..0000000000 --- a/docs/manual/adding-packages-qmake.txt +++ /dev/null @@ -1,85 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for QMake-based packages - -[[qmake-package-tutorial]] - -==== +qmake-package+ tutorial - -First, let's see how to write a +.mk+ file for a QMake-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_CONF_OPTS = QT_CONFIG+=bar QT_CONFIG-=baz -11: LIBFOO_DEPENDENCIES = bar -12: -13: $(eval $(qmake-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 what options to enable for libfoo. - -On line 11, we tell Buildroot the dependencies of libfoo. - -Finally, on line line 13, we invoke the +qmake-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -[[qmake-package-reference]] - -==== +qmake-package+ reference - -The main macro of the QMake package infrastructure is +qmake-package+. -It is similar to the +generic-package+ macro. - -Just like the generic infrastructure, the QMake infrastructure works -by defining a number of variables before calling the +qmake-package+ -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the QMake infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, -+LIBFOO_INSTALL_TARGET+. - -An additional variable, specific to the QMake infrastructure, can -also be defined. - -* +LIBFOO_CONF_ENV+, to specify additional environment variables to - pass to the +qmake+ script for the configuration step. By default, empty. - -* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the - +qmake+ script for the configuration step. By default, empty. - -* +LIBFOO_MAKE_ENV+, to specify additional environment variables to the - +make+ command during the build and install steps. By default, empty. - -* +LIBFOO_MAKE_OPTS+, to specify additional targets to pass to the - +make+ command during the build step. By default, empty. - -* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional targets to pass - to the +make+ command during the staging installation step. By default, - +install+. - -* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional targets to pass - to the +make+ command during the target installation step. By default, - +install+. - -* +LIBFOO_SYNC_QT_HEADERS+, to run syncqt.pl before qmake. Some packages - need this to have a properly populated include directory before - running the build. diff --git a/docs.original/manual/adding-packages-rebar.txt b/docs/manual/adding-packages-rebar.adoc similarity index 100% rename from docs.original/manual/adding-packages-rebar.txt rename to docs/manual/adding-packages-rebar.adoc diff --git a/docs/manual/adding-packages-rebar.txt b/docs/manual/adding-packages-rebar.txt deleted file mode 100644 index d78b3171d8..0000000000 --- a/docs/manual/adding-packages-rebar.txt +++ /dev/null @@ -1,108 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for rebar-based packages - -[[rebar-package-tutorial]] - -==== +rebar-package+ tutorial - -First, let's see how to write a +.mk+ file for a rebar-based package, -with an example : - ------------------------------- -01: ################################################################################ -02: # -03: # erlang-foobar -04: # -05: ################################################################################ -06: -07: ERLANG_FOOBAR_VERSION = 1.0 -08: ERLANG_FOOBAR_SOURCE = erlang-foobar-$(ERLANG_FOOBAR_VERSION).tar.xz -09: ERLANG_FOOBAR_SITE = http://www.foosoftware.org/download -10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb -11: -12: $(eval $(rebar-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 declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line 12, we invoke the +rebar-package+ macro that -generates all the Makefile rules that actually allows the package to -be built. - -[[rebar-package-reference]] - -==== +rebar-package+ reference - -The main macro of the +rebar+ package infrastructure is -+rebar-package+. It is similar to the +generic-package+ macro. The -ability to have host packages is also available, with the -+host-rebar-package+ macro. - -Just like the generic infrastructure, the +rebar+ infrastructure works -by defining a number of variables before calling the +rebar-package+ -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the +rebar+ infrastructure: -+ERLANG_FOOBAR_VERSION+, +ERLANG_FOOBAR_SOURCE+, -+ERLANG_FOOBAR_PATCH+, +ERLANG_FOOBAR_SITE+, -+ERLANG_FOOBAR_SUBDIR+, +ERLANG_FOOBAR_DEPENDENCIES+, -+ERLANG_FOOBAR_INSTALL_STAGING+, +ERLANG_FOOBAR_INSTALL_TARGET+, -+ERLANG_FOOBAR_LICENSE+ and +ERLANG_FOOBAR_LICENSE_FILES+. - -A few additional variables, specific to the +rebar+ 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. - -* +ERLANG_FOOBAR_USE_AUTOCONF+, to specify that the package uses - _autoconf_ at the configuration step. When a package sets this - variable to +YES+, the +autotools+ infrastructure is used. -+ -.Note -You can also use some of the variables from the +autotools+ - infrastructure: +ERLANG_FOOBAR_CONF_ENV+, +ERLANG_FOOBAR_CONF_OPTS+, - +ERLANG_FOOBAR_AUTORECONF+, +ERLANG_FOOBAR_AUTORECONF_ENV+ and - +ERLANG_FOOBAR_AUTORECONF_OPTS+. - -* +ERLANG_FOOBAR_USE_BUNDLED_REBAR+, to specify that the package has - a bundled version of _rebar_ *and* that it shall be used. Valid - values are +YES+ or +NO+ (the default). -+ -.Note -If the package bundles a _rebar_ utility, but can use the generic - one that Buildroot provides, just say +NO+ (i.e., do not specify - this variable). Only set if it is mandatory to use the _rebar_ - utility bundled in this package. - -* +ERLANG_FOOBAR_REBAR_ENV+, to specify additional environment - variables to pass to the _rebar_ utility. - -* +ERLANG_FOOBAR_KEEP_DEPENDENCIES+, to keep the dependencies - described in the rebar.config file. Valid values are +YES+ or +NO+ - (the default). Unless this variable is set to +YES+, the _rebar_ - infrastructure removes such dependencies in a post-patch hook to - ensure rebar does not download nor compile them. - -With the rebar infrastructure, all the steps required to build -and install the packages are already defined, and they generally work -well for most rebar-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 rebar - infrastructure is used, if the package +.mk+ file defines its - own +ERLANG_FOOBAR_BUILD_CMDS+ variable, it will be used instead - of the default rebar one. However, using this method should be - restricted to very specific cases. Do not use it in the general - case. diff --git a/docs.original/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.adoc similarity index 100% rename from docs.original/manual/adding-packages-tips.txt rename to docs/manual/adding-packages-tips.adoc diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.txt deleted file mode 100644 index d8c2eceb10..0000000000 --- a/docs/manual/adding-packages-tips.txt +++ /dev/null @@ -1,242 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Tips and tricks - -[[package-name-variable-relation]] -==== Package name, config entry name and makefile variable relationship - -In Buildroot, there is some relationship between: - -* the _package name_, which is the package directory name (and the - name of the +*.mk+ file); - -* the config entry name that is declared in the +Config.in+ file; - -* the makefile variable prefix. - -It is mandatory to maintain consistency between these elements, -using the following rules: - -* the package directory and the +*.mk+ name are the _package name_ - itself (e.g.: +package/foo-bar_boo/foo-bar_boo.mk+); - -* the _make_ target name is the _package name_ itself (e.g.: - +foo-bar_boo+); - -* the config entry is the upper case _package name_ with `.` and `-` - characters substituted with `_`, prefixed with +BR2_PACKAGE_+ (e.g.: - +BR2_PACKAGE_FOO_BAR_BOO+); - -* the +*.mk+ file variable prefix is the upper case _package name_ - with `.` and `-` characters substituted with `_` (e.g.: - +FOO_BAR_BOO_VERSION+). - -[[check-package]] -==== How to check the coding style - -Buildroot provides a script in +utils/check-package+ that checks new or -changed files for coding style. It is not a complete language validator, -but it catches many common mistakes. It is meant to run in the actual -files you created or modified, before creating the patch for submission. - -This script can be used for packages, filesystem makefiles, Config.in -files, etc. It does not check the files defining the package -infrastructures and some other files containing similar common code. - -To use it, run the +check-package+ script, by telling which files you -created or changed: - ----- -$ ./utils/check-package package/new-package/* ----- - -If you have the +utils+ directory in your path you can also run: - ----- -$ cd package/new-package/ -$ check-package * ----- - -The tool can also be used for packages in a br2-external: - ----- -$ check-package -b /path/to/br2-ext-tree/package/my-package/* ----- - -[[testing-package]] -==== How to test your package - -Once you have added your new package, it is important that you test it -under various conditions: does it build for all architectures? Does it -build with the different C libraries? Does it need threads, NPTL? And -so on... - -Buildroot runs http://autobuild.buildroot.org/[autobuilders] which -continuously test random configurations. However, these only build the -`master` branch of the git tree, and your new fancy package is not yet -there. - -Buildroot provides a script in +utils/test-pkg+ that uses the same base -configurations as used by the autobuilders so you can test your package -in the same conditions. - -First, create a config snippet that contains all the necessary options -needed to enable your package, but without any architecture or toolchain -option. For example, let's create a config snippet that just enables -+libcurl+, without any TLS backend: - ----- -$ cat libcurl.config -BR2_PACKAGE_LIBCURL=y ----- - -If your package needs more configuration options, you can add them to the -config snippet. For example, here's how you would test +libcurl+ with -+openssl+ as a TLS backend and the +curl+ program: - ----- -$ cat libcurl.config -BR2_PACKAGE_LIBCURL=y -BR2_PACKAGE_LIBCURL_CURL=y -BR2_PACKAGE_OPENSSL=y ----- - -Then run the +test-pkg+ script, by telling it what config snippet to use -and what package to test: - ----- -$ ./utils/test-pkg -c libcurl.config -p libcurl ----- - -By default, +test-pkg+ will build your package against a subset of the -toolchains used by the autobuilders, which has been selected by the -Buildroot developers as being the most useful and representative -subset. If you want to test all toolchains, pass the +-a+ option. Note -that in any case, internal toolchains are excluded as they take too -long to build. - -The output lists all toolchains that are tested and the corresponding -result (excerpt, results are fake): - ----- -$ ./utils/test-pkg -c libcurl.config -p libcurl - armv5-ctng-linux-gnueabi [ 1/11]: OK - armv7-ctng-linux-gnueabihf [ 2/11]: OK - br-aarch64-glibc [ 3/11]: SKIPPED - br-arcle-hs38 [ 4/11]: SKIPPED - br-arm-basic [ 5/11]: FAILED - br-arm-cortex-a9-glibc [ 6/11]: OK - br-arm-cortex-a9-musl [ 7/11]: FAILED - br-arm-cortex-m4-full [ 8/11]: OK - br-arm-full [ 9/11]: OK - br-arm-full-nothread [10/11]: FAILED - br-arm-full-static [11/11]: OK -11 builds, 2 skipped, 2 build failed, 1 legal-info failed ----- - -The results mean: - -* `OK`: the build was successful. -* `SKIPPED`: one or more configuration options listed in the config - snippet were not present in the final configuration. This is due to - options having dependencies not satisfied by the toolchain, such as - for example a package that +depends on BR2_USE_MMU+ with a noMMU - toolchain. The missing options are reported in +missing.config+ in - the output build directory (+~/br-test-pkg/TOOLCHAIN_NAME/+ by - default). -* `FAILED`: the build failed. Inspect the +logfile+ file in the output - build directory to see what went wrong: -** the actual build failed, -** the legal-info failed, -** one of the preliminary steps (downloading the config file, applying - the configuration, running `dirclean` for the package) failed. - -When there are failures, you can just re-run the script with the same -options (after you fixed your package); the script will attempt to -re-build the package specified with +-p+ for all toolchains, without -the need to re-build all the dependencies of that package. - -The +test-pkg+ script accepts a few options, for which you can get some -help by running: - ----- -$ ./utils/test-pkg -h ----- - -[[github-download-url]] -==== How to add a package from GitHub - -Packages on GitHub often don't have a download area with release tarballs. -However, it is possible to download tarballs directly from the repository -on GitHub. As GitHub is known to have changed download mechanisms in the -past, the 'github' helper function should be used as shown below. - ------------------------- -# Use a tag or a full commit ID -FOO_VERSION = 1.0 -FOO_SITE = $(call github,,,v$(FOO_VERSION)) ------------------------- - -.Notes -- The FOO_VERSION can either be a tag or a commit ID. -- The tarball name generated by github matches the default one from - Buildroot (e.g.: +foo-f6fb6654af62045239caed5950bc6c7971965e60.tar.gz+), - so it is not necessary to specify it in the +.mk+ file. -- When using a commit ID as version, you should use the full 40 hex characters. -- When the tag contains a prefix such as +v+ in +v1.0+, then the - +VERSION+ variable should contain just +1.0+, and the +v+ should be - added directly in the +SITE+ variable, as illustrated above. This - ensures that the +VERSION+ variable value can be used to match - against http://www.release-monitoring.org/[release-monitoring.org] - results. - -If the package you wish to add does have a release section on GitHub, the -maintainer may have uploaded a release tarball, or the release may just point -to the automatically generated tarball from the git tag. If there is a -release tarball uploaded by the maintainer, we prefer to use that since it -may be slightly different (e.g. it contains a configure script so we don't -need to do AUTORECONF). - -You can see on the release page if it's an uploaded tarball or a git tag: - -image::github_hash_mongrel2.png[] - -- If it looks like the image above then it was uploaded by the - maintainer and you should use that link (in that example: - 'mongrel2-v1.9.2.tar.bz2') to specify +FOO_SITE+, and not use the - 'github' helper. - -- On the other hand, if there's is *only* the "Source code" link, then - it's an automatically generated tarball and you should use the - 'github' helper function. - -[[gitlab-download-url]] -==== How to add a package from Gitlab - -In a similar way to the +github+ macro described in -xref:github-download-url[], Buildroot also provides the +gitlab+ macro -to download from Gitlab repositories. It can be used to download -auto-generated tarballs produced by Gitlab, either for specific tags -or commits: - ------------------------- -# Use a tag or a full commit ID -FOO_VERSION = 1.0 -FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) ------------------------- - -By default, it will use a +.tar.gz+ tarball, but Gitlab also provides -+.tar.bz2+ tarballs, so by adding a +_SOURCE+ variable, this -+.tar.bz2+ tarball can be used: - ------------------------- -# Use a tag or a full commit ID -FOO_VERSION = 1.0 -FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) -FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2 ------------------------- - -If there is a specific tarball uploaded by the upstream developers in -+https://gitlab.com//releases/+, do not use this macro, but -rather use directly the link to the tarball. 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.original/manual/adding-packages-waf.txt b/docs/manual/adding-packages-waf.adoc similarity index 100% rename from docs.original/manual/adding-packages-waf.txt rename to docs/manual/adding-packages-waf.adoc diff --git a/docs/manual/adding-packages-waf.txt b/docs/manual/adding-packages-waf.txt deleted file mode 100644 index 101cddf1f1..0000000000 --- a/docs/manual/adding-packages-waf.txt +++ /dev/null @@ -1,91 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Waf-based packages - -[[waf-package-tutorial]] - -==== +waf-package+ tutorial - -First, let's see how to write a +.mk+ file for a Waf-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_CONF_OPTS = --enable-bar --disable-baz -11: LIBFOO_DEPENDENCIES = bar -12: -13: $(eval $(waf-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 what options to enable for libfoo. - -On line 11, we tell Buildroot the dependencies of libfoo. - -Finally, on line line 13, we invoke the +waf-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -[[waf-package-reference]] - -==== +waf-package+ reference - -The main macro of the Waf package infrastructure is +waf-package+. -It is similar to the +generic-package+ macro. - -Just like the generic infrastructure, the Waf infrastructure works -by defining a number of variables before calling the +waf-package+ -macro. - -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Waf infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, -+LIBFOO_INSTALL_TARGET+. - -An additional variable, specific to the Waf infrastructure, can -also be defined. - -* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the - package that contains the main wscript file. This is useful, - if for example, the main wscript 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_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell - Buildroot to use the bundled +waf+ executable. If set to +NO+, the - default, then Buildroot will use the waf executable provided in the - package source tree; if set to +YES+, then Buildroot will download, - install waf as a host tool and use it to build the package. - -* +LIBFOO_WAF_OPTS+, to specify additional options to pass to the - +waf+ script at every step of the package build process: configure, - build and installation. By default, empty. - -* +LIBFOO_CONF_OPTS+, to specify additional options to pass to the - +waf+ script for the configuration step. By default, empty. - -* +LIBFOO_BUILD_OPTS+, to specify additional options to pass to the - +waf+ script during the build step. By default, empty. - -* +LIBFOO_INSTALL_STAGING_OPTS+, to specify additional options to pass - to the +waf+ script during the staging installation step. By default, - empty. - -* +LIBFOO_INSTALL_TARGET_OPTS+, to specify additional options to pass - to the +waf+ script during the target installation step. By default, - empty. diff --git a/docs/manual/adding-packages.adoc b/docs/manual/adding-packages.adoc new file mode 100644 index 0000000000..10acae0b1a --- /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 814355cd76..0000000000 --- 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/adding_packages.txt b/docs/manual/adding_packages.txt deleted file mode 100644 index 8d1c8b69c3..0000000000 --- a/docs/manual/adding_packages.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/manual/advanced.adoc b/docs/manual/advanced.adoc new file mode 100644 index 0000000000..7f650e6689 --- /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 b7bfc4923d..0000000000 --- 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 0000000000..4eece71672 --- /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 86afa4bdaa..0000000000 --- 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/appendix_txt b/docs/manual/appendix_txt deleted file mode 100644 index 8d1c8b69c3..0000000000 --- a/docs/manual/appendix_txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs.original/manual/beyond-buildroot.txt b/docs/manual/beyond-buildroot.adoc similarity index 100% rename from docs.original/manual/beyond-buildroot.txt rename to docs/manual/beyond-buildroot.adoc diff --git a/docs/manual/beyond-buildroot.txt b/docs/manual/beyond-buildroot.txt deleted file mode 100644 index eefea1fecf..0000000000 --- a/docs/manual/beyond-buildroot.txt +++ /dev/null @@ -1,66 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Beyond Buildroot - -=== Boot the generated images - -==== NFS boot - -To achieve NFS-boot, enable _tar root filesystem_ in the _Filesystem -images_ menu. - -After a complete build, just run the following commands to setup the -NFS-root directory: - -------------------- -sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir -------------------- - -Remember to add this path to +/etc/exports+. - -Then, you can execute a NFS-boot from your target. - -==== Live CD - -To build a live CD image, enable the _iso image_ option in the -_Filesystem images_ menu. Note that this option is only available on -the x86 and x86-64 architectures, and if you are building your kernel -with Buildroot. - -You can build a live CD image with either IsoLinux, Grub or Grub 2 as -a bootloader, but only Isolinux supports making this image usable both -as a live CD and live USB (through the _Build hybrid image_ option). - -You can test your live CD image using QEMU: - -------------------- -qemu-system-i386 -cdrom output/images/rootfs.iso9660 -------------------- - -Or use it as a hard-drive image if it is a hybrid ISO: - -------------------- -qemu-system-i386 -hda output/images/rootfs.iso9660 -------------------- - -It can be easily flashed to a USB drive with +dd+: - -------------------- -dd if=output/images/rootfs.iso9660 of=/dev/sdb -------------------- - -=== Chroot - -If you want to chroot in a generated image, then there are few thing -you should be aware of: - -* you should setup the new root from the _tar root filesystem_ image; - -* either the selected target architecture is compatible with your host - machine, or you should use some +qemu-*+ binary and correctly set it - within the +binfmt+ properties to be able to run the binaries built - for the target on your host machine; - -* Buildroot does not currently provide +host-qemu+ and +binfmt+ - correctly built and set for that kind of use. diff --git a/docs/manual/build_procedure.txt b/docs/manual/build_procedure.txt deleted file mode 100644 index 8d1c8b69c3..0000000000 --- a/docs/manual/build_procedure.txt +++ /dev/null @@ -1 +0,0 @@ - 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.txt b/docs/manual/common-usage.adoc similarity index 99% rename from docs/manual/common-usage.txt rename to docs/manual/common-usage.adoc index bc78f4a871..e0ab1a9f66 100644 --- a/docs/manual/common-usage.txt +++ b/docs/manual/common-usage.adoc @@ -3,9 +3,9 @@ == General Buildroot usage -include::make-tips.txt[] +include::make-tips.adoc[] -include::rebuilding-packages.txt[] +include::rebuilding-packages.adoc[] === Offline builds @@ -417,4 +417,4 @@ effects: be empty and it's only at the very end of the build that they will be populated. -include::advanced.txt[] +include::advanced.adoc[] diff --git a/docs.original/manual/configure-other-components.txt b/docs/manual/configure-other-components.adoc similarity index 100% rename from docs.original/manual/configure-other-components.txt rename to docs/manual/configure-other-components.adoc diff --git a/docs/manual/configure-other-components.txt b/docs/manual/configure-other-components.txt deleted file mode 100644 index 60a80f0a48..0000000000 --- a/docs/manual/configure-other-components.txt +++ /dev/null @@ -1,60 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Configuration of other components - -Before attempting to modify any of the components below, make sure you -have already configured Buildroot itself, and have enabled the -corresponding package. - -BusyBox:: -+ -If you already have a BusyBox configuration file, you can directly -specify this file in the Buildroot configuration, using -+BR2_PACKAGE_BUSYBOX_CONFIG+. Otherwise, Buildroot will start from a -default BusyBox configuration file. -+ -To make subsequent changes to the configuration, use +make -busybox-menuconfig+ to open the BusyBox configuration editor. -+ -It is also possible to specify a BusyBox configuration file through an -environment variable, although this is not recommended. Refer to -xref:env-vars[] for more details. - -uClibc:: -+ -Configuration of uClibc is done in the same way as for BusyBox. The -configuration variable to specify an existing configuration file is -+BR2_UCLIBC_CONFIG+. The command to make subsequent changes is +make -uclibc-menuconfig+. - -Linux kernel:: -+ -If you already have a kernel configuration file, you can directly -specify this file in the Buildroot configuration, using -+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG+. -+ -If you do not yet have a kernel configuration file, you can either start -by specifying a defconfig in the Buildroot configuration, using -+BR2_LINUX_KERNEL_USE_DEFCONFIG+, or start by creating an empty file and -specifying it as custom configuration file, using -+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG+. -+ -To make subsequent changes to the configuration, use +make -linux-menuconfig+ to open the Linux configuration editor. - -Barebox:: -+ -Configuration of Barebox is done in the same way as for the Linux -kernel. The corresponding configuration variables are -+BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG+ and -+BR2_TARGET_BAREBOX_USE_DEFCONFIG+. To open the configuration editor, -use +make barebox-menuconfig+. - -U-Boot:: -+ -Configuration of U-Boot (version 2015.04 or newer) is done in the same -way as for the Linux kernel. The corresponding configuration variables -are +BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG+ and -+BR2_TARGET_UBOOT_USE_DEFCONFIG+. To open the configuration editor, -use +make uboot-menuconfig+. 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.txt b/docs/manual/contribute.adoc similarity index 97% rename from docs/manual/contribute.txt rename to docs/manual/contribute.adoc index 15fe36aef0..6ff6c15314 100644 --- a/docs/manual/contribute.txt +++ b/docs/manual/contribute.adoc @@ -259,7 +259,7 @@ separated from it by a plus `+` sign. E.g.: + `Your-Name Your-Surname ` -* for an individual who sponsored who sponsored the submitted work, use +* for an individual who sponsored the submitted work, use their name and surname: + `Your-Name Your-Surname ` @@ -369,12 +369,21 @@ $ 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. +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 diff --git a/docs/manual/contributing_to_the_shredos_manual.txt b/docs/manual/contributing_to_the_shredos_manual.txt deleted file mode 100644 index 8d1c8b69c3..0000000000 --- a/docs/manual/contributing_to_the_shredos_manual.txt +++ /dev/null @@ -1 +0,0 @@ - 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.original/manual/customize-device-permission-tables.txt b/docs/manual/customize-device-permission-tables.adoc similarity index 100% rename from docs.original/manual/customize-device-permission-tables.txt rename to docs/manual/customize-device-permission-tables.adoc diff --git a/docs/manual/customize-device-permission-tables.txt b/docs/manual/customize-device-permission-tables.txt deleted file mode 100644 index 02dd8ad982..0000000000 --- a/docs/manual/customize-device-permission-tables.txt +++ /dev/null @@ -1,30 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize-device-permission]] -==== Setting file permissions and ownership and adding custom devices nodes - -Sometimes it is needed to set specific permissions or ownership on files -or device nodes. For example, certain files may need to be owned by -root. Since the post-build scripts are not run as root, you cannot do -such changes from there unless you use an explicit fakeroot from the -post-build script. - -Instead, Buildroot provides support for so-called _permission tables_. -To use this feature, set config option +BR2_ROOTFS_DEVICE_TABLE+ to a -space-separated list of permission tables, regular text files following -the xref:makedev-syntax[makedev syntax]. - -If you are using a static device table (i.e. not using +devtmpfs+, -+mdev+, or +(e)udev+) then you can add device nodes using the same -syntax, in so-called _device tables_. To use this feature, set config -option +BR2_ROOTFS_STATIC_DEVICE_TABLE+ to a space-separated list of -device tables. - -As shown in xref:customize-dir-structure[], the recommended location for -such files is +board///+. - -It should be noted that if the specific permissions or device nodes are -related to a specific application, you should set variables -+FOO_PERMISSIONS+ and +FOO_DEVICES+ in the package's +.mk+ file instead -(see xref:generic-package-reference[]). 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.original/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.adoc similarity index 100% rename from docs.original/manual/customize-outside-br.txt rename to docs/manual/customize-outside-br.adoc diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt deleted file mode 100644 index 348f2b089c..0000000000 --- a/docs/manual/customize-outside-br.txt +++ /dev/null @@ -1,446 +0,0 @@ -// -*- mode:doc -*- ; -// vim: set syntax=asciidoc: - -[[outside-br-custom]] -=== Keeping customizations outside of Buildroot - -As already briefly mentioned in xref:customize-dir-structure[], you can -place project-specific customizations in two locations: - - * directly within the Buildroot tree, typically maintaining them using - branches in a version control system so that upgrading to a newer - Buildroot release is easy. - - * outside of the Buildroot tree, using the _br2-external_ mechanism. - This mechanism allows to keep package recipes, board support and - configuration files outside of the Buildroot tree, while still - having them nicely integrated in the build logic. We call this - location a _br2-external tree_. This section explains how to use - the br2-external mechanism and what to provide in a br2-external - tree. - -One can tell Buildroot to use one or more br2-external trees by setting -the +BR2_EXTERNAL+ make variable set to the path(s) of the br2-external -tree(s) to use. It can be passed to any Buildroot +make+ invocation. It -is automatically saved in the hidden +.br2-external.mk+ file in the output -directory. Thanks to this, there is no need to pass +BR2_EXTERNAL+ at -every +make+ invocation. It can however be changed at any time by -passing a new value, and can be removed by passing an empty value. - -.Note -The path to a br2-external tree can be either absolute or relative. -If it is passed as a relative path, it is important to note that it is -interpreted relative to the main Buildroot source directory, *not* to -the Buildroot output directory. - -.Note: -If using an br2-external tree from before Buildroot 2016.11, you need to -convert it before you can use it with Buildroot 2016.11 onward. See -xref:br2-external-converting[] for help on doing so. - -Some examples: - ------ -buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig ------ - -From now on, definitions from the +/path/to/foo+ br2-external tree -will be used: - ------ -buildroot/ $ make -buildroot/ $ make legal-info ------ - -We can switch to another br2-external tree at any time: - ------ -buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig ------ - -We can also use multiple br2-external trees: - ----- -buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig ----- - -Or disable the usage of any br2-external tree: - ------ -buildroot/ $ make BR2_EXTERNAL= xconfig ------ - -==== Layout of a br2-external tree - -A br2-external tree must contain at least those three files, described -in the following chapters: - - * +external.desc+ - * +external.mk+ - * +Config.in+ - -Apart from those mandatory files, there may be additional and optional -content that may be present in a br2-external tree, like the +configs/+ -or +provides/+ directories. They are described in the following chapters -as well. - -A complete example br2-external tree layout is also described later. - -===== The +external.desc+ file - -That file describes the br2-external tree: the _name_ and _description_ -for that br2-external tree. - -The format for this file is line based, with each line starting by a -keyword, followed by a colon and one or more spaces, followed by the -value assigned to that keyword. There are two keywords currently -recognised: - - * +name+, mandatory, defines the name for that br2-external tree. That - name must only use ASCII characters in the set +[A-Za-z0-9_]+; any - other character is forbidden. Buildroot sets the variable - +BR2_EXTERNAL_$(NAME)_PATH+ to the absolute path of the br2-external - tree, so that you can use it to refer to your br2-external tree. This - variable is available both in Kconfig, so you can use it to source your - Kconfig files (see below) and in the Makefile, so that you can use it - to include other Makefiles (see below) or refer to other files (like - data files) from your br2-external tree. -+ -.Note: -Since it is possible to use multiple br2-external trees at once, this - name is used by Buildroot to generate variables for each of those trees. - That name is used to identify your br2-external tree, so try to come up - with a name that really describes your br2-external tree, in order for - it to be relatively unique, so that it does not clash with another name - from another br2-external tree, especially if you are planning on - somehow sharing your br2-external tree with third parties or using - br2-external trees from third parties. - - * +desc+, optional, provides a short description for that br2-external - tree. It shall fit on a single line, is mostly free-form (see below), - and is used when displaying information about a br2-external tree (e.g. - above the list of defconfig files, or as the prompt in the menuconfig); - as such, it should relatively brief (40 chars is probably a good upper - limit). The description is available in the +BR2_EXTERNAL_$(NAME)_DESC+ - variable. - -Examples of names and the corresponding +BR2_EXTERNAL_$(NAME)_PATH+ -variables: - - * +FOO+ -> +BR2_EXTERNAL_FOO_PATH+ - * +BAR_42+ -> +BR2_EXTERNAL_BAR_42_PATH+ - -In the following examples, it is assumed the name to be set to +BAR_42+. - -.Note: -Both +BR2_EXTERNAL_$(NAME)_PATH+ and `BR2_EXTERNAL_$(NAME)_DESC` are - available in the Kconfig files and the Makefiles. They are also - exported in the environment so are available in post-build, post-image - and in-fakeroot scripts. - -===== The +Config.in+ and +external.mk+ files - -Those files (which may each be empty) can be used to define package -recipes (i.e. +foo/Config.in+ and +foo/foo.mk+ like for packages bundled -in Buildroot itself) or other custom configuration options or make logic. - -Buildroot automatically includes the +Config.in+ from each br2-external -tree to make it appear in the top-level configuration menu, and includes -the +external.mk+ from each br2-external tree with the rest of the -makefile logic. - -The main usage of this is to store package recipes. The recommended way -to do this is to write a +Config.in+ file that looks like: - ------- -source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" -source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" ------- - -Then, have an +external.mk+ file that looks like: - ------- -include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) ------- - -And then in +$(BR2_EXTERNAL_BAR_42_PATH)/package/package1+ and -+$(BR2_EXTERNAL_BAR_42_PATH)/package/package2+ create normal -Buildroot package recipes, as explained in xref:adding-packages[]. -If you prefer, you can also group the packages in subdirectories -called and adapt the above paths accordingly. - -You can also define custom configuration options in +Config.in+ and -custom make logic in +external.mk+. - -===== The +configs/+ directory - -One can store Buildroot defconfigs in the +configs+ subdirectory of -the br2-external tree. Buildroot will automatically show them in the -output of +make list-defconfigs+ and allow them to be loaded with the -normal +make _defconfig+ command. They will be visible in the -'make list-defconfigs' output, below an +External configs+ label that -contains the name of the br2-external tree they are defined in. - -.Note: -If a defconfig file is present in more than one br2-external tree, then -the one from the last br2-external tree is used. It is thus possible -to override a defconfig bundled in Buildroot or another br2-external -tree. - -===== The +provides/+ directory - -For some packages, Buildroot provides a choice between two (or more) -implementations of API-compatible such packages. For example, there is -a choice to choose either libjpeg ot jpeg-turbo; there is one between -openssl or libressl; there is one to select one of the known, -pre-configured toolchains... - -It is possible for a br2-external to extend those choices, by providing -a set of files that define those alternatives: - -* +provides/toolchains.in+ defines the pre-configured toolchains, which - will then be listed in the toolchain selection; -* +provides/jpeg.in+ defines the alternative libjpeg implementations; -* +provides/openssl.in+ defines the alternative openssl implementations; -* +provides/skeleton.in+ defines the alternative skeleton implementations; -* +provides/init.in+ defines the alternative init system implementations, this - can be used to select a default skeleton for your init. - -===== Free-form content - -One can store all the board-specific configuration files there, such -as the kernel configuration, the root filesystem overlay, or any other -configuration file for which Buildroot allows to set the location (by -using the +BR2_EXTERNAL_$(NAME)_PATH+ variable). For example, you -could set the paths to a global patch directory, to a rootfs overlay -and to the kernel configuration file as follows (e.g. by running -`make menuconfig` and filling in these options): - ----- -BR2_GLOBAL_PATCH_DIR=$(BR2_EXTERNAL_BAR_42_PATH)/patches/ -BR2_ROOTFS_OVERLAY=$(BR2_EXTERNAL_BAR_42_PATH)/board//overlay/ -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=$(BR2_EXTERNAL_BAR_42_PATH)/board//kernel.config ----- - -===== Additional Linux kernel extensions - -Additional Linux kernel extensions (see xref:linux-kernel-ext[]) can -be added by storing them in the `linux/` directory at the root of a -br2-external tree. - -===== Example layout - -Here is an example layout using all features of br2-external (the sample -content is shown for the file above it, when it is relevant to explain -the br2-external tree; this is all entirely made up just for the sake of -illustration, of course): - ----- -/path/to/br2-ext-tree/ - |- external.desc - | |name: BAR_42 - | |desc: Example br2-external tree - | `---- - | - |- Config.in - | |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options" - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" - | |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in" - | | - | |config BAR_42_FLASH_ADDR - | | hex "my-board flash address" - | | default 0x10AD - | `---- - | - |- external.mk - | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) - | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/toolchain/*/*.mk)) - | | - | |flash-my-board: - | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ - | | --image $(BINARIES_DIR)/image.bin \ - | | --address $(BAR_42_FLASH_ADDR) - | `---- - | - |- package/pkg-1/Config.in - | |config BR2_PACKAGE_PKG_1 - | | bool "pkg-1" - | | help - | | Some help about pkg-1 - | `---- - |- package/pkg-1/pkg-1.hash - |- package/pkg-1/pkg-1.mk - | |PKG_1_VERSION = 1.2.3 - | |PKG_1_SITE = /some/where/to/get/pkg-1 - | |PKG_1_LICENSE = blabla - | | - | |define PKG_1_INSTALL_INIT_SYSV - | | $(INSTALL) -D -m 0755 $(PKG_1_PKGDIR)/S99my-daemon \ - | | $(TARGET_DIR)/etc/init.d/S99my-daemon - | |endef - | | - | |$(eval $(autotools-package)) - | `---- - |- package/pkg-1/S99my-daemon - | - |- package/pkg-2/Config.in - |- package/pkg-2/pkg-2.hash - |- package/pkg-2/pkg-2.mk - | - |- provides/jpeg.in - | |config BR2_PACKAGE_MY_JPEG - | | bool "my-jpeg" - | `---- - |- package/my-jpeg/Config.in - | |config BR2_PACKAGE_PROVIDES_JPEG - | | default "my-jpeg" if BR2_PACKAGE_MY_JPEG - | `---- - |- package/my-jpeg/my-jpeg.mk - | |# This is a normal package .mk file - | |MY_JPEG_VERSION = 1.2.3 - | |MY_JPEG_SITE = https://example.net/some/place - | |MY_JPEG_PROVIDES = jpeg - | |$(eval $(autotools-package)) - | `---- - | - |- provides/init.in - | |config BR2_INIT_MINE - | | bool "my custom init" - | | select BR2_PACKAGE_MY_INIT - | | select BR2_PACKAGE_SKELETON_INIT_MINE if BR2_ROOTFS_SKELETON_DEFAULT - | `---- - | - |- provides/skeleton.in - | |config BR2_ROOTFS_SKELETON_MINE - | | bool "my custom skeleton" - | | select BR2_PACKAGE_SKELETON_MINE - | `---- - |- package/skeleton-mine/Config.in - | |config BR2_PACKAGE_SKELETON_MINE - | | bool - | | select BR2_PACKAGE_HAS_SKELETON - | | - | |config BR2_PACKAGE_PROVIDES_SKELETON - | | default "skeleton-mine" if BR2_PACKAGE_SKELETON_MINE - | `---- - |- package/skeleton-mine/skeleton-mine.mk - | |SKELETON_MINE_ADD_TOOLCHAIN_DEPENDENCY = NO - | |SKELETON_MINE_ADD_SKELETON_DEPENDENCY = NO - | |SKELETON_MINE_PROVIDES = skeleton - | |SKELETON_MINE_INSTALL_STAGING = YES - | |$(eval $(generic-package)) - | `---- - | - |- provides/toolchains.in - | |config BR2_TOOLCHAIN_EXTERNAL_MINE - | | bool "my custom toolchain" - | | depends on BR2_some_arch - | | select BR2_INSTALL_LIBSTDCPP - | `---- - |- toolchain/toolchain-external-mine/Config.in.options - | |if BR2_TOOLCHAIN_EXTERNAL_MINE - | |config BR2_TOOLCHAIN_EXTERNAL_PREFIX - | | default "arch-mine-linux-gnu" - | |config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - | | default "toolchain-external-mine" - | |endif - | `---- - |- toolchain/toolchain-external-mine/toolchain-external-mine.mk - | |TOOLCHAIN_EXTERNAL_MINE_SITE = https://example.net/some/place - | |TOOLCHAIN_EXTERNAL_MINE_SOURCE = my-toolchain.tar.gz - | |$(eval $(toolchain-external-package)) - | `---- - | - |- linux/Config.ext.in - | |config BR2_LINUX_KERNEL_EXT_EXAMPLE_DRIVER - | | bool "example-external-driver" - | | help - | | Example external driver - | |--- - |- linux/linux-ext-example-driver.mk - | - |- configs/my-board_defconfig - | |BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BAR_42_PATH)/patches/" - | |BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/overlay/" - | |BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/post-image.sh" - | |BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/kernel.config" - | `---- - | - |- patches/linux/0001-some-change.patch - |- patches/linux/0002-some-other-change.patch - |- patches/busybox/0001-fix-something.patch - | - |- board/my-board/kernel.config - |- board/my-board/overlay/var/www/index.html - |- board/my-board/overlay/var/www/my.css - |- board/my-board/flash-image - `- board/my-board/post-image.sh - |#!/bin/sh - |generate-my-binary-image \ - | --root ${BINARIES_DIR}/rootfs.tar \ - | --kernel ${BINARIES_DIR}/zImage \ - | --dtb ${BINARIES_DIR}/my-board.dtb \ - | --output ${BINARIES_DIR}/image.bin - `---- ----- - -The br2-external tree will then be visible in the menuconfig (with -the layout expanded): - ----- -External options ---> - *** Example br2-external tree (in /path/to/br2-ext-tree/) - [ ] pkg-1 - [ ] pkg-2 - (0x10AD) my-board flash address ----- - -If you are using more than one br2-external tree, it would look like -(with the layout expanded and the second one with name +FOO_27+ but no -+desc:+ field in +external.desc+): - ----- -External options ---> - Example br2-external tree ---> - *** Example br2-external tree (in /path/to/br2-ext-tree) - [ ] pkg-1 - [ ] pkg-2 - (0x10AD) my-board flash address - FOO_27 ---> - *** FOO_27 (in /path/to/another-br2-ext) - [ ] foo - [ ] bar ----- - -Additionally, the jpeg provider will be visible in the jpeg choice: - ----- -Target packages ---> - Libraries ---> - Graphics ---> - [*] jpeg support - jpeg variant () ---> - ( ) jpeg - ( ) jpeg-turbo - *** jpeg from: Example br2-external tree *** - (X) my-jpeg - *** jpeg from: FOO_27 *** - ( ) another-jpeg ----- - -And similarly for the toolchains: - ----- -Toolchain ---> - Toolchain () ---> - ( ) Custom toolchain - *** Toolchains from: Example br2-external tree *** - (X) my custom toolchain ----- - -.Note -The toolchain options in +toolchain/toolchain-external-mine/Config.in.options+ -will not appear in the `Toolchain` menu. They must be explicitly included -from within the br2-external's top-level +Config.in+ and will thus appear -in the `External options` menu. diff --git a/docs.original/manual/customize-packages.txt b/docs/manual/customize-packages.adoc similarity index 100% rename from docs.original/manual/customize-packages.txt rename to docs/manual/customize-packages.adoc diff --git a/docs/manual/customize-packages.txt b/docs/manual/customize-packages.txt deleted file mode 100644 index b57280ea10..0000000000 --- a/docs/manual/customize-packages.txt +++ /dev/null @@ -1,56 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize-packages]] -=== Adding project-specific packages - -In general, any new package should be added directly in the +package+ -directory and submitted to the Buildroot upstream project. How to add -packages to Buildroot in general is explained in full detail in -xref:adding-packages[] and will not be repeated here. However, your -project may need some proprietary packages that cannot be upstreamed. -This section will explain how you can keep such project-specific -packages in a project-specific directory. - -As shown in xref:customize-dir-structure[], the recommended location for -project-specific packages is +package//+. If you are using the -br2-external tree feature (see xref:outside-br-custom[]) the recommended -location is to put them in a sub-directory named +package/+ in your -br2-external tree. - -However, Buildroot will not be aware of the packages in this location, -unless we perform some additional steps. As explained in -xref:adding-packages[], a package in Buildroot basically consists of two -files: a +.mk+ file (describing how to build the package) and a -+Config.in+ file (describing the configuration options for this -package). - -Buildroot will automatically include the +.mk+ files in first-level -subdirectories of the +package+ directory (using the pattern -+package/\*/*.mk+). If we want Buildroot to include +.mk+ files from -deeper subdirectories (like +package//package1/+) then we -simply have to add a +.mk+ file in a first-level subdirectory that -includes these additional +.mk+ files. Therefore, create a file -+package//.mk+ with following contents (assuming you -have only one extra directory level below +package//+): - ------ -include $(sort $(wildcard package//*/*.mk)) ------ - -For the +Config.in+ files, create a file +package//Config.in+ -that includes the +Config.in+ files of all your packages. An exhaustive -list has to be provided since wildcards are not supported in the source command of kconfig. -For example: - ------ -source "package//package1/Config.in" -source "package//package2/Config.in" ------ - -Include this new file +package//Config.in+ from -+package/Config.in+, preferably in a company-specific menu to make -merges with future Buildroot versions easier. - -If using a br2-external tree, refer to xref:outside-br-custom[] for how -to fill in those files. diff --git a/docs.original/manual/customize-patches.txt b/docs/manual/customize-patches.adoc similarity index 67% rename from docs.original/manual/customize-patches.txt rename to docs/manual/customize-patches.adoc index eb98d1bea2..f33bbcdde7 100644 --- a/docs.original/manual/customize-patches.txt +++ b/docs/manual/customize-patches.adoc @@ -1,8 +1,10 @@ // -*- mode:doc -*- ; // vim: set syntax=asciidoc: +=== Adding project-specific patches and hashes + [[customize-patches]] -=== Adding project-specific 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 @@ -57,3 +59,25 @@ 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 eb98d1bea2..0000000000 --- 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.original/manual/customize-post-image.txt b/docs/manual/customize-post-image.adoc similarity index 100% rename from docs.original/manual/customize-post-image.txt rename to docs/manual/customize-post-image.adoc diff --git a/docs/manual/customize-post-image.txt b/docs/manual/customize-post-image.txt deleted file mode 100644 index 5308093d06..0000000000 --- a/docs/manual/customize-post-image.txt +++ /dev/null @@ -1,38 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Customization _after_ the images have been created - -While post-build scripts (xref:rootfs-custom[]) are run _before_ -building the filesystem image, kernel and bootloader, *post-image -scripts* can be used to perform some specific actions _after_ all images -have been created. - -Post-image scripts can for example be used to automatically extract your -root filesystem tarball in a location exported by your NFS server, or -to create a special firmware image that bundles your root filesystem and -kernel image, or any other custom action required for your project. - -To enable this feature, specify a space-separated list of post-image -scripts in config option +BR2_ROOTFS_POST_IMAGE_SCRIPT+ (in the +System -configuration+ menu). If you specify a relative path, it will be -relative to the root of the Buildroot tree. - -Just like post-build scripts, post-image scripts are run with the main -Buildroot tree as current working directory. The path to the +images+ -output directory 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. - -Again just like for the post-build scripts, the scripts have access to -the environment variables +BR2_CONFIG+, +HOST_DIR+, +STAGING_DIR+, -+TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+, +CONFIG_DIR+ and -+BASE_DIR+. - -The post-image scripts will be executed as the user that executes -Buildroot, which should normally _not_ be the root user. Therefore, any -action requiring root permissions in one of these scripts will require -special handling (usage of fakeroot or sudo), which is left to the -script developer. diff --git a/docs/manual/customize-quick-guide.txt b/docs/manual/customize-quick-guide.adoc similarity index 75% rename from docs/manual/customize-quick-guide.txt rename to docs/manual/customize-quick-guide.adoc index 627ecbacb1..315027c590 100644 --- a/docs/manual/customize-quick-guide.txt +++ b/docs/manual/customize-quick-guide.adoc @@ -9,11 +9,11 @@ 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 +. +make menuconfig+ to configure toolchain, packages and kernel. +. +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+ +. +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+ @@ -21,7 +21,7 @@ your project can be skipped. * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+ * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+ * +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+ -1. Write the configuration files: +. Write the configuration files: * +make linux-update-defconfig+ * +make busybox-update-config+ * +make uclibc-update-config+ @@ -29,38 +29,38 @@ your project can be skipped. board///at91bootstrap3.config+ * +make barebox-update-defconfig+ * +make uboot-update-defconfig+ -1. Create +board///rootfs-overlay/+ and fill it +. 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 +. 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 +. 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 +. 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 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 +. 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 +. 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+ +. +make savedefconfig+ to save the buildroot configuration. +. +cp defconfig configs/_defconfig+ diff --git a/docs.original/manual/customize-rootfs.txt b/docs/manual/customize-rootfs.adoc similarity index 99% rename from docs.original/manual/customize-rootfs.txt rename to docs/manual/customize-rootfs.adoc index e46306fd2a..d5d8b9288f 100644 --- a/docs.original/manual/customize-rootfs.txt +++ b/docs/manual/customize-rootfs.adoc @@ -153,4 +153,4 @@ 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[] +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 e46306fd2a..0000000000 --- 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.original/manual/customize-users-tables.txt b/docs/manual/customize-users-tables.adoc similarity index 100% rename from docs.original/manual/customize-users-tables.txt rename to docs/manual/customize-users-tables.adoc diff --git a/docs/manual/customize-users-tables.txt b/docs/manual/customize-users-tables.txt deleted file mode 100644 index e2d32e23f2..0000000000 --- a/docs/manual/customize-users-tables.txt +++ /dev/null @@ -1,18 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize-users]] -=== Adding custom user accounts - -Sometimes it is needed to add specific users in the target system. -To cover this requirement, Buildroot provides support for so-called -_users tables_. To use this feature, set config option -+BR2_ROOTFS_USERS_TABLES+ to a space-separated list of users tables, -regular text files following the xref:makeuser-syntax[makeusers syntax]. - -As shown in xref:customize-dir-structure[], the recommended location for -such files is +board///+. - -It should be noted that if the custom users are related to a specific -application, you should set variable +FOO_USERS+ in the package's +.mk+ -file instead (see xref:generic-package-reference[]). diff --git a/docs.original/manual/customize.txt b/docs/manual/customize.adoc similarity index 85% rename from docs.original/manual/customize.txt rename to docs/manual/customize.adoc index 484413e4d8..23fad7ba11 100644 --- a/docs.original/manual/customize.txt +++ b/docs/manual/customize.adoc @@ -41,20 +41,20 @@ 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-directory-structure.adoc[] -include::customize-outside-br.txt[] +include::customize-outside-br.adoc[] -include::customize-configuration.txt[] +include::customize-configuration.adoc[] -include::customize-rootfs.txt[] +include::customize-rootfs.adoc[] -include::customize-users-tables.txt[] +include::customize-users-tables.adoc[] -include::customize-post-image.txt[] +include::customize-post-image.adoc[] -include::customize-patches.txt[] +include::customize-patches.adoc[] -include::customize-packages.txt[] +include::customize-packages.adoc[] -include::customize-quick-guide.txt[] +include::customize-quick-guide.adoc[] diff --git a/docs/manual/customize.txt b/docs/manual/customize.txt deleted file mode 100644 index 484413e4d8..0000000000 --- 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.original/manual/debugging-buildroot.txt b/docs/manual/debugging-buildroot.adoc similarity index 100% rename from docs.original/manual/debugging-buildroot.txt rename to docs/manual/debugging-buildroot.adoc diff --git a/docs/manual/debugging-buildroot.txt b/docs/manual/debugging-buildroot.txt deleted file mode 100644 index f575fc48ee..0000000000 --- a/docs/manual/debugging-buildroot.txt +++ /dev/null @@ -1,43 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[debugging-buildroot]] - -== Debugging Buildroot - -It is possible to instrument the steps +Buildroot+ does when building -packages. Define the variable +BR2_INSTRUMENTATION_SCRIPTS+ to contain -the path of one or more scripts (or other executables), in a -space-separated list, you want called before and after each step. The -scripts are called in sequence, with three parameters: - - - +start+ or +end+ to denote the start (resp. the end) of a step; - - the name of the step about to be started, or which just ended; - - the name of the package. - -For example : - ----- -make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2" ----- - -The list of steps is: - - - +extract+ - - +patch+ - - +configure+ - - +build+ - - +install-host+, when a host-package is installed in +$(HOST_DIR)+ - - +install-target+, when a target-package is installed in +$(TARGET_DIR)+ - - +install-staging+, when a target-package is installed in +$(STAGING_DIR)+ - - +install-image+, when a target-package installs files in +$(BINARIES_DIR)+ - -The script has access to the following variables: - - - +BR2_CONFIG+: the path to the Buildroot .config file - - +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 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.original/manual/download-infra.txt b/docs/manual/download-infra.adoc similarity index 100% rename from docs.original/manual/download-infra.txt rename to docs/manual/download-infra.adoc diff --git a/docs/manual/download-infra.txt b/docs/manual/download-infra.txt deleted file mode 100644 index f2ccd149d6..0000000000 --- a/docs/manual/download-infra.txt +++ /dev/null @@ -1,8 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[download-infra]] - -== Download infrastructure - -TODO diff --git a/docs.original/manual/download-location.txt b/docs/manual/download-location.adoc similarity index 100% rename from docs.original/manual/download-location.txt rename to docs/manual/download-location.adoc diff --git a/docs/manual/download-location.txt b/docs/manual/download-location.txt deleted file mode 100644 index d485df94f5..0000000000 --- a/docs/manual/download-location.txt +++ /dev/null @@ -1,27 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[download-location]] - -==== Location of downloaded packages - -The various tarballs that are downloaded by Buildroot are all stored -in +BR2_DL_DIR+, which by default is the +dl+ directory. If you want -to keep a complete version of Buildroot which is known to be working -with the associated tarballs, you can make a copy of this directory. -This will allow you to regenerate the toolchain and the target -filesystem with exactly the same versions. - -If you maintain several Buildroot trees, it might be better to have a -shared download location. This can be achieved by pointing the -+BR2_DL_DIR+ environment variable to a directory. If this is -set, then the value of +BR2_DL_DIR+ in the Buildroot configuration is -overridden. The following line should be added to +<~/.bashrc>+. - ------------------ - export BR2_DL_DIR= ------------------ - -The download location can also be set in the +.config+ file, with the -+BR2_DL_DIR+ option. Unlike most options in the .config file, this value -is overridden by the +BR2_DL_DIR+ environment variable. diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.adoc similarity index 91% rename from docs/manual/faq-troubleshooting.txt rename to docs/manual/faq-troubleshooting.adoc index b08bf9bc4a..a61276d4c5 100644 --- a/docs/manual/faq-troubleshooting.txt +++ b/docs/manual/faq-troubleshooting.adoc @@ -242,3 +242,31 @@ help reduce the build time: * 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.original/manual/getting.txt b/docs/manual/getting.adoc similarity index 100% rename from docs.original/manual/getting.txt rename to docs/manual/getting.adoc diff --git a/docs/manual/getting.txt b/docs/manual/getting.txt deleted file mode 100644 index 549938a223..0000000000 --- a/docs/manual/getting.txt +++ /dev/null @@ -1,36 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[getting-buildroot]] -== Getting Buildroot - -Buildroot releases are made every 3 months, in February, May, August and -November. Release numbers are in the format YYYY.MM, so for example -2013.02, 2014.08. - -Release tarballs are available at http://buildroot.org/downloads/[]. - -For your convenience, a https://www.vagrantup.com/[Vagrantfile] is -available in `support/misc/Vagrantfile` in the Buildroot source tree -to quickly set up a virtual machine with the needed dependencies to -get started. - -If you want to setup an isolated buildroot environment on Linux or Mac -Os X, paste this line onto your terminal: - --------------------- -curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up --------------------- - -If you are on Windows, paste this into your powershell: - --------------------- -(new-object System.Net.WebClient).DownloadFile( -"https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); -vagrant up --------------------- - -If you want to follow development, you can use the daily snapshots or -make a clone of the Git repository. Refer to the -http://buildroot.org/download[Download page] of the Buildroot website -for more details. diff --git a/docs/manual/graphical_user_interface.txt b/docs/manual/graphical_user_interface.txt deleted file mode 100644 index 8d1c8b69c3..0000000000 --- a/docs/manual/graphical_user_interface.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs.original/manual/how-buildroot-works.txt b/docs/manual/how-buildroot-works.adoc similarity index 100% rename from docs.original/manual/how-buildroot-works.txt rename to docs/manual/how-buildroot-works.adoc diff --git a/docs/manual/how-buildroot-works.txt b/docs/manual/how-buildroot-works.txt deleted file mode 100644 index 1204d1ecab..0000000000 --- a/docs/manual/how-buildroot-works.txt +++ /dev/null @@ -1,69 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== How Buildroot works - -As mentioned above, Buildroot is basically a set of Makefiles that -download, configure, and compile software with the correct options. It -also includes patches for various software packages - mainly the ones -involved in the cross-compilation toolchain (+gcc+, +binutils+ and -+uClibc+). - -There is basically one Makefile per software package, and they are -named with the +.mk+ extension. Makefiles are split into many different -parts. - -* The +toolchain/+ directory contains the Makefiles - and associated files for all software related to the - cross-compilation toolchain: +binutils+, +gcc+, +gdb+, - +kernel-headers+ and +uClibc+. - -* The +arch/+ directory contains the definitions for all the processor - architectures that are supported by Buildroot. - -* The +package/+ directory contains the Makefiles and - associated files for all user-space tools and libraries that Buildroot - can compile and add to the target root filesystem. There is one - sub-directory per package. - -* The +linux/+ directory contains the Makefiles and associated files for - the Linux kernel. - -* The +boot/+ directory contains the Makefiles and associated files for - the bootloaders supported by Buildroot. - -* The +system/+ directory contains support for system integration, e.g. - the target filesystem skeleton and the selection of an init system. - -* The +fs/+ directory contains the Makefiles and - associated files for software related to the generation of the - target root filesystem image. - -Each directory contains at least 2 files: - -* +something.mk+ is the Makefile that downloads, configures, - compiles and installs the package +something+. - -* +Config.in+ is a part of the configuration tool - description file. It describes the options related to the - package. - -The main Makefile performs the following steps (once the -configuration is done): - -* Create all the output directories: +staging+, +target+, +build+, - etc. in the output directory (+output/+ by default, - another value can be specified using +O=+) - -* Generate the toolchain target. When an internal toolchain is used, this - means generating the cross-compilation toolchain. When an external - toolchain is used, this means checking the features of the external - toolchain and importing it into the Buildroot environment. - -* Generate all the targets listed in the +TARGETS+ variable. This - variable is filled by all the individual components' - Makefiles. Generating these targets will trigger the compilation of - the userspace packages (libraries, programs), the kernel, the - bootloader and the generation of the root filesystem images, - depending on the configuration. - 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.txt b/docs/manual/integration.adoc similarity index 80% rename from docs/manual/integration.txt rename to docs/manual/integration.adoc index be56bf6567..1626dd75dd 100644 --- a/docs/manual/integration.txt +++ b/docs/manual/integration.adoc @@ -9,6 +9,6 @@ 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-systemd.adoc[] -include::integration-selinux-support.txt[] +include::integration-selinux-support.adoc[] diff --git a/docs.original/manual/introduction.txt b/docs/manual/introduction.adoc similarity index 100% rename from docs.original/manual/introduction.txt rename to docs/manual/introduction.adoc diff --git a/docs/manual/introduction.txt b/docs/manual/introduction.txt deleted file mode 100644 index 476aa81edc..0000000000 --- a/docs/manual/introduction.txt +++ /dev/null @@ -1,26 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== About Buildroot - -Buildroot is a tool that simplifies and automates the process of -building a complete Linux system for an embedded system, using -cross-compilation. - -In order to achieve this, Buildroot is able to generate a -cross-compilation toolchain, a root filesystem, a Linux kernel image -and a bootloader for your target. Buildroot can be used for any -combination of these options, independently (you can for example use -an existing cross-compilation toolchain, and build only your root -filesystem with Buildroot). - -Buildroot is useful mainly for people working with embedded systems. -Embedded systems often use processors that are not the regular x86 -processors everyone is used to having in his PC. They can be PowerPC -processors, MIPS processors, ARM processors, etc. - -Buildroot supports numerous processors and their variants; it also -comes with default configurations for several boards available -off-the-shelf. Besides this, a number of third-party projects are based on, -or develop their BSP footnote:[BSP: Board Support Package] or -SDK footnote:[SDK: Software Development Kit] on top of Buildroot. diff --git a/docs/manual/key_shredos_components.txt b/docs/manual/key_shredos_components.txt deleted file mode 100644 index 8d1c8b69c3..0000000000 --- a/docs/manual/key_shredos_components.txt +++ /dev/null @@ -1 +0,0 @@ - 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/known_issues.txt b/docs/manual/known_issues.txt deleted file mode 100644 index 8d1c8b69c3..0000000000 --- a/docs/manual/known_issues.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs.original/manual/legal-notice.txt b/docs/manual/legal-notice.adoc similarity index 100% rename from docs.original/manual/legal-notice.txt rename to docs/manual/legal-notice.adoc diff --git a/docs/manual/legal-notice.txt b/docs/manual/legal-notice.txt deleted file mode 100644 index 179aa6b179..0000000000 --- a/docs/manual/legal-notice.txt +++ /dev/null @@ -1,122 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[legal-info]] - -== Legal notice and licensing - -=== Complying with open source licenses - -All of the end products of Buildroot (toolchain, root filesystem, kernel, -bootloaders) contain open source software, released under various licenses. - -Using open source software gives you the freedom to build rich embedded -systems, choosing from a wide range of packages, but also imposes some -obligations that you must know and honour. -Some licenses require you to publish the license text in the documentation of -your product. Others require you to redistribute the source code of the -software to those that receive your product. - -The exact requirements of each license are documented in each package, and -it is your responsibility (or that of your legal office) to comply with those -requirements. -To make this easier for you, Buildroot can collect for you some material you -will probably need. To produce this material, after you have configured -Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run: - --------------------- -make legal-info --------------------- - -Buildroot will collect legally-relevant material in your output directory, -under the +legal-info/+ subdirectory. -There you will find: - -* A +README+ file, that summarizes the produced material and contains warnings - about material that Buildroot could not produce. -* +buildroot.config+: this is the Buildroot configuration file that is usually - produced with +make menuconfig+, and which is necessary to reproduce the - build. -* The source code for all packages; this is saved in the +sources/+ and - +host-sources/+ subdirectories for target and host packages respectively. - The source code for packages that set +_REDISTRIBUTE = NO+ will not be - saved. - Patches that were applied are also saved, along with a file named +series+ - that lists the patches in the order they were applied. Patches are under the - same license as the files that they modify. - Note: Buildroot applies additional patches to Libtool scripts of - autotools-based packages. These patches can be found under - +support/libtool+ in the Buildroot source and, due to technical - limitations, are not saved with the package sources. You may need to - collect them manually. -* A manifest file (one for host and one for target packages) listing the - configured packages, their version, license and related information. - Some of this information might not be defined in Buildroot; such items are - marked as "unknown". -* The license texts of all packages, in the +licenses/+ and +host-licenses/+ - subdirectories for target and host packages respectively. - If the license file(s) are not defined in Buildroot, the file is not produced - and a warning in the +README+ indicates this. - -Please note that the aim of the +legal-info+ feature of Buildroot is to -produce all the material that is somehow relevant for legal compliance with the -package licenses. Buildroot does not try to produce the exact material that -you must somehow make public. Certainly, more material is produced than is -needed for a strict legal compliance. For example, it produces the source code -for packages released under BSD-like licenses, that you are not required to -redistribute in source form. - -Moreover, due to technical limitations, Buildroot does not produce some -material that you will or may need, such as the toolchain source code for -some of the external toolchains and the Buildroot source code itself. -When you run +make legal-info+, Buildroot produces warnings in the +README+ -file to inform you of relevant material that could not be saved. - -Finally, keep in mind that the output of +make legal-info+ is based on -declarative statements in each of the packages recipes. The Buildroot -developers try to do their best to keep those declarative statements as -accurate as possible, to the best of their knowledge. However, it is very -well possible that those declarative statements are not all fully accurate -nor exhaustive. You (or your legal department) _have_ to check the output -of +make legal-info+ before using it as your own compliance delivery. See -the _NO WARRANTY_ clauses (clauses 11 and 12) in the +COPYING+ file at the -root of the Buildroot distribution. - -[[legal-info-buildroot]] -=== Complying with the Buildroot license - -Buildroot itself is an open source software, released under the -http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General -Public License, version 2] or (at your option) any later version, with -the exception of the package patches detailed below. -However, being a build system, it is not normally part of the end product: -if you develop the root filesystem, kernel, bootloader or toolchain for a -device, the code of Buildroot is only present on the development machine, not -in the device storage. - -Nevertheless, the general view of the Buildroot developers is that you should -release the Buildroot source code along with the source code of other packages -when releasing a product that contains GPL-licensed software. -This is because the -http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU GPL] -defines the "'complete source code'" for an executable work as "'all the -source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and installation -of the executable'". -Buildroot is part of the 'scripts used to control compilation and -installation of the executable', and as such it is considered part of the -material that must be redistributed. - -Keep in mind that this is only the Buildroot developers' opinion, and you -should consult your legal department or lawyer in case of any doubt. - -==== Patches to packages - -Buildroot also bundles patch files, which are applied to the sources -of the various packages. Those patches are not covered by the license -of Buildroot. Instead, they are covered by the license of the software -to which the patches are applied. When said software is available -under multiple licenses, the Buildroot patches are only provided under -the publicly accessible licenses. - -See xref:patch-policy[] for the technical details. 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.txt b/docs/manual/makedev-syntax.adoc similarity index 71% rename from docs/manual/makedev-syntax.txt rename to docs/manual/makedev-syntax.adoc index d6efb31d42..e63c9233eb 100644 --- a/docs/manual/makedev-syntax.txt +++ b/docs/manual/makedev-syntax.adoc @@ -22,14 +22,19 @@ 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 + * `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) + 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 @@ -38,22 +43,22 @@ There are a few non-trivial blocks: 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: +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/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): +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 750 foo bar - - - - - +/usr/share/myapp r -1 foo bar - - - - - ---- On the other hand, if you want to create the device file +/dev/hda+ 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 0000000000..31d5f80bae --- /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.html b/docs/manual/manual.html index e6c96610d9..a584f1d025 100644 --- a/docs/manual/manual.html +++ b/docs/manual/manual.html @@ -1,8 +1,8 @@ -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Details about packages
8.9. Graphing the dependencies between packages
8.10. Graphing the build duration
8.11. Graphing the filesystem size contribution of packages
8.12. Top-level parallel build
8.13. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Integration topics
10.1. Systemd
10.2. Using SELinux in Buildroot
11. Frequently Asked Questions & Troubleshooting
11.1. The boot hangs after Starting network…
11.2. Why is there no compiler on the target?
11.3. Why are there no development files on the target?
11.4. Why is there no documentation on the target?
11.5. Why are some packages not visible in the Buildroot config menu?
11.6. Why not use the target directory as a chroot directory?
11.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
11.8. How to speed-up the build process?
12. Known issues
13. Legal notice and licensing
13.1. Complying with open source licenses
13.2. Complying with the Buildroot license
14. Beyond Buildroot
14.1. Boot the generated images
14.2. Chroot
III. Developer guide
15. How Buildroot works
16. Coding style
16.1. Config.in file
16.2. The .mk file
16.3. The genimage.cfg file
16.4. The documentation
16.5. Support scripts
17. Adding support for a particular board
18. Adding new packages to Buildroot
18.1. Package directory
18.2. Config files
18.3. The .mk file
18.4. The .hash file
18.5. The SNNfoo start script
18.6. Infrastructure for packages with specific build systems
18.7. Infrastructure for autotools-based packages
18.8. Infrastructure for CMake-based packages
18.9. Infrastructure for Python packages
18.10. Infrastructure for LuaRocks-based packages
18.11. Infrastructure for Perl/CPAN packages
18.12. Infrastructure for virtual packages
18.13. Infrastructure for packages using kconfig for configuration files
18.14. Infrastructure for rebar-based packages
18.15. Infrastructure for Waf-based packages
18.16. Infrastructure for Meson-based packages
18.17. Infrastructure for Cargo-based packages
18.18. Infrastructure for Go packages
18.19. Infrastructure for QMake-based packages
18.20. Infrastructure for packages building kernel modules
18.21. Infrastructure for asciidoc documents
18.22. Infrastructure specific to the Linux kernel package
18.23. Hooks available in the various build steps
18.24. Gettext integration and interaction with packages
18.25. Tips and tricks
18.26. Conclusion
19. Patching a package
19.1. Providing patches
19.2. How patches are applied
19.3. Format and licensing of the package patches
19.4. Additional patch documentation
20. Download infrastructure
21. Debugging Buildroot
22. Contributing to Buildroot
22.1. Reproducing, analyzing and fixing bugs
22.2. Analyzing and fixing autobuild failures
22.3. Reviewing and testing patches
22.4. Work on items from the TODO list
22.5. Submitting patches
22.6. Reporting issues/bugs or getting help
22.7. Using the runtime tests framework
23. DEVELOPERS file and get-developers
24. Release Engineering
24.1. Releases
24.2. Development
IV. Appendix
25. Makedev syntax documentation
26. Makeusers syntax documentation
26.1. Caveat with automatic UIDs and GIDs
27. Migrating from older Buildroot versions
27.1. General approach
27.2. Migrating to 2016.11
27.3. Migrating to 2017.08

Buildroot 2023.08.2 manual generated on 2023-10-15 -21:10:46 UTC from git revision fe50c054bc

The Buildroot manual is written by the Buildroot developers. +The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Details about packages
8.9. Graphing the dependencies between packages
8.10. Graphing the build duration
8.11. Graphing the filesystem size contribution of packages
8.12. Top-level parallel build
8.13. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches and hashes
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Integration topics
10.1. Systemd
10.2. Using SELinux in Buildroot
11. Frequently Asked Questions & Troubleshooting
11.1. The boot hangs after Starting network…
11.2. Why is there no compiler on the target?
11.3. Why are there no development files on the target?
11.4. Why is there no documentation on the target?
11.5. Why are some packages not visible in the Buildroot config menu?
11.6. Why not use the target directory as a chroot directory?
11.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
11.8. How to speed-up the build process?
11.9. How does Buildroot support Y2038?
12. Known issues
13. Legal notice and licensing
13.1. Complying with open source licenses
13.2. Complying with the Buildroot license
14. Beyond Buildroot
14.1. Boot the generated images
14.2. Chroot
III. Developer guide
15. How Buildroot works
16. Coding style
16.1. Config.in file
16.2. The .mk file
16.3. The genimage.cfg file
16.4. The documentation
16.5. Support scripts
17. Adding support for a particular board
18. Adding new packages to Buildroot
18.1. Package directory
18.2. Config files
18.3. The .mk file
18.4. The .hash file
18.5. The SNNfoo start script
18.6. Infrastructure for packages with specific build systems
18.7. Infrastructure for autotools-based packages
18.8. Infrastructure for CMake-based packages
18.9. Infrastructure for Python packages
18.10. Infrastructure for LuaRocks-based packages
18.11. Infrastructure for Perl/CPAN packages
18.12. Infrastructure for virtual packages
18.13. Infrastructure for packages using kconfig for configuration files
18.14. Infrastructure for rebar-based packages
18.15. Infrastructure for Waf-based packages
18.16. Infrastructure for Meson-based packages
18.17. Infrastructure for Cargo-based packages
18.18. Infrastructure for Go packages
18.19. Infrastructure for QMake-based packages
18.20. Infrastructure for packages building kernel modules
18.21. Infrastructure for asciidoc documents
18.22. Infrastructure specific to the Linux kernel package
18.23. Hooks available in the various build steps
18.24. Gettext integration and interaction with packages
18.25. Tips and tricks
18.26. Conclusion
19. Patching a package
19.1. Providing patches
19.2. How patches are applied
19.3. Format and licensing of the package patches
19.4. Additional patch documentation
20. Download infrastructure
21. Debugging Buildroot
22. Contributing to Buildroot
22.1. Reproducing, analyzing and fixing bugs
22.2. Analyzing and fixing autobuild failures
22.3. Reviewing and testing patches
22.4. Work on items from the TODO list
22.5. Submitting patches
22.6. Reporting issues/bugs or getting help
22.7. Using the runtime tests framework
23. DEVELOPERS file and get-developers
24. Release Engineering
24.1. Releases
24.2. Development
IV. Appendix
25. Makedev syntax documentation
26. Makeusers syntax documentation
26.1. Caveat with automatic UIDs and GIDs
27. Migrating from older Buildroot versions
27.1. General approach
27.2. Migrating to 2016.11
27.3. Migrating to 2017.08
27.4. Migrating to 2023.11

Buildroot ${BR2_VERSION%%-git*} manual generated on 2024-05-07 +08:28:19 UTC from git revision 0155095c55

The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the -COPYING +COPYING file in the Buildroot sources for the full text of this license.

Copyright © The Buildroot developers <buildroot@buildroot.org>

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of building a complete Linux system for an embedded system, using cross-compilation.

In order to achieve this, Buildroot is able to generate a @@ -88,7 +88,7 @@ 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 +capable of downloading sources via other tools, like git or scp (refer to Chapter 20, Download infrastructure for more details). If you enable packages using any of these methods, you will need to install the corresponding tool on the host system:

  • @@ -100,8 +100,6 @@ corresponding tool on the host system:

      mercurial
    • -rsync -
    • scp
    • sftp @@ -281,7 +279,7 @@ processor. Under most Linux systems, the compilation toolchain uses the GNU libc (glibc) as the C standard library. This compilation toolchain is called the "host compilation toolchain". The machine on which it is running, and on which you’re working, is called the "host -system" [3].

      The compilation toolchain is provided by your distribution, and +system" [3].

      The compilation toolchain is provided by your distribution, and Buildroot has nothing to do with it (other than using it to build a cross-compilation toolchain and other tools that are run on the development host).

      As said above, the compilation toolchain that comes with your system @@ -585,7 +583,7 @@ The third solution is systemd. http://www.freedesktop.org/wiki/Software/systemd.

    The solution recommended by Buildroot developers is to use the BusyBox init as it is sufficient for most embedded -systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU +systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU configure, where the host is the machine on which the application will run (which is usually the same as target)

Chapter 7. Configuration of other components

Before attempting to modify any of the components below, make sure you have already configured Buildroot itself, and have enabled the @@ -1811,7 +1809,7 @@ the environment variables BR2_CONFIG, not be the root user. Therefore, any action requiring root permissions in one of these scripts will require special handling (usage of fakeroot or sudo), which is left to the -script developer.

9.8. Adding project-specific patches

It is sometimes useful to apply extra patches to packages - on top of +script developer.

9.8. Adding project-specific patches and hashes

9.8.1. 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 @@ -1852,7 +1850,21 @@ 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.

9.9. Adding project-specific packages

In general, any new package should be added directly in the package +as it is done from a post-patch hook of the Linux package.

9.8.2. Providing extra hashes

Buildroot bundles a 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:

  • +<global-patch-dir>/<packagename>/<packageversion>/<packagename>.hash +
  • +<global-patch-dir>/<packagename>/<packagename>.hash +

The utils/add-custom-hashes script can be used to generate these files.

9.9. Adding project-specific packages

In general, any new package should be added directly in the package directory and submitted to the Buildroot upstream project. How to add packages to Buildroot in general is explained in full detail in Chapter 18, Adding new packages to Buildroot and will not be repeated here. However, your @@ -2216,7 +2228,28 @@ Buy new hardware. SSDs and lots of RAM are key to speeding up the

  • Experiment with top-level parallel build, see Section 8.12, “Top-level parallel buildâ€. -
  • Chapter 12. Known issues

    • +

    11.9. 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.

    Chapter 12. Known issues

    • It is not possible to pass extra linker options via BR2_TARGET_LDFLAGS if such options contain a $ sign. For example, the following is known to break: BR2_TARGET_LDFLAGS="-Wl,-rpath='$ORIGIN/../lib'" @@ -2885,8 +2918,8 @@ different way, using different infrastructures:

      # 0001-fix-cve-2020-12345.patch
      +

      # 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 +LIBFOO_IGNORE_CVES += CVE-2020-54321

    • + LIBFOO_CPE_ID_* variables is a set of variables that allows the package to define its 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. @@ -3801,6 +3846,10 @@ typical packages will therefore only use a few of them.

        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.
      • @@ -3822,6 +3871,10 @@ typical packages will therefore only use a few of them.

        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. @@ -3869,9 +3922,9 @@ By overriding one of the steps. For example, even if the CMake default CMake one. However, using this method should be restricted to very specific cases. Do not use it in the general case.

    18.9. 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.

    18.9.1. python-package tutorial

    First, let’s see how to write a .mk file for a Python package, +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.

    18.9.1. 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
    @@ -3885,7 +3938,7 @@ with an example :

    01: ###################################
     11: PYTHON_FOO_LICENSE_FILES = LICENSE
     12: PYTHON_FOO_ENV = SOME_VAR=1
     13: PYTHON_FOO_DEPENDENCIES = libmad
    -14: PYTHON_FOO_SETUP_TYPE = distutils
    +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 @@ -3894,8 +3947,9 @@ 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 +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.

    18.9.2. python-package reference

    As a policy, packages that merely provide Python modules should all be named python-<something> in Buildroot. Other packages that use the @@ -3917,18 +3971,19 @@ It is not necessary to add python or -Similarly, it is not needed to add host-setuptools to +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 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. + 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 @@ -3941,41 +3996,27 @@ therefore only use a few of them, or none.

      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 + 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 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_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 distutils/setuptools packages) - or support/scripts/pyinstaller.py (for flit/pep517 packages) during + 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. 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). + 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 @@ -5303,7 +5344,7 @@ Previously, a series file, as used by Do not use a series file.

    19.1.3. 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 Section 9.8, “Adding project-specific patches†for +containing global package patches. See Section 9.8.1, “Providing extra patches†for details.

    19.2. How patches are applied

    1. Run the <packagename>_PRE_PATCH_HOOKS commands if defined;
    2. @@ -5586,7 +5627,7 @@ separated from it by a plus + sign. E.g.:

      Your-Name Your-Surname <your-name.your-surname+companyname@mail.com>

    3. -for an individual who sponsored who sponsored the submitted work, use +for an individual who sponsored the submitted work, use their name and surname:

      Your-Name Your-Surname <your-name.your-surname+their-name.their-surname@mail.com>

    When adding new packages, you should submit every package in a separate patch. This patch should have the update to @@ -5629,9 +5670,16 @@ information). This tool reads your patches and outputs the appropriate 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 +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.

    22.5.3. Cover letter

    If you want to present the whole patch set in a separate mail, add +fix your e-mail client, or better yet, learn to use git send-email.

    https://sr.ht also has a light-weight UI for +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.

    22.5.3. 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 @@ -5640,7 +5688,7 @@ large number of commits in the series;

  • deep impact of the changes in the rest of the project;
  • -RFC [4]; +RFC [4];
  • whenever you feel it will help presenting your work, your choices, the review process, etc. @@ -5852,7 +5900,7 @@ To trigger one or several test case jobs, push a branch that ends (tests.init.test_busybox.TestInitSystemBusyboxRo) or with the name of a category of tests (tests.init.test_busybox):
  •  $ git push gitlab HEAD:<name>-<test case name>

    Example to run one test:

     $ git push gitlab HEAD:foo-tests.init.test_busybox.TestInitSystemBusyboxRo

    Examples to run several tests part of the same group:

     $ git push gitlab HEAD:foo-tests.init.test_busybox
    - $ git push gitlab HEAD:foo-tests.init


    [4] RFC: (Request for comments) change proposal

    Chapter 23. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that + $ git push gitlab HEAD:foo-tests.init



    [4] RFC: (Request for comments) change proposal

    Chapter 23. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that lists the developers involved with various areas of Buildroot. Thanks to this file, the get-developers tool allows to:

    • Calculate the list of developers to whom patches should be sent, by @@ -5914,20 +5962,26 @@ line; the fields are:

    • type is the type of the file, being one of:

      • -f: a regular file +f: a regular file, which must already exist
      • -d: a directory +F: a regular file, which is ignored and not created if missing
      • -r: a directory recursively +d: a directory, which is created, as well as its parents, if missing
      • -c: a character device file +r: a directory recursively, which must already exist
      • -b: a block device file +c: a character device file, which parent directory must exist
      • -p: a named pipe +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) + 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 @@ -5938,13 +5992,13 @@ p: a named pipe 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 - - - - -
      +

      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 - - - - -

      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 +/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 @@ -6104,4 +6158,27 @@ Then, change every occurence of BR2_EXTERNAL in you before 2016.11.

      27.3. 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.

      \ No newline at end of file +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.

      27.4. 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 +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.

      \ No newline at end of file diff --git a/docs/manual/manual.mk b/docs/manual/manual.mk index 1d03b213db..e851a084ae 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.pdf b/docs/manual/manual.pdf index d1a2d1b786..bb61a5dd10 100644 Binary files a/docs/manual/manual.pdf and b/docs/manual/manual.pdf differ diff --git a/docs/manual/manual.text b/docs/manual/manual.text index 4e2fd9db77..1972e40c5c 100644 --- a/docs/manual/manual.text +++ b/docs/manual/manual.text @@ -10,28 +10,20 @@ Table of Contents I. Getting started - 1. About Buildroot 2. System requirements - 2.1. Mandatory packages 2.2. Optional packages - 3. Getting Buildroot 4. Buildroot quick start 5. Community resources - II. User guide - 6. Buildroot configuration - 6.1. Cross-compilation toolchain 6.2. /dev management 6.3. init system - 7. Configuration of other components 8. General Buildroot usage - 8.1. make tips 8.2. Understanding when a full rebuild is necessary 8.3. Understanding how to rebuild packages @@ -45,9 +37,7 @@ II. User guide 8.11. Graphing the filesystem size contribution of packages 8.12. Top-level parallel build 8.13. Advanced usage - 9. Project-specific customization - 9.1. Recommended directory structure 9.2. Keeping customizations outside of Buildroot 9.3. Storing the Buildroot configuration @@ -55,54 +45,42 @@ II. User guide 9.5. Customizing the generated target filesystem 9.6. Adding custom user accounts 9.7. Customization after the images have been created - 9.8. Adding project-specific patches + 9.8. Adding project-specific patches and hashes 9.9. Adding project-specific packages 9.10. Quick guide to storing your project-specific - customizations - + customizations 10. Integration topics - 10.1. Systemd 10.2. Using SELinux in Buildroot - 11. Frequently Asked Questions & Troubleshooting - 11.1. The boot hangs after Starting network… 11.2. Why is there no compiler on the target? 11.3. Why are there no development files on the target? 11.4. Why is there no documentation on the target? 11.5. Why are some packages not visible in the Buildroot - config menu? + config menu? 11.6. Why not use the target directory as a chroot directory? 11.7. Why doesn’t Buildroot generate binary packages (.deb, - .ipkg…)? + .ipkg…)? 11.8. How to speed-up the build process? - + 11.9. How does Buildroot support Y2038? 12. Known issues 13. Legal notice and licensing - 13.1. Complying with open source licenses 13.2. Complying with the Buildroot license - 14. Beyond Buildroot - 14.1. Boot the generated images 14.2. Chroot - III. Developer guide - 15. How Buildroot works 16. Coding style - 16.1. Config.in file 16.2. The .mk file 16.3. The genimage.cfg file 16.4. The documentation 16.5. Support scripts - 17. Adding support for a particular board 18. Adding new packages to Buildroot - 18.1. Package directory 18.2. Config files 18.3. The .mk file @@ -116,7 +94,7 @@ III. Developer guide 18.11. Infrastructure for Perl/CPAN packages 18.12. Infrastructure for virtual packages 18.13. Infrastructure for packages using kconfig for - configuration files + configuration files 18.14. Infrastructure for rebar-based packages 18.15. Infrastructure for Waf-based packages 18.16. Infrastructure for Meson-based packages @@ -130,18 +108,14 @@ III. Developer guide 18.24. Gettext integration and interaction with packages 18.25. Tips and tricks 18.26. Conclusion - 19. Patching a package - 19.1. Providing patches 19.2. How patches are applied 19.3. Format and licensing of the package patches 19.4. Additional patch documentation - 20. Download infrastructure 21. Debugging Buildroot 22. Contributing to Buildroot - 22.1. Reproducing, analyzing and fixing bugs 22.2. Analyzing and fixing autobuild failures 22.3. Reviewing and testing patches @@ -149,25 +123,19 @@ III. Developer guide 22.5. Submitting patches 22.6. Reporting issues/bugs or getting help 22.7. Using the runtime tests framework - 23. DEVELOPERS file and get-developers 24. Release Engineering - 24.1. Releases 24.2. Development - IV. Appendix - 25. Makedev syntax documentation 26. Makeusers syntax documentation - 26.1. Caveat with automatic UIDs and GIDs - 27. Migrating from older Buildroot versions - 27.1. General approach 27.2. Migrating to 2016.11 27.3. Migrating to 2017.08 + 27.4. Migrating to 2023.11 List of Examples @@ -179,13 +147,13 @@ List of Examples --------------------------------------------------------------------- -Buildroot 2023.08.2 manual generated on 2023-10-15 21:10:50 UTC from -git revision fe50c054bc +Buildroot ${BR2_VERSION%%-git*} manual generated on 2024-05-07 +08:28:22 UTC from git revision 0155095c55 The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= -fe50c054bce7fb9b2e073b9c1bc78dd8a187289a] file in the Buildroot +0155095c558e915d6c5261a4d8cb4ec9ee9953a7] file in the Buildroot sources for the full text of this license. Copyright © The Buildroot developers <> @@ -196,10 +164,8 @@ Table of Contents 1. About Buildroot 2. System requirements - 2.1. Mandatory packages 2.2. Optional packages - 3. Getting Buildroot 4. Buildroot quick start 5. Community resources @@ -298,16 +264,14 @@ vary between distributions). 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 Chapter 20, Download infrastructure for - more details). If you enable packages using any of these methods, - you will need to install the corresponding tool on the host - system: + git or scp (refer to Chapter 20, Download infrastructure 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 @@ -541,14 +505,11 @@ Part II. User guide Table of Contents 6. Buildroot configuration - 6.1. Cross-compilation toolchain 6.2. /dev management 6.3. init system - 7. Configuration of other components 8. General Buildroot usage - 8.1. make tips 8.2. Understanding when a full rebuild is necessary 8.3. Understanding how to rebuild packages @@ -562,9 +523,7 @@ Table of Contents 8.11. Graphing the filesystem size contribution of packages 8.12. Top-level parallel build 8.13. Advanced usage - 9. Project-specific customization - 9.1. Recommended directory structure 9.2. Keeping customizations outside of Buildroot 9.3. Storing the Buildroot configuration @@ -572,36 +531,29 @@ Table of Contents 9.5. Customizing the generated target filesystem 9.6. Adding custom user accounts 9.7. Customization after the images have been created - 9.8. Adding project-specific patches + 9.8. Adding project-specific patches and hashes 9.9. Adding project-specific packages 9.10. Quick guide to storing your project-specific customizations - 10. Integration topics - 10.1. Systemd 10.2. Using SELinux in Buildroot - 11. Frequently Asked Questions & Troubleshooting - 11.1. The boot hangs after Starting network… 11.2. Why is there no compiler on the target? 11.3. Why are there no development files on the target? 11.4. Why is there no documentation on the target? 11.5. Why are some packages not visible in the Buildroot config - menu? + menu? 11.6. Why not use the target directory as a chroot directory? 11.7. Why doesn’t Buildroot generate binary packages (.deb, - .ipkg…)? + .ipkg…)? 11.8. How to speed-up the build process? - + 11.9. How does Buildroot support Y2038? 12. Known issues 13. Legal notice and licensing - 13.1. Complying with open source licenses 13.2. Complying with the Buildroot license - 14. Beyond Buildroot - 14.1. Boot the generated images 14.2. Chroot @@ -2720,17 +2672,17 @@ Post-build scripts (BR2_ROOTFS_POST_BUILD_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 + o BR2_CONFIG: the path to the Buildroot .config file + o 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 Section 18.6.2, + o HOST_DIR, STAGING_DIR, TARGET_DIR: see Section 18.6.2, “generic-package reference†- + BUILD_DIR: the directory where packages are extracted and + o BUILD_DIR: the directory where packages are extracted and built - + BINARIES_DIR: the place where all binary files (aka images) + o BINARIES_DIR: the place where all binary files (aka images) are stored - + BASE_DIR: the base output directory + o BASE_DIR: the base output directory Below three more methods of customizing the target filesystem are described, but they are not recommended. @@ -2900,7 +2852,9 @@ action requiring root permissions in one of these scripts will require special handling (usage of fakeroot or sudo), which is left to the script developer. -9.8. Adding project-specific patches +9.8. Adding project-specific patches and hashes + +9.8.1. 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 @@ -2953,6 +2907,30 @@ 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. +9.8.2. Providing extra hashes + +Buildroot bundles a 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. + 9.9. Adding project-specific packages In general, any new package should be added directly in the package @@ -3400,6 +3378,30 @@ help reduce the build time: * Experiment with top-level parallel build, see Section 8.12, “Top-level parallel buildâ€. +11.9. 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. + Chapter 12. Known issues * It is not possible to pass extra linker options via @@ -3589,16 +3591,13 @@ Table of Contents 15. How Buildroot works 16. Coding style - 16.1. Config.in file 16.2. The .mk file 16.3. The genimage.cfg file 16.4. The documentation 16.5. Support scripts - 17. Adding support for a particular board 18. Adding new packages to Buildroot - 18.1. Package directory 18.2. Config files 18.3. The .mk file @@ -3612,7 +3611,7 @@ Table of Contents 18.11. Infrastructure for Perl/CPAN packages 18.12. Infrastructure for virtual packages 18.13. Infrastructure for packages using kconfig for - configuration files + configuration files 18.14. Infrastructure for rebar-based packages 18.15. Infrastructure for Waf-based packages 18.16. Infrastructure for Meson-based packages @@ -3626,18 +3625,14 @@ Table of Contents 18.24. Gettext integration and interaction with packages 18.25. Tips and tricks 18.26. Conclusion - 19. Patching a package - 19.1. Providing patches 19.2. How patches are applied 19.3. Format and licensing of the package patches 19.4. Additional patch documentation - 20. Download infrastructure 21. Debugging Buildroot 22. Contributing to Buildroot - 22.1. Reproducing, analyzing and fixing bugs 22.2. Analyzing and fixing autobuild failures 22.3. Reviewing and testing patches @@ -3645,10 +3640,8 @@ Table of Contents 22.5. Submitting patches 22.6. Reporting issues/bugs or getting help 22.7. Using the runtime tests framework - 23. DEVELOPERS file and get-developers 24. Release Engineering - 24.1. Releases 24.2. Development @@ -4378,9 +4371,9 @@ different way, using different infrastructures: infrastructure must be used for new packages that rely on CMake. We cover them through a tutorial and 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 tutorial and a - reference. + for Python modules that use the flit, pep517, setuptools, + setuptools-rust or maturin mechanisms. We cover them through a + tutorial and a reference. * Makefiles for Lua modules: We have a dedicated infrastructure for Lua modules available through the LuaRocks web site. We cover them through a tutorial and a reference. @@ -4481,11 +4474,17 @@ 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. +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 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 @@ -4913,6 +4912,9 @@ information is (assuming the package name is libfoo) : 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 " @@ -5058,15 +5060,18 @@ information is (assuming the package name is libfoo) : 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 + # 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 CPE identifier [https://nvd.nist.gov/ products/cpe]. 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. @@ -5428,6 +5433,9 @@ typical packages will therefore only use a few of them. 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 @@ -5442,6 +5450,9 @@ typical packages will therefore only use a few of them. + 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. @@ -5489,8 +5500,8 @@ still possible to customize what is done in any particular step: 18.9. 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 +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. 18.9.1. python-package tutorial @@ -5511,7 +5522,7 @@ an example : 11: PYTHON_FOO_LICENSE_FILES = LICENSE 12: PYTHON_FOO_ENV = SOME_VAR=1 13: PYTHON_FOO_DEPENDENCIES = libmad -14: PYTHON_FOO_SETUP_TYPE = distutils +14: PYTHON_FOO_SETUP_TYPE = setuptools 15: 16: $(eval $(python-package)) @@ -5532,8 +5543,9 @@ 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. +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 @@ -5568,21 +5580,21 @@ Note that: 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 + * 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 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. + 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 @@ -5596,41 +5608,26 @@ therefore only use a few of them, or none. 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 + 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 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. + 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 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). + 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 @@ -7551,8 +7548,8 @@ Notes 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 Section 9.8, “Adding project-specific -patches†for details. +global package patches. See Section 9.8.1, “Providing extra patches†+for details. 19.2. How patches are applied @@ -7957,8 +7954,8 @@ by a plus + sign. E.g.: Your-Name Your-Surname - * for an individual who sponsored who sponsored the submitted work, - use their name and surname: + * for an individual who sponsored the submitted work, use their + name and surname: Your-Name Your-Surname @@ -8053,13 +8050,22 @@ 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. +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 preparing patchseries +[https://man.sr.ht/git.sr.ht/#sending-patches-upstream] 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. + 22.5.3. Cover letter If you want to present the whole patch set in a separate mail, add @@ -8479,14 +8485,12 @@ Table of Contents 25. Makedev syntax documentation 26. Makeusers syntax documentation - 26.1. Caveat with automatic UIDs and GIDs - 27. Migrating from older Buildroot versions - 27.1. General approach 27.2. Migrating to 2016.11 27.3. Migrating to 2017.08 + 27.4. Migrating to 2023.11 Chapter 25. Makedev syntax documentation @@ -8509,14 +8513,20 @@ 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 + + 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) + 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 @@ -8525,19 +8535,19 @@ There are a few non-trivial blocks: 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: +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/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): +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 750 foo bar - - - - - +/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 @@ -8756,3 +8766,37 @@ directory. An RPATH pointing to $(HOST_DIR)/usr/lib is no longer accepted. +27.4. 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 +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/manual.txt b/docs/manual/manual.txt deleted file mode 100644 index d6534ca295..0000000000 --- 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) 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.txt b/docs/manual/migrating.adoc similarity index 69% rename from docs/manual/migrating.txt rename to docs/manual/migrating.adoc index cb1f5eacc9..c0f89cbf07 100644 --- a/docs/manual/migrating.txt +++ b/docs/manual/migrating.adoc @@ -86,3 +86,40 @@ 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.original/manual/package-make-target.txt b/docs/manual/package-make-target.adoc similarity index 100% rename from docs.original/manual/package-make-target.txt rename to docs/manual/package-make-target.adoc diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.txt deleted file mode 100644 index 795c7d46de..0000000000 --- a/docs/manual/package-make-target.txt +++ /dev/null @@ -1,96 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[pkg-build-steps]] - -==== Package-specific _make_ targets - -Running +make + builds and installs that particular package -and its dependencies. - -For packages relying on the Buildroot infrastructure, there are -numerous special make targets that can be called independently like -this: - ------------- -make - ------------- - -The package build targets are (in the order they are executed): - -[width="90%",cols="^1,4",options="header"] -|=================================================== -| command/target | Description - -| +source+ | Fetch the source (download the tarball, clone -the source repository, etc) - -| +depends+ | Build and install all dependencies required to -build the package - -| +extract+ | Put the source in the package build directory -(extract the tarball, copy the source, etc) - -| +patch+ | Apply the patches, if any - -| +configure+ | Run the configure commands, if any - -| +build+ | Run the compilation commands - -| +install-staging+ | -*target package:* Run the installation of the package in the -staging directory, if necessary - -| +install-target+ | -*target package:* Run the installation of the package in the -target directory, if necessary - -| +install+ | -*target package:* Run the 2 previous installation commands - -*host package:* Run the installation of the package in the host -directory - -|=================================================== - -Additionally, there are some other useful make targets: - -[width="90%",cols="^1,4",options="header"] -|=================================================== -| command/target | Description - -| +show-depends+ | Displays the first-order dependencies required to build the -package - -| +show-recursive-depends+ | Recursively displays the dependencies - required to build the package - -| +show-rdepends+ | Displays the first-order reverse dependencies of - the package (i.e packages that directly depend on it) - -| +show-recursive-rdepends+ | Recursively displays the reverse - dependencies of the package (i.e the packages that depend on it, - directly or indirectly) - -| +graph-depends+ | Generate a dependency graph of the package, in the -context of the current Buildroot configuration. See -xref:graph-depends[this section] for more details about dependency -graphs. - -| +graph-rdepends+ | Generate a graph of this package reverse - dependencies (i.e the packages that depend on it, directly or - indirectly) - -| +dirclean+ | Remove the whole package build directory - -| +reinstall+ | Re-run the install commands - -| +rebuild+ | Re-run the compilation commands - this only makes -sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file -directly in the build directory - -| +reconfigure+ | Re-run the configure commands, then rebuild - this only -makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a -file directly in the build directory - -|=================================================== diff --git a/docs/manual/patch-policy.txt b/docs/manual/patch-policy.adoc similarity index 100% rename from docs/manual/patch-policy.txt rename to docs/manual/patch-policy.adoc diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.adoc similarity index 97% rename from docs/manual/prerequisite.txt rename to docs/manual/prerequisite.adoc index 48be489f90..262a5153f5 100644 --- a/docs/manual/prerequisite.txt +++ b/docs/manual/prerequisite.adoc @@ -69,7 +69,7 @@ development packages typically have a _-dev_ or _-devel_ suffix. 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+ +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: @@ -78,7 +78,6 @@ corresponding tool on the host system: ** +cvs+ ** +git+ ** +mercurial+ -** +rsync+ ** +scp+ ** +sftp+ ** +subversion+ diff --git a/docs.original/manual/quickstart.txt b/docs/manual/quickstart.adoc similarity index 100% rename from docs.original/manual/quickstart.txt rename to docs/manual/quickstart.adoc diff --git a/docs/manual/quickstart.txt b/docs/manual/quickstart.txt deleted file mode 100644 index 80569e85f4..0000000000 --- a/docs/manual/quickstart.txt +++ /dev/null @@ -1,125 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Buildroot quick start - -*Important*: you can and should *build everything as a normal user*. There -is no need to be root to configure and use Buildroot. By running all -commands as a regular user, you protect your system against packages -behaving badly during compilation and installation. - -The first step when using Buildroot is to create a configuration. -Buildroot has a nice configuration tool similar to the one you can -find in the http://www.kernel.org/[Linux kernel] or in -http://www.busybox.net/[BusyBox]. - -From the buildroot directory, run - --------------------- - $ make menuconfig --------------------- - -for the original curses-based configurator, or - --------------------- - $ make nconfig --------------------- - -for the new curses-based configurator, or - --------------------- - $ make xconfig --------------------- - -for the Qt-based configurator, or - --------------------- - $ make gconfig --------------------- - -for the GTK-based configurator. - -All of these "make" commands will need to build a configuration -utility (including the interface), so you may need to install -"development" packages for relevant libraries used by the -configuration utilities. Refer to xref:requirement[] for more details, -specifically the xref:requirement-optional[optional requirements] -to get the dependencies of your favorite interface. - -For each menu entry in the configuration tool, you can find associated -help that describes the purpose of the entry. Refer to xref:configure[] -for details on some specific configuration aspects. - -Once everything is configured, the configuration tool generates a -+.config+ file that contains the entire configuration. This file will be -read by the top-level Makefile. - -To start the build process, simply run: - --------------------- - $ make --------------------- - -By default, Buildroot does not support top-level parallel build, so -running +make -jN+ is not necessary. There is however experimental -support for top-level parallel build, see -xref:top-level-parallel-build[]. - -The `make` command will generally perform the following steps: - -* download source files (as required); -* configure, build and install the cross-compilation toolchain, or - simply import an external toolchain; -* configure, build and install selected target packages; -* build a kernel image, if selected; -* build a bootloader image, if selected; -* create a root filesystem in selected formats. - -Buildroot output is stored in a single directory, +output/+. -This directory contains several subdirectories: - -* +images/+ where all the images (kernel image, bootloader and root - filesystem images) are stored. These are the files you need to put - on your target system. - -* +build/+ where all the components are built (this includes tools - needed by Buildroot on the host and packages compiled for the - target). This directory contains one subdirectory for each of these - components. - -* +host/+ contains both the tools built for the host, and the sysroot - of the target toolchain. The former is an installation of tools - compiled for the host that are needed for the proper execution of - Buildroot, including the cross-compilation toolchain. The latter - is a hierarchy similar to a root filesystem hierarchy. It contains - the headers and libraries of all user-space packages that provide - and install libraries used by other packages. However, this - directory is 'not' intended to be the root filesystem for the target: - it contains a lot of development files, unstripped binaries and - libraries that make it far too big for an embedded system. These - development files are used to compile libraries and applications for - the target that depend on other libraries. - -* +staging/+ is a symlink to the target toolchain sysroot inside - +host/+, which exists for backwards compatibility. - -* +target/+ which contains 'almost' the complete root filesystem for - the target: everything needed is present except the device files in - +/dev/+ (Buildroot can't create them because Buildroot doesn't run - as root and doesn't want to run as root). Also, it doesn't have the correct - permissions (e.g. setuid for the busybox binary). Therefore, this directory - *should not be used on your target*. Instead, you should use one of - the images built in the +images/+ directory. If you need an - extracted image of the root filesystem for booting over NFS, then - use the tarball image generated in +images/+ and extract it as - root. Compared to +staging/+, +target/+ contains only the files and - libraries needed to run the selected target applications: the - development files (headers, etc.) are not present, the binaries are - stripped. - -These commands, +make menuconfig|nconfig|gconfig|xconfig+ and +make+, are the -basic ones that allow to easily and quickly generate images fitting -your needs, with all the features and applications you enabled. - -More details about the "make" command usage are given in -xref:make-tips[]. diff --git a/docs.original/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.adoc similarity index 100% rename from docs.original/manual/rebuilding-packages.txt rename to docs/manual/rebuilding-packages.adoc diff --git a/docs/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.txt deleted file mode 100644 index 06d3855148..0000000000 --- a/docs/manual/rebuilding-packages.txt +++ /dev/null @@ -1,136 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[full-rebuild]] -=== Understanding when a full rebuild is necessary - -Buildroot does not attempt to detect what parts of the system should -be rebuilt when the system configuration is changed through +make -menuconfig+, +make xconfig+ or one of the other configuration -tools. In some cases, Buildroot should rebuild the entire system, in -some cases, only a specific subset of packages. But detecting this in -a completely reliable manner is very difficult, and therefore the -Buildroot developers have decided to simply not attempt to do this. - -Instead, it is the responsibility of the user to know when a full -rebuild is necessary. As a hint, here are a few rules of thumb that -can help you understand how to work with Buildroot: - - * When the target architecture configuration is changed, a complete - rebuild is needed. Changing the architecture variant, the binary - format or the floating point strategy for example has an impact on - the entire system. - - * When the toolchain configuration is changed, a complete rebuild - generally is needed. Changing the toolchain configuration often - involves changing the compiler version, the type of C library or - its configuration, or some other fundamental configuration item, - and these changes have an impact on the entire system. - - * When an additional package is added to the configuration, a full - rebuild is not necessarily needed. Buildroot will detect that this - package has never been built, and will build it. However, if this - package is a library that can optionally be used by packages that - have already been built, Buildroot will not automatically rebuild - those. Either you know which packages should be rebuilt, and you - can rebuild them manually, or you should do a full rebuild. For - example, let's suppose you have built a system with the +ctorrent+ - package, but without +openssl+. Your system works, but you realize - you would like to have SSL support in +ctorrent+, so you enable the - +openssl+ package in Buildroot configuration and restart the - build. Buildroot will detect that +openssl+ should be built and - will be build it, but it will not detect that +ctorrent+ should be - rebuilt to benefit from +openssl+ to add OpenSSL support. You will - either have to do a full rebuild, or rebuild +ctorrent+ itself. - - * When a package is removed from the configuration, Buildroot does - not do anything special. It does not remove the files installed by - this package from the target root filesystem or from the toolchain - _sysroot_. A full rebuild is needed to get rid of this - package. However, generally you don't necessarily need this package - to be removed right now: you can wait for the next lunch break to - restart the build from scratch. - - * When the sub-options of a package are changed, the package is not - automatically rebuilt. After making such changes, rebuilding only - this package is often sufficient, unless enabling the package - sub-option adds some features to the package that are useful for - another package which has already been built. Again, Buildroot does - not track when a package should be rebuilt: once a package has been - built, it is never rebuilt unless explicitly told to do so. - - * When a change to the root filesystem skeleton is made, a full - rebuild is needed. However, when changes to the root filesystem - overlay, a post-build script or a post-image script are made, - there is no need for a full rebuild: a simple +make+ invocation - will take the changes into account. - - * When a package listed in +FOO_DEPENDENCIES+ is rebuilt or removed, - the package +foo+ is not automatically rebuilt. For example, if a - package +bar+ is listed in +FOO_DEPENDENCIES+ with +FOO_DEPENDENCIES - = bar+ and the configuration of the +bar+ package is changed, the - configuration change would not result in a rebuild of package +foo+ - automatically. In this scenario, you may need to either rebuild any - packages in your build which reference +bar+ in their +DEPENDENCIES+, - or perform a full rebuild to ensure any +bar+ dependent packages are - up to date. - -Generally speaking, when you're facing a build error and you're unsure -of the potential consequences of the configuration changes you've -made, do a full rebuild. If you get the same build error, then you are -sure that the error is not related to partial rebuilds of packages, -and if this error occurs with packages from the official Buildroot, do -not hesitate to report the problem! As your experience with Buildroot -progresses, you will progressively learn when a full rebuild is really -necessary, and you will save more and more time. - -For reference, a full rebuild is achieved by running: - ---------------- -$ make clean all ---------------- - -[[rebuild-pkg]] -=== Understanding how to rebuild packages - -One of the most common questions asked by Buildroot users is how to -rebuild a given package or how to remove a package without rebuilding -everything from scratch. - -Removing a package is unsupported by Buildroot without -rebuilding from scratch. This is because Buildroot doesn't keep track -of which package installs what files in the +output/staging+ and -+output/target+ directories, or which package would be compiled differently -depending on the availability of another package. - -The easiest way to rebuild a single package from scratch is to remove -its build directory in +output/build+. Buildroot will then re-extract, -re-configure, re-compile and re-install this package from scratch. You -can ask buildroot to do this with the +make -dirclean+ command. - -On the other hand, if you only want to restart the build process of a -package from its compilation step, you can run +make -rebuild+. It -will restart the compilation and installation of the package, but not from -scratch: it basically re-executes +make+ and +make install+ inside the package, -so it will only rebuild files that changed. - -If you want to restart the build process of a package from its configuration -step, you can run +make -reconfigure+. It will restart the -configuration, compilation and installation of the package. - -While +-rebuild+ implies +-reinstall+ and -+-reconfigure+ implies +-rebuild+, these targets as well -as ++ only act on the said package, and do not trigger re-creating -the root filesystem image. If re-creating the root filesystem in necessary, -one should in addition run +make+ or +make all+. - -Internally, Buildroot creates so-called _stamp files_ to keep track of -which build steps have been completed for each package. They are -stored in the package build directory, -+output/build/-/+ and are named -+.stamp_+. The commands detailed above simply manipulate -these stamp files to force Buildroot to restart a specific set of -steps of a package build process. - -Further details about package special make targets are explained in -xref:pkg-build-steps[]. diff --git a/docs.original/manual/release-engineering.txt b/docs/manual/release-engineering.adoc similarity index 100% rename from docs.original/manual/release-engineering.txt rename to docs/manual/release-engineering.adoc diff --git a/docs/manual/release-engineering.txt b/docs/manual/release-engineering.txt deleted file mode 100644 index 0cf38183f9..0000000000 --- a/docs/manual/release-engineering.txt +++ /dev/null @@ -1,34 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[RELENG]] -== Release Engineering -=== Releases - -The Buildroot project makes quarterly releases with monthly bugfix -releases. The first release of each year is a long term support -release, LTS. - - - Quarterly releases: 2020.02, 2020.05, 2020.08, and 2020.11 - - Bugfix releases: 2020.02.1, 2020.02.2, ... - - LTS releases: 2020.02, 2021.02, ... - -Releases are supported until the first bugfix release of the next -release, e.g., 2020.05.x is EOL when 2020.08.1 is released. - -LTS releases are supported until the first bugfix release of the next -LTS, e.g., 2020.02.x is supported until 2021.02.1 is released. - -=== Development - -Each release cycle consist of two months of development on the +master+ -branch and one month stabilization before the release is made. During -this phase no new features are added to +master+, only bugfixes. - -The stabilization phase starts with tagging +-rc1+, and every week until -the release, another release candidate is tagged. - -To handle new features and version bumps during the stabilization phase, -a +next+ branch may be created for these features. Once the current -release has been made, the +next+ branch is merged into +master+ and -the development cycle for the next release continues there. 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.original/manual/using-buildroot-debugger.txt b/docs/manual/using-buildroot-debugger.adoc similarity index 100% rename from docs.original/manual/using-buildroot-debugger.txt rename to docs/manual/using-buildroot-debugger.adoc diff --git a/docs/manual/using-buildroot-debugger.txt b/docs/manual/using-buildroot-debugger.txt deleted file mode 100644 index 9a8a7dfbaf..0000000000 --- a/docs/manual/using-buildroot-debugger.txt +++ /dev/null @@ -1,53 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -==== Using +gdb+ in Buildroot - -Buildroot allows to do cross-debugging, where the debugger runs on the -build machine and communicates with +gdbserver+ on the target to -control the execution of the program. - -To achieve this: - -* If you are using an _internal toolchain_ (built by Buildroot), you - must enable +BR2_PACKAGE_HOST_GDB+, +BR2_PACKAGE_GDB+ and - +BR2_PACKAGE_GDB_SERVER+. This ensures that both the cross gdb and - gdbserver get built, and that gdbserver gets installed to your target. - -* If you are using an _external toolchain_, you should enable - +BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY+, which will copy the - gdbserver included with the external toolchain to the target. If your - external toolchain does not have a cross gdb or gdbserver, it is also - possible to let Buildroot build them, by enabling the same options as - for the _internal toolchain backend_. - -Now, to start debugging a program called +foo+, you should run on the -target: - ----------------------------- -gdbserver :2345 foo ----------------------------- - -This will cause +gdbserver+ to listen on TCP port 2345 for a connection -from the cross gdb. - -Then, on the host, you should start the cross gdb using the following -command line: - ----------------------------- -/output/host/bin/-gdb -ix /output/staging/usr/share/buildroot/gdbinit foo ----------------------------- - -Of course, +foo+ must be available in the current directory, built -with debugging symbols. Typically you start this command from the -directory where +foo+ is built (and not from +output/target/+ as the -binaries in that directory are stripped). - -The +/output/staging/usr/share/buildroot/gdbinit+ file will tell the -cross gdb where to find the libraries of the target. - -Finally, to connect to the target from the cross gdb: - ----------------------------- -(gdb) target remote :2345 ----------------------------- diff --git a/docs.original/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.adoc similarity index 100% rename from docs.original/manual/using-buildroot-development.txt rename to docs/manual/using-buildroot-development.adoc diff --git a/docs/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.txt deleted file mode 100644 index da6dd822fb..0000000000 --- a/docs/manual/using-buildroot-development.txt +++ /dev/null @@ -1,121 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -==== Using Buildroot during development - -The normal operation of Buildroot is to download a tarball, extract -it, configure, compile and install the software component found inside -this tarball. The source code is extracted in -+output/build/-+, which is a temporary directory: -whenever +make clean+ is used, this directory is entirely removed, and -re-created at the next +make+ invocation. Even when a Git or -Subversion repository is used as the input for the package source -code, Buildroot creates a tarball out of it, and then behaves as it -normally does with tarballs. - -This behavior is well-suited when Buildroot is used mainly as an -integration tool, to build and integrate all the components of an -embedded Linux system. However, if one uses Buildroot during the -development of certain components of the system, this behavior is not -very convenient: one would instead like to make a small change to the -source code of one package, and be able to quickly rebuild the system -with Buildroot. - -Making changes directly in +output/build/-+ is not -an appropriate solution, because this directory is removed on +make -clean+. - -Therefore, Buildroot provides a specific mechanism for this use case: -the +_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_ -file, which allows the user to tell Buildroot the location of the -source for certain packages. - -The default location of the override file is +$(CONFIG_DIR)/local.mk+, -as defined by the +BR2_PACKAGE_OVERRIDE_FILE+ configuration option. -+$(CONFIG_DIR)+ is the location of the Buildroot +.config+ file, so -+local.mk+ by default lives side-by-side with the +.config+ file, -which means: - -* In the top-level Buildroot source directory for in-tree builds - (i.e., when +O=+ is not used) -* In the out-of-tree directory for out-of-tree builds (i.e., when - +O=+ is used) - -If a different location than these defaults is required, it can be -specified through the +BR2_PACKAGE_OVERRIDE_FILE+ configuration -option. - -In this _override_ file, Buildroot expects to find lines of the form: - ------------------- -_OVERRIDE_SRCDIR = /path/to/pkg1/sources -_OVERRIDE_SRCDIR = /path/to/pkg2/sources ------------------- - -For example: - ------------------- -LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ -BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ ------------------- - -When Buildroot finds that for a given package, an -+_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to -download, extract and patch the package. Instead, it will directly use -the source code available in the specified directory and +make clean+ -will not touch this directory. This allows to point Buildroot to your -own directories, that can be managed by Git, Subversion, or any other -version control system. To achieve this, Buildroot will use _rsync_ to -copy the source code of the component from the specified -+_OVERRIDE_SRCDIR+ to +output/build/-custom/+. - -This mechanism is best used in conjunction with the +make --rebuild+ and +make -reconfigure+ targets. A +make --rebuild all+ sequence will _rsync_ the source code from -+_OVERRIDE_SRCDIR+ to +output/build/-custom+ (thanks to -_rsync_, only the modified files are copied), and restart the build -process of just this package. - -In the example of the +linux+ package above, the developer can then -make a source code change in +/home/bob/linux+ and then run: - ------------------------ -make linux-rebuild all ------------------------ - -and in a matter of seconds gets the updated Linux kernel image in -+output/images+. Similarly, a change can be made to the BusyBox source -code in +/home/bob/busybox+, and after: - ------------------------ -make busybox-rebuild all ------------------------ - -the root filesystem image in +output/images+ contains the updated -BusyBox. - -Source trees for big projects often contain hundreds or thousands of -files which are not needed for building, but will slow down the process -of copying the sources with _rsync_. Optionally, it is possible define -+_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS+ to skip syncing certain files -from the source tree. For example, when working on the +webkitgtk+ -package, the following will exclude the tests and in-tree builds from -a local WebKit source tree: - ------------------- -WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit -WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ - --exclude JSTests --exclude ManualTests --exclude PerformanceTests \ - --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ - --exclude WebKit.xcworkspace --exclude Websites --exclude Examples ------------------- - -By default, Buildroot skips syncing of VCS artifacts (e.g., the *.git* and -*.svn* directories). Some packages prefer to have these VCS directories -available during build, for example for automatically determining a precise -commit reference for version information. To undo this built-in filtering at a -cost of a slower speed, add these directories back: - ------------------- -LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git ------------------- diff --git a/docs.original/manual/using-buildroot-toolchain.txt b/docs/manual/using-buildroot-toolchain.adoc similarity index 100% rename from docs.original/manual/using-buildroot-toolchain.txt rename to docs/manual/using-buildroot-toolchain.adoc diff --git a/docs/manual/using-buildroot-toolchain.txt b/docs/manual/using-buildroot-toolchain.txt deleted file mode 100644 index 09408ef05a..0000000000 --- a/docs/manual/using-buildroot-toolchain.txt +++ /dev/null @@ -1,48 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -==== Using the generated toolchain outside Buildroot - -You may want to compile, for your target, your own programs or other -software that are not packaged in Buildroot. In order to do this you -can use the toolchain that was generated by Buildroot. - -The toolchain generated by Buildroot is located by default in -+output/host/+. The simplest way to use it is to add -+output/host/bin/+ to your PATH environment variable and then to -use +ARCH-linux-gcc+, +ARCH-linux-objdump+, +ARCH-linux-ld+, etc. - -Alternatively, Buildroot can also export the toolchain and the development -files of all selected packages, as an SDK, by running the command -+make sdk+. This generates a tarball of the content of the host directory -+output/host/+, named +_sdk-buildroot.tar.gz+ (which can be -overriden by setting the environment variable +BR2_SDK_PREFIX+) and -located in the output directory +output/images/+. - -This tarball can then be distributed to application developers, when -they want to develop their applications that are not (yet) packaged as -a Buildroot package. - -Upon extracting the SDK tarball, the user must run the script -+relocate-sdk.sh+ (located at the top directory of the SDK), to make -sure all paths are updated with the new location. - -Alternatively, if you just want to prepare the SDK without generating -the tarball (e.g. because you will just be moving the +host+ directory, -or will be generating the tarball on your own), Buildroot also allows -you to just prepare the SDK with +make prepare-sdk+ without actually -generating a tarball. - -For your convenience, by selecting the option -+BR2_PACKAGE_HOST_ENVIRONMENT_SETUP+, you can get a -+environment-setup+ script installed in +output/host/+ and therefore -in your SDK. This script can be sourced with -+. your/sdk/path/environment-setup+ to export a number of environment -variables that will help cross-compile your projects using the -Buildroot SDK: the +PATH+ will contain the SDK binaries, standard -_autotools_ variables will be defined with the appropriate values, and -+CONFIGURE_FLAGS+ will contain basic +./configure+ options to -cross-compile _autotools_ projects. It also provides some useful -commands. Note however that once this script is sourced, the -environment is setup only for cross-compilation, and no longer for -native compilation. diff --git a/docs/manual/writing-rules.txt b/docs/manual/writing-rules.adoc similarity index 100% rename from docs/manual/writing-rules.txt rename to docs/manual/writing-rules.adoc diff --git a/docs/website/association.html b/docs/website/association.html index 0215f85874..0c2306f348 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/download.html b/docs/website/download.html index 46db748c82..c1393134df 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -8,105 +8,105 @@
      Download
      -

      Latest long term support release: 2023.02.4

      +

      Latest stable / long term support release: 2024.02

      - -

      Latest stable release: 2023.08

      - - @@ -116,97 +116,41 @@
      -
      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

      +

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

      +

      To grab a copy of the repository use

      -
      - - - - -

      +
      + + + + +

      -

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

      +

      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
      - Please use the native git protocol if at all possible, as it's a lot - more efficient than HTTP. +

      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.

      -

      - - 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 e1909291f6..548ed7ad53 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/news.html b/docs/website/news.html index 2983d385b2..a51da7f4bb 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,404 @@

      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.

        +
        +
        +
      • +
      • @@ -20,7 +418,8 @@

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

        diff --git a/docs/website/support.html b/docs/website/support.html index 90231f601c..28873c6d76 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 @@ + + +
        diff --git a/images/PDF_certificate_example.gif b/images/PDF_certificate_example.gif deleted file mode 100644 index 410c934028..0000000000 Binary files a/images/PDF_certificate_example.gif and /dev/null differ diff --git a/images/example_wipe.gif b/images/example_wipe.gif deleted file mode 100644 index 68575a8dcf..0000000000 Binary files a/images/example_wipe.gif and /dev/null differ diff --git a/images/shred_db.png b/images/shred_db.png deleted file mode 100644 index 9bb8064d55..0000000000 Binary files a/images/shred_db.png and /dev/null differ diff --git a/linux/Config.in b/linux/Config.in index 7ddcf013f8..d520dc379f 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -28,8 +28,8 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (6.4)" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4 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.162-cip24)" @@ -128,7 +128,7 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "6.4.16" if BR2_LINUX_KERNEL_LATEST_VERSION + default "6.6.22" 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 \ diff --git a/linux/linux.hash b/linux/linux.hash index 283c07693f..734ff27a58 100644 --- a/linux/linux.hash +++ b/linux/linux.hash @@ -1,13 +1,12 @@ # From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc -sha256 9626ec84a39ecb009bf11a271dd520941159c165d4e62f82e3a77b79d20ff27d linux-6.4.16.tar.xz -sha256 f9ebfe3ddc5152d87b37e33be30e31875d137433be10a57ce29d2eae7b6e91b1 linux-6.1.57.tar.xz +sha256 23e3e7b56407250f5411bdab95763d0bc4e3a19dfa431d951df7eacabd61a2f4 linux-6.6.22.tar.xz +sha256 d150d2d9d416877668d8b56f75759f166168d192419eefaa942ed67225cbec06 linux-6.1.82.tar.xz # From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -sha256 14835e629e237f136cfed484fdb533c95242429809bdcdb2a2d66dfcb7447170 linux-5.15.135.tar.xz -sha256 2b141fce994364fbbf137b01e7910d3518b8cdbdf18f1811b48470ab4ce2fa05 linux-5.10.198.tar.xz -sha256 39701815a7a1b5ea4253db18e9327a45926a944499628d032da63c1bb6ea623e linux-5.4.258.tar.xz +sha256 f0805225f4a5b24d0bba9302c2c2f261c04f737ac5dd931da9b112e9f3e4a47e linux-5.15.152.tar.xz +sha256 84cf30223239ec3333a5f7b2a7fba2042bba70d1582a139f7543956af871ad80 linux-5.10.213.tar.xz +sha256 3599d5959a403e64be407d7f05e56cb270d6ddd154e89a596609919ab1e2e366 linux-5.4.272.tar.xz # From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc -sha256 636166769dc232d18f399f40c22107c289aab8702e752301588e64ab582860ae linux-4.19.296.tar.xz -sha256 bff085d8832dd5c3d717beeebdff78a0b678f0a2307f83acf22764dabdcb0a5a linux-4.14.327.tar.xz +sha256 95ec94c4ab8f46d8a54430893f9bd653c46b0f1587d216818aa8f52fd313de69 linux-4.19.310.tar.xz # Locally computed sha256 fb0edc3c18e47d2b6974cb0880a0afb5c3fa08f50ee87dfdf24349405ea5f8ae linux-cip-5.10.162-cip24.tar.gz sha256 b5539243f187e3d478d76d44ae13aab83952c94b885ad889df6fa9997e16a441 linux-cip-5.10.162-cip24-rt10.tar.gz diff --git a/linux/linux.mk b/linux/linux.mk index 1db5c6046d..4e12b36c1f 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -411,6 +411,10 @@ 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) @@ -432,6 +436,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 diff --git a/manual.mk b/manual.mk deleted file mode 100644 index 2c6784cd9b..0000000000 --- a/manual.mk +++ /dev/null @@ -1,10 +0,0 @@ - ################################################################################ -# -# The ShredOS user and developer manual -# -################################################################################ - -MANUAL_SOURCES = $(sort $(wildcard shredos_manual/*.txt) $(wildcard images/*)) -MANUAL_RESOURCES = $(TOPDIR)/images - -$(eval $(call asciidoc-document)) diff --git a/package/Config.in b/package/Config.in index 7d8dc17591..086c25663d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -118,6 +118,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" @@ -155,7 +157,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" @@ -202,6 +203,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 @@ -272,7 +274,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" @@ -314,11 +315,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" @@ -328,6 +334,7 @@ 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" @@ -369,12 +376,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" @@ -385,7 +396,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" @@ -398,7 +408,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" @@ -443,6 +452,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" @@ -476,7 +486,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" @@ -529,6 +538,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" @@ -559,6 +569,7 @@ endmenu 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" @@ -626,6 +637,7 @@ 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/udev/Config.in" @@ -707,7 +719,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" @@ -718,6 +732,7 @@ 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" @@ -750,6 +765,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" @@ -782,7 +798,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 @@ -963,10 +978,13 @@ 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" @@ -979,6 +997,7 @@ menu "External python modules" 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" @@ -989,6 +1008,7 @@ 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" @@ -999,6 +1019,7 @@ menu "External python modules" source "package/python-brotli/Config.in" source "package/python-bsdiff4/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" @@ -1021,12 +1042,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" @@ -1040,6 +1061,7 @@ menu "External python modules" 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" @@ -1063,6 +1085,8 @@ menu "External python modules" 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" @@ -1083,8 +1107,14 @@ 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" @@ -1092,7 +1122,9 @@ menu "External python modules" 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" @@ -1120,13 +1152,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" @@ -1147,18 +1182,21 @@ menu "External python modules" 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" @@ -1216,11 +1254,11 @@ menu "External python modules" 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" @@ -1238,12 +1276,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" @@ -1259,7 +1299,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" @@ -1267,6 +1306,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" @@ -1289,6 +1329,7 @@ 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" @@ -1322,12 +1363,15 @@ menu "External python modules" 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" @@ -1336,6 +1380,7 @@ 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" @@ -1346,6 +1391,7 @@ menu "External python modules" 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" @@ -1355,6 +1401,8 @@ menu "External python modules" 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" @@ -1416,6 +1464,7 @@ menu "Audio/Sound" source "package/fdk-aac/Config.in" source "package/libao/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" @@ -1431,7 +1480,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" @@ -1504,6 +1552,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" @@ -1539,8 +1588,8 @@ 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" @@ -1579,9 +1628,11 @@ menu "Graphics" 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" @@ -1642,8 +1693,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" @@ -1705,6 +1758,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" @@ -1795,6 +1849,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" @@ -1891,7 +1946,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" @@ -1959,6 +2013,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" @@ -1977,6 +2032,7 @@ 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" @@ -1989,6 +2045,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" @@ -2132,9 +2189,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" @@ -2175,6 +2234,7 @@ endif 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" @@ -2196,6 +2256,7 @@ menu "Text and terminal handling" 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" @@ -2245,6 +2306,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" @@ -2334,6 +2396,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" @@ -2605,6 +2668,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" @@ -2616,6 +2680,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" @@ -2623,11 +2688,13 @@ 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" @@ -2660,6 +2727,7 @@ menu "System tools" 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" @@ -2712,11 +2780,13 @@ menu "System tools" 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" diff --git a/package/Config.in.host b/package/Config.in.host index aa1f15e3ac..f03ca16b7b 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" @@ -19,6 +20,7 @@ menu "Host utilities" 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" @@ -35,6 +37,7 @@ 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" @@ -60,6 +63,8 @@ menu "Host utilities" 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" @@ -96,6 +101,7 @@ 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" diff --git a/package/Makefile.in b/package/Makefile.in index 7e6ae19559..3e276d23d6 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -78,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) @@ -167,6 +167,9 @@ 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) @@ -260,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) \ @@ -304,6 +309,7 @@ TARGET_CONFIGURE_OPTS = \ HOST_MAKE_ENV = \ + GIT_DIR=. \ PATH=$(BR_PATH) \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ PKG_CONFIG_SYSROOT_DIR="/" \ 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 ad82c10172..0000000000 --- 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/0002-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch b/package/ace/0002-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch deleted file mode 100644 index 4f9fde5579..0000000000 --- a/package/ace/0002-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 82b139f921ddb549c1bd236030bbc86e314852b3 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 21 Feb 2023 14:20:11 +0100 -Subject: [PATCH] ACE/ace/SSL/SSL_Asynch_BIO.cpp: fix build with libressl >= - 3.5.0 - -Fix the following build failure with libressl >= 3.5.0: - -/tmp/instance-17/output-1/build/ace-7.0.6/ace/SSL/SSL_Asynch_BIO.cpp:45:19: error: variable 'BIO_METHOD methods_ACE' has initializer but incomplete type - 45 | static BIO_METHOD methods_ACE = - | ^~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/7f40d6dde03134238151c248fbbd66e4713546cb - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/DOCGroup/ACE_TAO/pull/2053] ---- - ACE/ace/SSL/SSL_Asynch_BIO.cpp | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/ace/SSL/SSL_Asynch_BIO.cpp b/ace/SSL/SSL_Asynch_BIO.cpp -index 0faa775fc0..5543598873 100644 ---- a/ace/SSL/SSL_Asynch_BIO.cpp -+++ b/ace/SSL/SSL_Asynch_BIO.cpp -@@ -41,7 +41,8 @@ extern "C" - - #define BIO_TYPE_ACE ( 21 | BIO_TYPE_SOURCE_SINK ) - --#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) - static BIO_METHOD methods_ACE = - { - BIO_TYPE_ACE, // BIO_TYPE_PROXY_SERVER, -@@ -68,14 +69,15 @@ static BIO_METHOD methods_ACE = - #else - static BIO_METHOD* methods_ACE; - # define BIO_set_num(b, val) --#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */ -+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) */ - - ACE_BEGIN_VERSIONED_NAMESPACE_DECL - - BIO * - ACE_SSL_make_BIO (void * ssl_asynch_stream) - { --#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) - BIO * const pBIO = BIO_new (&methods_ACE); - #else - if (!methods_ACE) --- -2.39.0 - diff --git a/package/ace/Config.in b/package/ace/Config.in index 5000f2352f..cf3819284b 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 2387927879..0c5ed12c97 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 29555eea74..1f79508629 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 92f2251878..056a31baa8 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 32e904baf3..a6094fb985 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 c898421dc5..6ae0581ef5 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/acpica.mk b/package/acpica/acpica.mk index 81f7d8e103..bbabd9de69 100644 --- a/package/acpica/acpica.mk +++ b/package/acpica/acpica.mk @@ -14,7 +14,7 @@ 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 @@ -27,7 +27,7 @@ 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 f43a7930a4..5310d78144 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 db74e9cb76..463f0f24d6 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/aespipe/aespipe.hash b/package/aespipe/aespipe.hash index f7491278e0..4fe7d0753b 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 fd4f776dda..4769536d2f 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/alsa-lib/0002-Fix-symver-build-error-on-non-ELF-platforms.patch b/package/alsa-lib/0002-Fix-symver-build-error-on-non-ELF-platforms.patch deleted file mode 100644 index 499bbb2ae4..0000000000 --- a/package/alsa-lib/0002-Fix-symver-build-error-on-non-ELF-platforms.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 317aafb133ed797c4cd62599565a77ecc595daea Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Thu, 29 Jun 2023 07:57:21 +0200 -Subject: [PATCH] Fix symver build error on non-ELF platforms - -The following error is observed on Microblaze [1] build: - - error: symver is only supported on ELF platforms - -due to using __attribute__((symver)) on non-ELF platform. - -[1] http://autobuild.buildroot.net/results/1e9/1e965d83d75615f35308440c5db044314a349357/build-end.log - -ac_check_attribute_symver.m4 was downloaded from -https://github.com/smuellerDD/libkcapi/blob/master/m4/ac_check_attribute_symver.m4 - -Upstream: https://github.com/alsa-project/alsa-lib/pull/334 - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 1 + - include/alsa-symbols.h | 2 +- - m4/ac_check_attribute_symver.m4 | 24 ++++++++++++++++++++++++ - 3 files changed, 26 insertions(+), 1 deletion(-) - create mode 100644 m4/ac_check_attribute_symver.m4 - -diff --git a/configure.ac b/configure.ac -index 0588eec3..71ec0b15 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -46,6 +46,7 @@ dnl Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST - AC_C_INLINE - AC_HEADER_TIME -+AC_CHECK_ATTRIBUTE_SYMVER - - dnl Checks for library functions. - AC_PROG_GCC_TRADITIONAL -diff --git a/include/alsa-symbols.h b/include/alsa-symbols.h -index f8c49103..521e5956 100644 ---- a/include/alsa-symbols.h -+++ b/include/alsa-symbols.h -@@ -29,7 +29,7 @@ - #define INTERNAL_CONCAT2_2(Pre, Post) Pre##Post - #define INTERNAL(Name) INTERNAL_CONCAT2_2(__, Name) - --#if __GNUC__ > 10 -+#if HAVE_ATTRIBUTE_SYMVER && __GNUC__ > 10 - #define symbol_version(real, name, version) \ - extern __typeof (real) real __attribute__((symver (#name "@" #version))) - #define default_symbol_version(real, name, version) \ -diff --git a/m4/ac_check_attribute_symver.m4 b/m4/ac_check_attribute_symver.m4 -new file mode 100644 -index 00000000..b484c5eb ---- /dev/null -+++ b/m4/ac_check_attribute_symver.m4 -@@ -0,0 +1,24 @@ -+dnl Check compiler support for symver function attribute -+AC_DEFUN([AC_CHECK_ATTRIBUTE_SYMVER], [ -+ saved_CFLAGS=$CFLAGS -+ CFLAGS="-O0 -Werror" -+ AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM( -+ [[ -+ void _test_attribute_symver(void); -+ __attribute__((__symver__("sym@VER_1.2.3"))) void _test_attribute_symver(void) {} -+ ]], -+ [[ -+ _test_attribute_symver() -+ ]] -+ )], -+ [ -+ AC_DEFINE([HAVE_ATTRIBUTE_SYMVER], 1, [Define to 1 if __attribute__((symver)) is supported]) -+ ], -+ [ -+ AC_DEFINE([HAVE_ATTRIBUTE_SYMVER], 0, [Define to 0 if __attribute__((symver)) is not supported]) -+ ] -+ ) -+ CFLAGS=$saved_CFLAGS -+]) -+ --- -2.39.2 - diff --git a/package/alsa-lib/alsa-lib.hash b/package/alsa-lib/alsa-lib.hash index f6735cd540..830643dea8 100644 --- a/package/alsa-lib/alsa-lib.hash +++ b/package/alsa-lib/alsa-lib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 dc9c643fdc4ccfd0572cc685858dd41e08afb583f30460b317e4188275f615b2 alsa-lib-1.2.9.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 70f4c969d5..246761d4e6 100644 --- a/package/alsa-lib/alsa-lib.mk +++ b/package/alsa-lib/alsa-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.2.9 +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-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 97c4729bf9..145c9da017 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 44cd928e45..bf98f578cd 100644 --- a/package/alsa-utils/alsa-utils.hash +++ b/package/alsa-utils/alsa-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e7623d4525595f92e11ce25ee9a97f2040a14c6e4dcd027aa96e06cbce7817bd alsa-utils-1.2.9.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 20fe65afe6..3ece7ddca4 100644 --- a/package/alsa-utils/alsa-utils.mk +++ b/package/alsa-utils/alsa-utils.mk @@ -4,11 +4,13 @@ # ################################################################################ -ALSA_UTILS_VERSION = 1.2.9 +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/amlogic-boot-fip/Config.in.host b/package/amlogic-boot-fip/Config.in.host new file mode 100644 index 0000000000..bccc6296d1 --- /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 0000000000..1a08341532 --- /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 0000000000..f98887cfcd --- /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 1f0020f65a..84248761b9 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,5 +1,5 @@ -# From https://archive.apache.org/dist/httpd/httpd-2.4.57.tar.bz2.{sha256,sha512} -sha256 dbccb84aee95e095edfbb81e5eb926ccd24e6ada55dcd83caecb262e5cf94d2a httpd-2.4.57.tar.bz2 -sha512 4d1e0a274ee90bdfb5f38d4a7d73a7367ed1c6388e26280e640014e49abc0df03683705b88dcfe2ec2da313dda4c7b4a3b86daffa1911f58e224eba89d82d155 httpd-2.4.57.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 320a6ad20e..1b095c5eb1 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,9 +4,9 @@ # ################################################################################ -APACHE_VERSION = 2.4.57 +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 80ed0b0832..97e6d6a558 100644 --- a/package/apcupsd/apcupsd.mk +++ b/package/apcupsd/apcupsd.mk @@ -71,8 +71,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/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index 02b6d5e277..477db1c593 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -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/arp-scan/Config.in b/package/arp-scan/Config.in index ed70b39586..cf7377d2f9 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.mk b/package/arp-scan/arp-scan.mk index 89644be9d3..67eb1881db 100644 --- a/package/arp-scan/arp-scan.mk +++ b/package/arp-scan/arp-scan.mk @@ -23,4 +23,8 @@ 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 a5fb9ccf1b..e76a9f84fd 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/assimp.hash b/package/assimp/assimp.hash index 86a90927ed..79415706f9 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 0b6034fb8e..2765cc7171 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 bee8fdbb1b..0000000000 --- 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/0006-main-iostream.c-fix-build-with-libressl.patch b/package/asterisk/0006-main-iostream.c-fix-build-with-libressl.patch deleted file mode 100644 index cdd3aa8cfb..0000000000 --- a/package/asterisk/0006-main-iostream.c-fix-build-with-libressl.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 9569fa20fec49f530170a3042afb99556cf66a2e Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 17 Apr 2022 10:52:42 +0200 -Subject: [PATCH] main/iostream.c: fix build with libressl - -Fix the following build failure with libressl by using SSL_is_server -which is available since version 2.7.0 and -https://github.com/libressl-portable/openbsd/commit/d7ec516916c5eaac29b02d7a8ac6570f63b458f7: - -iostream.c: In function 'ast_iostream_close': -iostream.c:559:41: error: invalid use of incomplete typedef 'SSL' {aka 'struct ssl_st'} - 559 | if (!stream->ssl->server) { - | ^~ - -Fixes: - - http://autobuild.buildroot.org/results/ce4d62d00bb77ba5b303cacf6be7e350581a62f9 - -Signed-off-by: Fabrice Fontaine ---- - main/iostream.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/main/iostream.c b/main/iostream.c -index d060b6d6d4..b8ab80ec91 100644 ---- a/main/iostream.c -+++ b/main/iostream.c -@@ -553,7 +553,7 @@ int ast_iostream_close(struct ast_iostream *stream) - ERR_error_string(sslerr, err), ssl_error_to_string(sslerr, res)); - } - --#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) -+#if !(defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x2070000L)) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) - if (!SSL_is_server(stream->ssl)) { - #else - if (!stream->ssl->server) { --- -2.35.1 - diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index 41e1da2962..246f4219aa 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 ef1ddc07dc02bb0c5f5ba58a5e42e42bcb63e55ac94199be8e3b5d3910f43736 asterisk-16.30.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 4f1a80ba8b..d1f3ea82d3 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 16.30.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-core/at-spi2-core.hash b/package/at-spi2-core/at-spi2-core.hash index 8f856e1cac..4257ba03a7 100644 --- a/package/at-spi2-core/at-spi2-core.hash +++ b/package/at-spi2-core/at-spi2-core.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/at-spi2-core/2.48/at-spi2-core-2.48.3.sha256sum -sha256 37316df43ca9989ce539d54cf429a768c28bb38a0b34950beadd0421827edf55 at-spi2-core-2.48.3.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 0ca5bc1817..828280de1a 100644 --- a/package/at-spi2-core/at-spi2-core.mk +++ b/package/at-spi2-core/at-spi2-core.mk @@ -4,8 +4,8 @@ # ################################################################################ -AT_SPI2_CORE_VERSION_MAJOR = 2.48 -AT_SPI2_CORE_VERSION = $(AT_SPI2_CORE_VERSION_MAJOR).3 +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 = https://download.gnome.org/sources/at-spi2-core/$(AT_SPI2_CORE_VERSION_MAJOR) AT_SPI2_CORE_LICENSE = LGPL-2.1+ 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 c0ae042b01..0000000000 --- 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 e411a934e5..a7ade8ad37 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 68def46cf9..e9f338acf2 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 288501bc11..d41178cac4 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/atop/0001-atop.h-include-time.h.patch b/package/atop/0001-atop.h-include-time.h.patch new file mode 100644 index 0000000000..2b8a390e71 --- /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 e42354739a..0b7ee061dd 100644 --- a/package/atop/atop.hash +++ b/package/atop/atop.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 3b002cb9774a7d6b3e820451773ae5e909b5e725738c6f375f14d1c1976d9fba atop-2.8.0.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 04a554b474..27cd537f64 100644 --- a/package/atop/atop.mk +++ b/package/atop/atop.mk @@ -4,11 +4,11 @@ # ################################################################################ -ATOP_VERSION = 2.8.0 +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 0000000000..ee029e9735 --- /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 334a438cae..f63c0e312a 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 0327497e1e..1d24144f46 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/audit/0001-Define-__attribute_malloc__-when-needed.patch b/package/audit/0001-Define-__attribute_malloc__-when-needed.patch deleted file mode 100644 index 3dd5359bfc..0000000000 --- a/package/audit/0001-Define-__attribute_malloc__-when-needed.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cf93d8579d5cec0b1ba585bd661776f03c2743ba Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 27 Jun 2023 20:19:13 +0200 -Subject: [PATCH] Define __attribute_malloc__ when needed - -attribute_malloc is not available on musl - -auparse.h: In function 'auparse_init': -auparse.h:54:2: error: expected declaration specifiers before '__attribute_malloc__' - 54 | __attribute_malloc__ __attr_dealloc (auparse_destroy, 1); - -Upstream: https://github.com/linux-audit/audit-userspace/pull/311 - -Signed-off-by: Bernd Kuhls ---- - auparse/auparse.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/auparse/auparse.h b/auparse/auparse.h -index 95cf256d..5cb7402e 100644 ---- a/auparse/auparse.h -+++ b/auparse/auparse.h -@@ -32,6 +32,9 @@ - # define __attr_dealloc(dealloc, argno) - # define __attr_dealloc_free - #endif -+#ifndef __attribute_malloc__ -+# define __attribute_malloc__ -+#endif - - #ifdef __cplusplus - extern "C" { --- -2.39.2 - diff --git a/package/audit/audit.hash b/package/audit/audit.hash index 310b0a0f6a..5743b3a13a 100644 --- a/package/audit/audit.hash +++ b/package/audit/audit.hash @@ -1,4 +1,4 @@ #Locally computed -sha256 46e46b37623cce09e6ee134e78d668afc34f4e1c870c853ef12e4193078cfe87 audit-3.1.1.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 e77e06bd6b..76828571ca 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUDIT_VERSION = 3.1.1 +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 diff --git a/package/aufs-util/aufs-util.mk b/package/aufs-util/aufs-util.mk index d954f02958..32f3bca151 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 4e95a350a0..d00e7a1a21 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/autoconf/0001-dont-add-dirty-to-version.patch b/package/autoconf/0001-dont-add-dirty-to-version.patch index e8d9f6a29d..8df2276865 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 de0840dd84..f94b2d9de5 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 15ce9d5927..48bfc80e7f 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 diff --git a/package/autofs/autofs.hash b/package/autofs/autofs.hash index 97bc757d6b..67d09e859a 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 97b1b6b3e4..e9eff98a0a 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 2484d8ce5c..728bc4fdd1 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 cbbd076667..06fee0ca7f 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 5910a568db..cb34e6b6f9 100644 --- a/package/avrdude/avrdude.hash +++ b/package/avrdude/avrdude.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 016a5c95746fadc169cfb3009f6aa306ccdea2ff279fdb6fddcbe7526d84e5eb avrdude-7.1.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 8ebe33b372..89637d4ca6 100644 --- a/package/avrdude/avrdude.mk +++ b/package/avrdude/avrdude.mk @@ -4,7 +4,7 @@ # ################################################################################ -AVRDUDE_VERSION = 7.1 +AVRDUDE_VERSION = 7.2 AVRDUDE_SITE = $(call github,avrdudes,avrdude,v$(AVRDUDE_VERSION)) AVRDUDE_LICENSE = GPL-2.0+ AVRDUDE_LICENSE_FILES = COPYING diff --git a/package/avro-c/avro-c.hash b/package/avro-c/avro-c.hash index b52a787ed5..83b5759a16 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 f217c1d7ed..d7efdc2003 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 4507855ff8..740095a505 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 ca7ad5c1d3..b2ff52876b 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 191484d11b..90e5156e06 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 b960c0e571..d51dcc60aa 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 7b52b9886a3aff20a55a0d5bc5e140c212f85fd06af18c31291c15d363743a77 azure-iot-sdk-c-LTS_01_2023_Ref02-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 123b4cc930..4d0ecb077f 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_01_2023_Ref02 +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/bash/bash.hash b/package/bash/bash.hash index e0a1ebac91..44c1c5ed50 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.2.15.tar.gz.sig -sha256 13720965b5f4fc3a0d4b61dd37e7565c741da9a5be24edc2ae00182fc1b3588c bash-5.2.15.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 9a73ed8c36..9d173a5c7c 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -4,7 +4,7 @@ # ################################################################################ -BASH_VERSION = 5.2.15 +BASH_VERSION = 5.2.21 BASH_SITE = $(BR2_GNU_MIRROR)/bash BASH_DEPENDENCIES = ncurses readline host-bison BASH_LICENSE = GPL-3.0+ diff --git a/package/bat/bat.hash b/package/bat/bat.hash index a79cb8f9a3..3fc01aff7f 100644 --- a/package/bat/bat.hash +++ b/package/bat/bat.hash @@ -1,4 +1,4 @@ # Locally generated -sha256 b29af37f274019cf1a36d9483c6f30ff780d3be9d0a9e6a96a43737388b7e409 bat-0.23.0.tar.gz +sha256 59d40adf1532834613752511cb5349679bf82f7f20b98e42de50472d4aa97970 bat-0.24.0.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE-APACHE sha256 dccda9eb9533f5c65624a1106536c6cfde46008d58e60b3faf154e8b9fd5b46e LICENSE-MIT diff --git a/package/bat/bat.mk b/package/bat/bat.mk index 395134df17..b95cdb25ac 100644 --- a/package/bat/bat.mk +++ b/package/bat/bat.mk @@ -4,7 +4,7 @@ # ################################################################################ -BAT_VERSION = 0.23.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/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 281f90c875..0000000000 --- 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 26a14fcb51..7b26073de0 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 212fe76766..61d6334979 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 2cdc35fcee..802f34335b 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 4870aa10ba..dcf21cb5f0 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 917089da08..8fa49b4585 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 e776fb7458..0e9c9d849c 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/beecrypt/beecrypt.mk b/package/beecrypt/beecrypt.mk index 78c3c2ebb1..20e1a122d0 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/bind/bind.hash b/package/bind/bind.hash index d500b61128..482b046c8d 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.44/bind-9.16.44.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 cfaa953c36d5ca42d9584fcf9653d07c85527b59687e7c4d4cb8071272db6754 bind-9.16.44.tar.xz +sha256 8d3814582348f90dead1ad410b1019094cd399d3d83930abebb2b3b1eb0b2bbb bind-9.16.48.tar.xz sha256 13491a682dc0f5ee2273cebd3949e2be62f9470fe659419a03a308d4f444773b COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 03ffcbec42..0d81ffabd6 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.16.44 +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. 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 0000000000..e0655d3af3 --- /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 0000000000..d55c2d081e --- /dev/null +++ b/package/binutils-bare-metal/binutils-bare-metal.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# 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_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/Config.in.host b/package/binutils/Config.in.host index bc7dc4443c..2f1ddf4bdc 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -26,15 +26,14 @@ 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 - select BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME endchoice config BR2_BINUTILS_VERSION string - default "arc-2020.09-release" if BR2_BINUTILS_VERSION_ARC + 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 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 7a76ef2963..4b927b630e 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 564a4c3bd7..e4c6a0b0b6 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -2,9 +2,10 @@ 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 4bc1b69fa0..6846933646 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.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 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 8038a311d3..0000000000 --- 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/0002-Add-missing-includes-to-fix-gcc-13-compile-error.patch b/package/bitcoin/0002-Add-missing-includes-to-fix-gcc-13-compile-error.patch deleted file mode 100644 index 22c0ca2adf..0000000000 --- a/package/bitcoin/0002-Add-missing-includes-to-fix-gcc-13-compile-error.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 339a95b7537b47e5d6b732c0633a00afd96e3ca0 Mon Sep 17 00:00:00 2001 -From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> -Date: Thu, 19 Jan 2023 19:35:43 +0100 -Subject: [PATCH] Add missing includes to fix gcc-13 compile error - -Upstream: https://github.com/bitcoin/bitcoin/commit/fadeb6b103cb441e0e91ef506ef29febabb10715 - -Signed-off-by: Bernd Kuhls ---- - src/support/lockedpool.cpp | 3 +++ - src/support/lockedpool.h | 4 ++-- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/support/lockedpool.cpp b/src/support/lockedpool.cpp -index 26de780f2..11131d551 100644 ---- a/src/support/lockedpool.cpp -+++ b/src/support/lockedpool.cpp -@@ -22,6 +22,9 @@ - #endif - - #include -+#include -+#include -+#include - #ifdef ARENA_DEBUG - #include - #include -diff --git a/src/support/lockedpool.h b/src/support/lockedpool.h -index b9e2e99d1..25b4c0f36 100644 ---- a/src/support/lockedpool.h -+++ b/src/support/lockedpool.h -@@ -5,11 +5,11 @@ - #ifndef BITCOIN_SUPPORT_LOCKEDPOOL_H - #define BITCOIN_SUPPORT_LOCKEDPOOL_H - --#include -+#include - #include - #include --#include - #include -+#include - #include - - /** --- -2.39.2 - diff --git a/package/bitcoin/0003-refactor-add-most-of-src-util-to-iwyu.patch b/package/bitcoin/0003-refactor-add-most-of-src-util-to-iwyu.patch deleted file mode 100644 index 095fa648dd..0000000000 --- a/package/bitcoin/0003-refactor-add-most-of-src-util-to-iwyu.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c187efa907fd64ea2c7b7d699c5c97f9d5b79960 Mon Sep 17 00:00:00 2001 -From: fanquake -Date: Thu, 9 Jun 2022 16:26:55 +0100 -Subject: [PATCH] refactor: add most of src/util to iwyu - -These files change infrequently, and not much header shuffling is required. - -We don't add everything in src/util/ yet, because IWYU makes some -dubious suggestions, which I'm going to follow up with upstream. - -Upstream: https://github.com/bitcoin/bitcoin/commit/07f2c25d04c39a0074e1d9ee1b24b3e359c8153f - -[Bernd: backported relevant part from upstream commit to version 0.21.2 - to fix build error with gcc 13.x] -Signed-off-by: Bernd Kuhls ---- - src/util/bip32.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/util/bip32.h b/src/util/bip32.h -index 347e83db9..6ef051c48 100644 ---- a/src/util/bip32.h -+++ b/src/util/bip32.h -@@ -6,6 +6,7 @@ - #define BITCOIN_UTIL_BIP32_H - - #include -+#include - #include - #include - --- -2.39.2 - diff --git a/package/bitcoin/0004-src-util-string-h-fix-gcc13.patch b/package/bitcoin/0004-src-util-string-h-fix-gcc13.patch deleted file mode 100644 index 00a9ef2b97..0000000000 --- a/package/bitcoin/0004-src-util-string-h-fix-gcc13.patch +++ /dev/null @@ -1,23 +0,0 @@ -From fa2deae2a86417d7e0d4cd33fb933b1000d20313 Mon Sep 17 00:00:00 2001 -From: MacroFake -Date: Thu, 5 May 2022 08:28:29 +0200 -Subject: [PATCH] Wrap boost::replace_all - -Upstream: https://github.com/bitcoin/bitcoin/commit/fa2deae2a86417d7e0d4cd33fb933b1000d20313 - -[Bernd: backported relevant part from upstream commit to version 0.21.2 - to fix build error with gcc 13.x] -Signed-off-by: Bernd Kuhls ---- -diff --git a/src/util/string.h b/src/util/string.h -index 2e91347b27a10..df20e34ae9aaa 100644 ---- a/src/util/string.h -+++ b/src/util/string.h -@@ -9,6 +9,7 @@ - - #include - #include -+#include - #include - #include - #include diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in index a344811d6b..060cae24f5 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 643fcbc141..6b3008af86 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 10ae32202c..2f8a1777a2 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/blktrace/blktrace.mk b/package/blktrace/blktrace.mk index d66a35227e..90038fc788 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/bluez5_utils-headers/bluez5_utils-headers.mk b/package/bluez5_utils-headers/bluez5_utils-headers.mk index 0790dd7e0e..74b385e110 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.68 +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/0001-configure-Check-ell-path.patch b/package/bluez5_utils/0001-configure-Check-ell-path.patch deleted file mode 100644 index 3e5f7c6516..0000000000 --- a/package/bluez5_utils/0001-configure-Check-ell-path.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 124187ef9abed60a7c40f751153e9c4516cd1f91 Mon Sep 17 00:00:00 2001 -From: Rudi Heitbaum -Date: Sat, 1 Jul 2023 01:31:20 +0000 -Subject: [PATCH] configure: Check ell path - -Use of AC_CHECK_FILE prevents cross compilation. -Instead use test to support cross compiling. - -Signed-off-by: Rudi Heitbaum - -Upstream: https://github.com/bluez/bluez/pull/546 - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index eff297960..bc7edfcd3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -298,9 +298,10 @@ if (test "${enable_external_ell}" = "yes"); then - AC_SUBST(ELL_LIBS) - fi - if (test "${enable_external_ell}" != "yes"); then -- AC_CHECK_FILE(${srcdir}/ell/ell.h, dummy=yes, -- AC_CHECK_FILE(${srcdir}/../ell/ell/ell.h, dummy=yes, -- AC_MSG_ERROR(ELL source is required or use --enable-external-ell))) -+ if (test ! -f ${srcdir}/ell/ell.h) && -+ (test ! -f ${srcdir}/../ell/ell/ell.h); then -+ AC_MSG_ERROR(ELL source is required or use --enable-external-ell) -+ fi - fi - AM_CONDITIONAL(EXTERNAL_ELL, test "${enable_external_ell}" = "yes" || - (test "${enable_btpclient}" != "yes" && diff --git a/package/bluez5_utils/S40bluetooth b/package/bluez5_utils/S40bluetooth deleted file mode 100755 index ee4abe8b63..0000000000 --- a/package/bluez5_utils/S40bluetooth +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -DAEMON="bluetoothd" -PIDFILE="/var/run/$DAEMON.pid" - -BLUETOOTHD_ARGS="-n" - -# shellcheck source=/dev/null -[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" - -start() { - printf 'Starting %s: ' "$DAEMON" - # shellcheck disable=SC2086 # we need the word splitting - start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/libexec/bluetooth/$DAEMON" \ - -- $BLUETOOTHD_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 - echo "OK" - else - echo "FAIL" - fi - return "$status" -} - -restart() { - stop - sleep 1 - start -} - -reload() { - printf 'Reloading %s: ' "$DAEMON" - start-stop-daemon -K -s HUP -q -p "$PIDFILE" - status=$? - if [ "$status" -eq 0 ]; then - echo "OK" - else - echo "FAIL" - fi - return "$status" -} - -case "$1" in - start|stop|restart|reload) - "$1";; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index 45952e60f1..46680cf3c9 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 fc505e6445cb579a55cacee6821fe70d633921522043d322b696de0a175ff933 bluez-5.68.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 82800c0430..3ccb63948c 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -5,12 +5,10 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils-headers -BLUEZ5_UTILS_VERSION = 5.68 +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 -# 0001-configure-Check-ell-path.patch -BLUEZ5_UTILS_AUTORECONF = YES BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB BLUEZ5_UTILS_CPE_ID_VENDOR = bluez 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 0000000000..670552535a --- /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/boost.hash b/package/boost/boost.hash index 36de2b9b06..14403758ac 100644 --- a/package/boost/boost.hash +++ b/package/boost/boost.hash @@ -1,5 +1,5 @@ -# From https://www.boost.org/users/history/version_1_82_0.html -sha256 a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6 boost_1_82_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 d432ab48cc..9b1baec5bf 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOST_VERSION = 1.82.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 diff --git a/package/bootgen/0001-Refix-builds-on-machines-with-modern-flex-versions.patch b/package/bootgen/0001-Refix-builds-on-machines-with-modern-flex-versions.patch deleted file mode 100644 index b13dd2b03b..0000000000 --- a/package/bootgen/0001-Refix-builds-on-machines-with-modern-flex-versions.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 29a4e487527d109f517fc47a7c284b7732b27a10 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Mon, 12 Jun 2023 21:04:25 +0200 -Subject: [PATCH] Refix builds on machines with modern flex versions - -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/cmdoptions.yy.cpp: In member function 'virtual int CO::FlexScanner::yylex()': -../bisonflex/cmdoptions.yy.cpp:1362:18: error: no match for 'operator=' (operand types are 'std::istream' {aka 'std::basic_istream'} and 'std::istream*' {aka 'std::basic_istream*'}) - -http://autobuild.buildroot.net/results/293/2936d9b054269b7055e66ab5a7f7c1f7f4926d48/build-end.log - -Fix it by using normal local #include statements by: - -sed -i 's//"FlexLexer.h"/g' * - -Notice: This was already fixed on master with: -https://github.com/Xilinx/bootgen/pull/20 - -Notice: The patch was not applied, instead a different patch with the same -content was applied to master: -https://github.com/Xilinx/bootgen/commit/af4f7083ea92931a07e47995eb2bc2a348c577ed - -This patch was not applied to the xlnx_rel_v2023.1 branch, instead most -of the content was included in: -https://github.com/Xilinx/bootgen/commit/bfba91b2c84160dc203ff09f0e930d82ed06a83a - -But the cmdoptions.yy.cpp and reginit.yy.cpp hunks were accidently dropped: -https://github.com/Xilinx/bootgen/commit/bfba91b2c84160dc203ff09f0e930d82ed06a83a#diff-e0287adb420dbecc112acdf7d4a1efba8ea6cbf06401e4e8679b8ffd22a091d8 - -Upstream: https://github.com/Xilinx/bootgen/pull/24 -Signed-off-by: Peter Korsgaard ---- - cmdoptions.yy.cpp | 2 +- - reginit.yy.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cmdoptions.yy.cpp b/cmdoptions.yy.cpp -index 38fed35..4e940ab 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/reginit.yy.cpp b/reginit.yy.cpp -index d830734..dede473 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() --- -2.30.2 - diff --git a/package/bootgen/bootgen.hash b/package/bootgen/bootgen.hash index 937509c859..6f34b2b850 100644 --- a/package/bootgen/bootgen.hash +++ b/package/bootgen/bootgen.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2fda35fac28f5753cfdd9c6d5c07fd2b018d55984681af79415a67ba5372ea8e bootgen-xilinx_v2023.1.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 d83980d925..70338090f4 100644 --- a/package/bootgen/bootgen.mk +++ b/package/bootgen/bootgen.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOTGEN_VERSION = xilinx_v2023.1 +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 c6236849e9..0000000000 --- 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 aa9f3ad5ba..0000000000 --- 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 8f7f3f5c7a..c74128bb9d 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 64da04415e..37e00ea9cc 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 59fbc950b0..e0bd258f57 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 d131ec566e..ef3a7a8a45 100644 --- a/package/bpftool/Config.in +++ b/package/bpftool/Config.in @@ -16,7 +16,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 @@ -24,11 +23,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/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash index a12e92cbac..c20abfc26c 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 5332bf53d7..95707487a9 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/brltty/0002-shell-prologue-runProgramTerminationCommands-used-a-.patch b/package/brltty/0002-shell-prologue-runProgramTerminationCommands-used-a-.patch deleted file mode 100644 index 0f81254e08..0000000000 --- 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 9fc63714bc..9b707fc1c2 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 dc5a38cddb..22d58ebd00 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 2a3204fc34..0000000000 --- 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 892aa1da15..0000000000 --- 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 22f894c403..145467c420 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 ac49fe664f..80aa2566b5 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/bullet/bullet.hash b/package/bullet/bullet.hash index 5c70c683b0..3160b04572 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 9afd922ec9..e112623b79 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/busybox/Config.in b/package/busybox/Config.in index 5e5c586762..3c2aa515f8 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 1e7ad1d357..5d2a30806a 100644 --- a/package/busybox/busybox-minimal.config +++ b/package/busybox/busybox-minimal.config @@ -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 a9d8774ac7..b94052a9eb 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.36.1 -# Wed Dec 20 22:39:06 2023 +# Wed Mar 6 09:57:18 2024 # CONFIG_HAVE_DOT_CONFIG=y diff --git a/package/bwm-ng/bwm-ng.mk b/package/bwm-ng/bwm-ng.mk index bf3ed74afc..31edda0c23 100644 --- a/package/bwm-ng/bwm-ng.mk +++ b/package/bwm-ng/bwm-ng.mk @@ -9,7 +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_VENDOR = bwm-ng_project +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 3e1573f2cf..9a2b69c731 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 321700399b72ed0e037d0074c629e7741f6b2ec2dda92956abe3e9671d3e268e c-ares-1.19.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 46b8acd673..c4441255a2 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -4,13 +4,13 @@ # ################################################################################ -C_ARES_VERSION = 1.19.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/c-icap.mk b/package/c-icap/c-icap.mk index 707069870d..36ef1c8b12 100644 --- a/package/c-icap/c-icap.mk +++ b/package/c-icap/c-icap.mk @@ -9,7 +9,7 @@ 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 516cfb33e5..f8f0654b4f 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 722679f9f8..e3745c4af6 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/ca-certificates.mk b/package/ca-certificates/ca-certificates.mk index 202d0b92ac..fe115209a7 100644 --- a/package/ca-certificates/ca-certificates.mk +++ b/package/ca-certificates/ca-certificates.mk @@ -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 a5716ede43..0000000000 --- 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 57a1c12638..d5517bd918 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 c132f086f6..119950bc00 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/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch b/package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch similarity index 100% rename from package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch rename to package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch diff --git a/package/cairo/0001-fix-nofork-build.patch b/package/cairo/0001-fix-nofork-build.patch deleted file mode 100644 index 702e9910a5..0000000000 --- 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/0004-Fix-mask-usage-in-image-compositor.patch b/package/cairo/0002-Fix-mask-usage-in-image-compositor.patch similarity index 100% rename from package/cairo/0004-Fix-mask-usage-in-image-compositor.patch rename to package/cairo/0002-Fix-mask-usage-in-image-compositor.patch 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 10e000d16f..0000000000 --- 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 0000000000..3b18d8077b --- /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 3b93e24a22..fca9ff678c 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 7bc8f92deb..4515b76075 100644 --- a/package/cairo/cairo.mk +++ b/package/cairo/cairo.mk @@ -4,19 +4,17 @@ # ################################################################################ -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 -# 0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch +# 0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch CAIRO_IGNORE_CVES += CVE-2019-6462 -# 0004-Fix-mask-usage-in-image-compositor.patch +# 0002-Fix-mask-usage-in-image-compositor.patch CAIRO_IGNORE_CVES += CVE-2020-35492 CAIRO_CONF_ENV = LIBS="$(CAIRO_LIBS)" 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 0000000000..32af9142a7 --- /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 b978a827a1..0000000000 --- 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/0002-fix-build-with-kernel-5.9.patch b/package/catatonit/0001-fix-build-with-kernel-5.9.patch similarity index 83% rename from package/catatonit/0002-fix-build-with-kernel-5.9.patch rename to package/catatonit/0001-fix-build-with-kernel-5.9.patch index a4c66389db..37def8e546 100644 --- a/package/catatonit/0002-fix-build-with-kernel-5.9.patch +++ b/package/catatonit/0001-fix-build-with-kernel-5.9.patch @@ -1,4 +1,4 @@ -From 1fefcbffe4ade02d625bf058a7c07aeaf9fa7a2f Mon Sep 17 00:00:00 2001 +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 @@ -15,17 +15,17 @@ Fixes: - http://autobuild.buildroot.org/results/ed9a847905083175c7fcb2f2df28f9ac5b9c3313 Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/openSUSE/catatonit/pull/24] +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 a38263a..474c525 100644 +index a33f4cd..b10d9b0 100644 --- a/catatonit.c +++ b/catatonit.c -@@ -35,7 +35,7 @@ +@@ -36,7 +36,7 @@ #include #include @@ -35,10 +35,10 @@ index a38263a..474c525 100644 #else # include diff --git a/configure.ac b/configure.ac -index 94c5c84..a746ea1 100644 +index 69e89f0..b37f146 100644 --- a/configure.ac +++ b/configure.ac -@@ -22,7 +22,7 @@ LT_PREREQ([2.4.2]) +@@ -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]) @@ -47,6 +47,3 @@ index 94c5c84..a746ea1 100644 AC_CHECK_FUNCS([close_range]) --- -2.35.1 - diff --git a/package/catatonit/catatonit.hash b/package/catatonit/catatonit.hash index 9b7420cdb7..9940309c76 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 3dd58eff1d..a308ea6471 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/catch2.hash b/package/catch2/catch2.hash index b533792f8f..5136785513 100644 --- a/package/catch2/catch2.hash +++ b/package/catch2/catch2.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d90351cdc55421f640c553cfc0875a8c834428679444e8062e9187d05b18aace catch2-3.3.1.tar.gz +sha256 269543a49eb76f40b3f93ff231d4c24c27a7e16c90e47d2e45bcc564de470c6e catch2-3.5.2.tar.gz sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE.txt diff --git a/package/catch2/catch2.mk b/package/catch2/catch2.mk index 6e4af3d670..ee0940642f 100644 --- a/package/catch2/catch2.mk +++ b/package/catch2/catch2.mk @@ -4,7 +4,7 @@ # ################################################################################ -CATCH2_VERSION = 3.3.1 +CATCH2_VERSION = 3.5.2 CATCH2_SITE = $(call github,catchorg,Catch2,v$(CATCH2_VERSION)) CATCH2_INSTALL_STAGING = YES CATCH2_INSTALL_TARGET = NO diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index ac4bc4aba5..96b1b65c5c 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -16,7 +16,8 @@ HOST_CCACHE_CONF_OPTS += \ -UCMAKE_C_COMPILER_LAUNCHER \ -UCMAKE_CXX_COMPILER_LAUNCHER \ -DZSTD_FROM_INTERNET=OFF \ - -DHIREDIS_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 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 0000000000..9091062e28 --- /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 acf7442056..5af87629ea 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/chrony/chrony.hash b/package/chrony/chrony.hash index 9c0e11757b..2cf6cca031 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 86f23d9060..e7e6931a2a 100644 --- a/package/chrony/chrony.mk +++ b/package/chrony/chrony.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHRONY_VERSION = 4.3 +CHRONY_VERSION = 4.4 CHRONY_SITE = http://download.tuxfamily.org/chrony CHRONY_LICENSE = GPL-2.0 CHRONY_LICENSE_FILES = COPYING 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 0000000000..ac9655caf5 --- /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 bdf6d77427..0daa6efee2 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 a299de85e9..629c1b59b2 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 c39e884cdd..305dc0d7b8 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 c91d1eeb7175c50d49f6ba2a25e69b46bd05cffb798382c19bfb202e467ec51c cjson-1.7.17.tar.gz sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index ad9d76a4ba..4719a3dc9b 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,12 +4,12 @@ # ################################################################################ -CJSON_VERSION = 1.7.15 +CJSON_VERSION = 1.7.17 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/clamav.hash b/package/clamav/clamav.hash index c140a2df07..cd03a11840 100644 --- a/package/clamav/clamav.hash +++ b/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 8779458dc31fdee1232eb8986f092d25568b39f5d337c0cbcd9c1abb5dc2886b clamav-1.0.3.tar.gz +sha256 aa67ee9679f747af3c492353d768464c27d614b3fed62eb7f988b6776d4aedbb clamav-1.0.5.tar.gz sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING.txt sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING/COPYING.bzip2 sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING/COPYING.file diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index e1e0fa8c63..c548897c37 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 1.0.3 +CLAMAV_VERSION = 1.0.5 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = \ @@ -45,9 +45,8 @@ CLAMAV_DEPENDENCIES += musl-fts CLAMAV_LIBS += -lfts endif -CLAMAV_CONF_ENV += LIBS="$(CLAMAV_LIBS)" - CLAMAV_CONF_OPTS = \ + -DCMAKE_EXE_LINKER_FLAGS="$(CLAMAV_LIBS)" \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -DENABLE_JSON_SHARED=ON \ -DENABLE_MAN_PAGES=OFF \ diff --git a/package/cli11/cli11.hash b/package/cli11/cli11.hash index 12e5b4fb55..42ab5d1311 100644 --- a/package/cli11/cli11.hash +++ b/package/cli11/cli11.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 378da73d2d1d9a7b82ad6ed2b5bda3e7bc7093c4034a1d680a2e009eb067e7b2 cli11-2.3.1.tar.gz -sha256 89022151dbf5827a22430557ef2f8a75808dd25fa1e9a12709ef5421d363e66d LICENSE +sha256 aac0ab42108131ac5d3344a9db0fdf25c4db652296641955720a4fbe52334e22 cli11-2.3.2.tar.gz +sha256 4110754959bd99e0ebc34001ed0402ff5f371364e83f9db6d1e230d02368984f LICENSE diff --git a/package/cli11/cli11.mk b/package/cli11/cli11.mk index b02bd4478f..349c14fe60 100644 --- a/package/cli11/cli11.mk +++ b/package/cli11/cli11.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLI11_VERSION = 2.3.1 +CLI11_VERSION = 2.3.2 CLI11_SITE = $(call github,CLIUtils,CLI11,v$(CLI11_VERSION)) CLI11_LICENSE = BSD-3-Clause CLI11_LICENSE_FILES = LICENSE diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash index e5a047e7d3..74b4a0a3a8 100644 --- a/package/cmake/cmake.hash +++ b/package/cmake/cmake.hash @@ -1,5 +1,5 @@ -# From https://cmake.org/files/v3.27/cmake-3.27.1-SHA-256.txt -sha256 b1a6b0135fa11b94476e90f5b32c4c8fad480bf91cf22d0ded98ce22c5132004 cmake-3.27.1.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 4a01ccf2dc580ba570d02bc015bbe0ec92f1f318717aae9540ba841ba7946756 Copyright.txt diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index 1e29e25471..49d1f9fea5 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -5,12 +5,12 @@ ################################################################################ # When updating the version, please also update BR2_HOST_CMAKE_AT_LEAST_X_Y -CMAKE_VERSION_MAJOR = 3.27 -CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).1 +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 diff --git a/package/cog/cog.hash b/package/cog/cog.hash index 2ea3ddee08..387666969a 100644 --- a/package/cog/cog.hash +++ b/package/cog/cog.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/cog-0.16.1.tar.xz.sums -md5 1489740db6b4ea568578035c30b8b2f4 cog-0.16.1.tar.xz -sha1 1235203085e7ccd8fc76eab6bdfcdb2e3ae38ea9 cog-0.16.1.tar.xz -sha256 37c5f14123b8dcf077839f6c60f0d721d2a91bb37829e796f420126e6b0d38b5 cog-0.16.1.tar.xz +# From https://wpewebkit.org/releases/cog-0.18.2.tar.xz.sums +md5 7fbfc2e19304132be0d73f5e5512151c cog-0.18.2.tar.xz +sha1 045294f7fa878db86e4b8a617ee4ac056a71cb75 cog-0.18.2.tar.xz +sha256 3c4237cff6323b8c3eaf52c6f3f6415b898a22c0127c6c396c1eaa6eef46c279 cog-0.18.2.tar.xz # Hashes for license files: sha256 e6c42d93c68b292bcccf6d2ec3e13da85df90b718ba27c2c2a01053a9d009252 COPYING diff --git a/package/cog/cog.mk b/package/cog/cog.mk index da4bfc7ac6..e96909f779 100644 --- a/package/cog/cog.mk +++ b/package/cog/cog.mk @@ -4,7 +4,7 @@ # ################################################################################ -COG_VERSION = 0.16.1 +COG_VERSION = 0.18.2 COG_SITE = https://wpewebkit.org/releases COG_SOURCE = cog-$(COG_VERSION).tar.xz COG_INSTALL_STAGING = YES @@ -15,7 +15,7 @@ COG_CONF_OPTS = \ -Ddocumentation=false \ -Dmanpages=false \ -Dprograms=true \ - -Dsoup2=enabled \ + -Dwpe_api=2.0 \ -Dcog_home_uri='$(call qstrip,$(BR2_PACKAGE_COG_PROGRAMS_HOME_URI))' \ -Dplatforms='$(subst $(space),$(comma),$(strip $(COG_PLATFORMS_LIST)))' 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 0000000000..00de673e89 --- /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 a431da79f1..e6d549f81f 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 @@ -738,12 +738,17 @@ config BR2_PACKAGE_COLLECTD_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 @@ -772,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 6c993827c4..b47b2efaba 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 = \ @@ -192,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) \ @@ -222,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/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 0000000000..afffa909c8 --- /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/conmon.mk b/package/conmon/conmon.mk index 50807f8c6a..1e57786686 100644 --- a/package/conmon/conmon.mk +++ b/package/conmon/conmon.mk @@ -11,7 +11,7 @@ CONMON_LICENSE_FILES = LICENSE CONMON_DEPENDENCIES = host-pkgconf libglib2 -ifeq ($(BR2_PACKAGE_LIBSECCOMP):$(BR2_STATIC_LIBS),y:) +ifeq ($(BR2_PACKAGE_LIBSECCOMP)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0):$(BR2_STATIC_LIBS),yy:) CONMON_DISABLE_SECCOMP = 0 CONMON_DEPENDENCIES += libseccomp else @@ -25,7 +25,8 @@ define CONMON_CONFIGURE_CMDS endef define CONMON_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -std=c99" \ LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) bin/conmon endef diff --git a/package/containerd/Config.in b/package/containerd/Config.in index e69dd6768a..2dd04b109c 100644 --- a/package/containerd/Config.in +++ b/package/containerd/Config.in @@ -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 8404675e30..193003e5a3 100644 --- a/package/containerd/containerd.hash +++ b/package/containerd/containerd.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 b109aceacc814d7a637ed94ba5ade829cd2642841d03e06971ef124fa3b86899 containerd-1.6.22.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 c4a6d854c3..81875f763c 100644 --- a/package/containerd/containerd.mk +++ b/package/containerd/containerd.mk @@ -4,12 +4,11 @@ # ################################################################################ -CONTAINERD_VERSION = 1.6.22 +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,12 +35,22 @@ 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 diff --git a/package/cpio/cpio.hash b/package/cpio/cpio.hash index 20fd9392e7..e300a5f084 100644 --- a/package/cpio/cpio.hash +++ b/package/cpio/cpio.hash @@ -1,6 +1,6 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2023-05/msg00001.html -sha1 cbac50a61079b6f3bdcf9ffe42171d9257cfe877 cpio-2.14.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 fcdc15d60f7267a6fc7efcd6b9db7b6c8966c4f2fbbb964c24d41336fd3f2c12 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 911d16822b..452271c8f1 100644 --- a/package/cpio/cpio.mk +++ b/package/cpio/cpio.mk @@ -4,7 +4,7 @@ # ################################################################################ -CPIO_VERSION = 2.14 +CPIO_VERSION = 2.15 CPIO_SOURCE = cpio-$(CPIO_VERSION).tar.bz2 CPIO_SITE = $(BR2_GNU_MIRROR)/cpio CPIO_CONF_OPTS = --bindir=/bin diff --git a/package/cppdb/Config.in b/package/cppdb/Config.in index ceff0ab76f..1394c1efd8 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 e73f04e194..d2a901d28b 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 3fbee7af28..dd6e06494a 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 d702cc174e..90213ec0f6 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 ff527d517a..a97818cbdd 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 bb7c18d5be..c5226b3326 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 a73c9aa26d..8043260cfc 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 0000000000..30b131cd30 --- /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 0000000000..c3fcdbc03f --- /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 0000000000..3b72a1131e --- /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 256513da6b..3a9a716732 100644 --- a/package/crucible/crucible.hash +++ b/package/crucible/crucible.hash @@ -1,2 +1,2 @@ -sha256 bfeaa9b1c8bb95f02d33bd915892e748eb8939fd8b901e1d31d2efa7f7aefcb3 crucible-2023.04.12.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 dad89b2149..5eedbca8ee 100644 --- a/package/crucible/crucible.mk +++ b/package/crucible/crucible.mk @@ -4,9 +4,9 @@ # ################################################################################ -CRUCIBLE_VERSION = 2023.04.12 +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/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 0000000000..81b08d34b7 --- /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 45c86f0655..f6a1ec7c66 100644 --- a/package/crun/Config.in +++ b/package/crun/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_CRUN bool "crun" - depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve + 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_MUSL + 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. @@ -10,5 +10,6 @@ config BR2_PACKAGE_CRUN 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 bdffb0c6aa..c461d78d97 100644 --- a/package/crun/crun.hash +++ b/package/crun/crun.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 5b8b5adb1dff7af768b69d2b0b4f2cd785ec931e7aa10138aa29812c46ee09ff crun-1.8.4.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 15438a44b3..005d5fb397 100644 --- a/package/crun/crun.mk +++ b/package/crun/crun.mk @@ -4,13 +4,13 @@ # ################################################################################ -CRUN_VERSION = 1.8.4 +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 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 0000000000..4bea55311c --- /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 0000000000..e6022c686f --- /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/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 5f87414d53..0000000000 --- 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 9a113b8f04..a7bc578da4 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 87d6fba237..a538f8c17d 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 87cdf840c3..531432aaaf 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 410ded65a1072ab9c8e41added37b9729c087fef4d2db02bb4ef529ad6da4693 cryptsetup-2.6.1.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 3f3034475f..b15f458576 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -4,7 +4,7 @@ # ################################################################################ -CRYPTSETUP_VERSION_MAJOR = 2.6 +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) @@ -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 0000000000..e527b20f91 --- /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.mk b/package/cups-filters/cups-filters.mk index 19c859e602..dcfb2e9500 100644 --- a/package/cups-filters/cups-filters.mk +++ b/package/cups-filters/cups-filters.mk @@ -10,6 +10,9 @@ CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, 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 2bd00c6912..2e057c2de0 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 0000000000..57c6b61437 --- /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/0005-raster-interpret.c-Fix-CVE-2023-4504.patch b/package/cups/0005-raster-interpret.c-Fix-CVE-2023-4504.patch deleted file mode 100644 index d1dff4e1fa..0000000000 --- a/package/cups/0005-raster-interpret.c-Fix-CVE-2023-4504.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 2431caddb7e6a87f04ac90b5c6366ad268b6ff31 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal -Date: Wed, 20 Sep 2023 14:45:17 +0200 -Subject: [PATCH] raster-interpret.c: Fix CVE-2023-4504 - -We didn't check for end of buffer if it looks there is an escaped -character - check for NULL terminator there and if found, return NULL -as return value and in `ptr`, because a lone backslash is not -a valid PostScript character. - -Upstream: https://github.com/OpenPrinting/cups/commit/2431caddb7e6a87f04ac90b5c6366ad268b6ff31 -[Peter: drop CHANGES hunk] -Signed-off-by: Peter Korsgaard ---- - cups/raster-interpret.c | 14 +++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/cups/raster-interpret.c b/cups/raster-interpret.c -index 6fcf731b5..b8655c8c6 100644 ---- a/cups/raster-interpret.c -+++ b/cups/raster-interpret.c -@@ -1116,7 +1116,19 @@ scan_ps(_cups_ps_stack_t *st, /* I - Stack */ - - cur ++; - -- if (*cur == 'b') -+ /* -+ * Return NULL if we reached NULL terminator, a lone backslash -+ * is not a valid character in PostScript. -+ */ -+ -+ if (!*cur) -+ { -+ *ptr = NULL; -+ -+ return (NULL); -+ } -+ -+ if (*cur == 'b') - *valptr++ = '\b'; - else if (*cur == 'f') - *valptr++ = '\f'; --- -2.30.2 - 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 0000000000..be4c6b469d --- /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 501d8c12a6..2d7bbf1aa9 100644 --- a/package/cups/cups.hash +++ b/package/cups/cups.hash @@ -1,4 +1,4 @@ # Locally calculated: -sha256 58e970cf1955e1cc87d0847c32526d9c2ccee335e5f0e3882b283138ba0e7262 cups-2.4.6-source.tar.gz +sha256 dd54228dd903526428ce7e37961afaed230ad310788141da75cebaa08362cf6c cups-2.4.7-source.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE sha256 5320b6e3c252423e4153eb2dd63e57e3b630afb21139f44e43b02d85fe33e279 NOTICE diff --git a/package/cups/cups.mk b/package/cups/cups.mk index 4bc5eeedee..a5098b50e9 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUPS_VERSION = 2.4.6 +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 @@ -13,9 +13,6 @@ CUPS_CPE_ID_VENDOR = openprinting CUPS_SELINUX_MODULES = cups CUPS_INSTALL_STAGING = YES -# 0005-raster-interpret.c-Fix-CVE-2023-4504.patch -CUPS_IGNORE_CVES += CVE-2023-4504 - # Using autoconf, not autoheader, so we cannot use AUTORECONF = YES. define CUPS_RUN_AUTOCONF cd $(@D); $(AUTOCONF) -f @@ -40,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) @@ -54,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 @@ -67,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 0000000000..bd661b0cd4 --- /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 0000000000..3d3ec2f858 --- /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 0000000000..a7b3ba7a1d --- /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 bd1e04eee0..64c15f16fe 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/daemon.hash b/package/daemon/daemon.hash index 5ad7bf6ce2..f1346d269b 100644 --- a/package/daemon/daemon.hash +++ b/package/daemon/daemon.hash @@ -1,7 +1,9 @@ # From http://www.libslack.org/daemon/ -sha256 b34b37543bba43bd086e59f4b754c8102380ae5c1728b987c890d5da4b4cf3ca daemon-0.8.2.tar.gz +sha256 fa28859ad341cb0a0b012c11c271814f870482013b49f710600321d379887cd1 daemon-0.8.4.tar.gz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE -sha256 35e31504fc0aec878e86900dde1d90a04404833c182f50d5678d873910bb11eb COPYING -sha256 5a93d5831e1297ab10fe643e1a631e83be392896da14ee2951285a79012df69d LICENSES/BSD-3-Clause.txt +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 5e7e497ff1..d7709e03ef 100644 --- a/package/daemon/daemon.mk +++ b/package/daemon/daemon.mk @@ -4,10 +4,14 @@ # ################################################################################ -DAEMON_VERSION = 0.8.2 +DAEMON_VERSION = 0.8.4 DAEMON_SITE = http://libslack.org/daemon/download -DAEMON_LICENSE = GPL-2.0+, LGPL-2.0+, BSD-3-Clause -DAEMON_LICENSE_FILES = LICENSE COPYING LICENSES/BSD-3-Clause.txt LICENSES/GPL-2.0-or-later.txt +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 82fd9bdc59..0000000000 --- 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/0002-fix-build-with-32-bits-kernel.patch b/package/dahdi-linux/0001-fix-build-with-32-bits-kernel.patch similarity index 99% rename from package/dahdi-linux/0002-fix-build-with-32-bits-kernel.patch rename to package/dahdi-linux/0001-fix-build-with-32-bits-kernel.patch index ddaf6b4e7a..df09149679 100644 --- a/package/dahdi-linux/0002-fix-build-with-32-bits-kernel.patch +++ b/package/dahdi-linux/0001-fix-build-with-32-bits-kernel.patch @@ -12,6 +12,7 @@ ERROR: modpost: "__moddi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c8 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 ++-- 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 a896def375..0000000000 --- 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/0004-next-fix-kernel-6-1-build.patch b/package/dahdi-linux/0004-next-fix-kernel-6-1-build.patch deleted file mode 100644 index b910c4b775..0000000000 --- a/package/dahdi-linux/0004-next-fix-kernel-6-1-build.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a759a578277bde98eba7ef4bf86bdf819a900de9 Mon Sep 17 00:00:00 2001 -From: John Thomson -Date: Sun, 23 Oct 2022 13:42:52 +1000 -Subject: [PATCH] fix kernel 6.1 build - -kernel 6.1 includes b48b89f9c189 ("net: drop the weight argument from netif_napi_add") [0] - -[0]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b48b89f9c189d24eb5e2b4a0ac067da5a24ee86d - -Signed-off-by: John Thomson -[Retrieved from: -https://github.com/asterisk/dahdi-linux/pull/14/commits/a759a578277bde98eba7ef4bf86bdf819a900de9] -Signed-off-by: Fabrice Fontaine ---- - include/dahdi/kernel.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h -index 35e93bc4..fd64a15e 100644 ---- a/include/dahdi/kernel.h -+++ b/include/dahdi/kernel.h -@@ -58,6 +58,10 @@ - - #include - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) -+#define netif_napi_add netif_napi_add_weight -+#endif -+ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) - #include - #include diff --git a/package/dahdi-linux/0005-Fix-build-on-Linux-6.3.patch b/package/dahdi-linux/0005-Fix-build-on-Linux-6.3.patch deleted file mode 100644 index f2ac4d2dc3..0000000000 --- a/package/dahdi-linux/0005-Fix-build-on-Linux-6.3.patch +++ /dev/null @@ -1,116 +0,0 @@ -From c4969d756eac041758856b99a1084158c06beb7e Mon Sep 17 00:00:00 2001 -From: Brahmajit Das -Date: Thu, 22 Jun 2023 15:52:18 +0000 -Subject: [PATCH] drivers/dahdi: fix build with clang-16 - -clang-16 enables -Werror=incompatible-pointer-types (along with buch of -other warnings) by default, thus resulting in errors such as: - -/var/tmp/portage/net-misc/dahdi-3.2.0/work/dahdi-linux-3.2.0/drivers/dahdi/dahdi-sysfs.c:272:20: error: incompatible function - pointer types initializing 'int (*)(const struct device *, struct kobj_uevent_env *)' with an expression of type - 'int (struct device *, struct kobj_uevent_env *)' [-Wincompatible-function-pointer-types] - .uevent = span_uevent, - ^~~~~~~~~~~ -/var/tmp/portage/net-misc/dahdi-3.2.0/work/dahdi-linux-3.2.0/drivers/dahdi/dahdi-sysfs.c:709:20: error: incompatible function - pointer types initializing 'int (*)(const struct device *, struct kobj_uevent_env *)' with an expression of type - 'int (struct device *, struct kobj_uevent_env *)' [-Wincompatible-function-pointer-types] - .uevent = device_uevent, - ^~~~~~~~~~~~~ -2 errors generated. - -This is due the change in bus_type strcut made in upstream commit -https://github.com/torvalds/linux/commit/2a81ada32f0e584fc0c943e0d3a8c9f4fae411d6. -Where they make uevent take a const *, as the strcut should not be -modifying the device that is passed into it. - -This patch modifes some of the fucntions parameter types, making dahdi -possible to be built with clang-16. - -Bug: https://bugs.gentoo.org/906179 -Signed-off-by: Brahmajit Das - -Upstream: https://github.com/asterisk/dahdi-linux/pull/21 - -[Bernd: updated patch for compatibility with kernel < 6.3] -Signed-off-by: Bernd Kuhls ---- - drivers/dahdi/dahdi-sysfs.c | 12 ++++++++++-- - drivers/dahdi/wctc4xxp/base.c | 2 +- - drivers/dahdi/xpp/xbus-sysfs.c | 4 ++++ - 3 files changed, 15 insertions(+), 3 deletions(-) - -diff --git a/drivers/dahdi/dahdi-sysfs.c b/drivers/dahdi/dahdi-sysfs.c -index ca29ddba..38236929 100644 ---- a/drivers/dahdi/dahdi-sysfs.c -+++ b/drivers/dahdi/dahdi-sysfs.c -@@ -47,7 +47,7 @@ static int span_match(struct device *dev, struct device_driver *driver) - return 1; - } - --static inline struct dahdi_span *dev_to_span(struct device *dev) -+static inline struct dahdi_span *dev_to_span(const struct device *dev) - { - return dev_get_drvdata(dev); - } -@@ -68,7 +68,11 @@ static inline struct dahdi_span *dev_to_span(struct device *dev) - return err; \ - } while (0) - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) - static int span_uevent(struct device *dev, struct kobj_uevent_env *kenv) -+#else -+static int span_uevent(const struct device *dev, struct kobj_uevent_env *kenv) -+#endif - { - struct dahdi_span *span; - -@@ -415,7 +419,7 @@ static struct { - unsigned int clean_chardev:1; - } should_cleanup; - --static inline struct dahdi_device *to_ddev(struct device *dev) -+static inline struct dahdi_device *to_ddev(const struct device *dev) - { - return container_of(dev, struct dahdi_device, dev); - } -@@ -438,7 +442,11 @@ static inline struct dahdi_device *to_ddev(struct device *dev) - return err; \ - } while (0) - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) - static int device_uevent(struct device *dev, struct kobj_uevent_env *kenv) -+#else -+static int device_uevent(const struct device *dev, struct kobj_uevent_env *kenv) -+#endif - { - struct dahdi_device *ddev; - -diff --git a/drivers/dahdi/wctc4xxp/base.c b/drivers/dahdi/wctc4xxp/base.c -index ec6fc436..db70ea7e 100644 ---- a/drivers/dahdi/wctc4xxp/base.c -+++ b/drivers/dahdi/wctc4xxp/base.c -@@ -643,7 +643,7 @@ wctc4xxp_net_register(struct wcdte *wc) - return -ENOMEM; - priv = netdev_priv(netdev); - priv->wc = wc; -- memcpy(netdev->dev_addr, our_mac, sizeof(our_mac)); -+ memcpy((void *)netdev->dev_addr, our_mac, sizeof(our_mac)); - - # ifdef HAVE_NET_DEVICE_OPS - netdev->netdev_ops = &wctc4xxp_netdev_ops; -diff --git a/drivers/dahdi/xpp/xbus-sysfs.c b/drivers/dahdi/xpp/xbus-sysfs.c -index d8c11dc3..11b3ed3e 100644 ---- a/drivers/dahdi/xpp/xbus-sysfs.c -+++ b/drivers/dahdi/xpp/xbus-sysfs.c -@@ -418,7 +418,11 @@ static int astribank_match(struct device *dev, struct device_driver *driver) - return err; \ - } while (0) - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) - static int astribank_uevent(struct device *dev, struct kobj_uevent_env *kenv) -+#else -+static int astribank_uevent(const struct device *dev, struct kobj_uevent_env *kenv) -+#endif - { - xbus_t *xbus; - extern char *initdir; diff --git a/package/dahdi-linux/0006-Fix-build-on-Linux-6.4.patch b/package/dahdi-linux/0006-Fix-build-on-Linux-6.4.patch deleted file mode 100644 index 992cb4d513..0000000000 --- a/package/dahdi-linux/0006-Fix-build-on-Linux-6.4.patch +++ /dev/null @@ -1,69 +0,0 @@ -From b393e59d7eb2951e2fb279fca1c4756ea165aeee Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 9 Jul 2023 17:14:31 +0200 -Subject: [PATCH] Fix build on Linux 6.4 - -Needed after upstream changes in kernel 6.4: -https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/include/linux/device/class.h?id=1aaba11da9aa -https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=48380368dec14859723b9e3fbd43e042638d9a76 - -Upstream: https://github.com/asterisk/dahdi-linux/pull/22 - -Signed-off-by: Bernd Kuhls ---- - drivers/dahdi/dahdi-sysfs-chan.c | 4 ++++ - drivers/dahdi/voicebus/voicebus.c | 4 ++++ - drivers/dahdi/wctdm24xxp/base.c | 4 ++++ - 3 files changed, 12 insertions(+) - -diff --git a/drivers/dahdi/dahdi-sysfs-chan.c b/drivers/dahdi/dahdi-sysfs-chan.c -index a91e6ed..b18b5f9 100644 ---- a/drivers/dahdi/dahdi-sysfs-chan.c -+++ b/drivers/dahdi/dahdi-sysfs-chan.c -@@ -482,7 +482,11 @@ int __init dahdi_sysfs_chan_init(const struct file_operations *fops) - } - should_cleanup.channel_driver = 1; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) - dahdi_class = class_create(THIS_MODULE, "dahdi"); -+#else -+ dahdi_class = class_create("dahdi"); -+#endif - if (IS_ERR(dahdi_class)) { - res = PTR_ERR(dahdi_class); - dahdi_err("%s: class_create(dahi_chan) failed. Error: %d\n", -diff --git a/drivers/dahdi/voicebus/voicebus.c b/drivers/dahdi/voicebus/voicebus.c -index 8a1f7a6..d141aaf 100644 ---- a/drivers/dahdi/voicebus/voicebus.c -+++ b/drivers/dahdi/voicebus/voicebus.c -@@ -1135,7 +1135,11 @@ static void vb_stop_txrx_processors(struct voicebus *vb) - */ - void voicebus_stop(struct voicebus *vb) - { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) - static DEFINE_SEMAPHORE(stop); -+#else -+ static DEFINE_SEMAPHORE(stop, 1); -+#endif - - down(&stop); - -diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c -index a28e249..4392b45 100644 ---- a/drivers/dahdi/wctdm24xxp/base.c -+++ b/drivers/dahdi/wctdm24xxp/base.c -@@ -224,7 +224,11 @@ mod_hooksig(struct wctdm *wc, struct wctdm_module *mod, enum dahdi_rxsig rxsig) - } - - struct wctdm *ifaces[WC_MAX_IFACES]; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) - DEFINE_SEMAPHORE(ifacelock); -+#else -+DEFINE_SEMAPHORE(ifacelock, 1); -+#endif - - static void wctdm_release(struct wctdm *wc); - --- -2.39.2 - diff --git a/package/dahdi-linux/dahdi-linux.hash b/package/dahdi-linux/dahdi-linux.hash index 2d3f336777..e250850630 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 88519b5106..c688d3877c 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 c119ff4ee1..1251617286 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 7d4de645a2..056b29156d 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 188afff767..84a787eeba 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 bda08899b8..956ef4042c 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 0000000000..eaa5d6cc60 --- /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 6efc71e568..aebfd28be8 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 68757060bf..0b2c53ec21 100644 --- a/package/dav1d/dav1d.hash +++ b/package/dav1d/dav1d.hash @@ -1,4 +1,4 @@ -# From https://download.videolan.org/pub/videolan/dav1d/1.2.1/dav1d-1.2.1.tar.xz.sha256 -sha256 4e33eb61ec54c768a16da0cf8fa0928b4c4593f5f804a3c887d4a21c318340b2 dav1d-1.2.1.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 e90f53dc1a..3650f28730 100644 --- a/package/dav1d/dav1d.mk +++ b/package/dav1d/dav1d.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAV1D_VERSION = 1.2.1 +DAV1D_VERSION = 1.3.0 DAV1D_SOURCE = dav1d-$(DAV1D_VERSION).tar.xz DAV1D_SITE = https://download.videolan.org/pub/videolan/dav1d/$(DAV1D_VERSION) DAV1D_LICENSE = BSD-2-Clause diff --git a/package/davinci-bootcount/Config.in b/package/davinci-bootcount/Config.in deleted file mode 100644 index e34adde570..0000000000 --- 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 53435b1d1d..0000000000 --- a/package/davinci-bootcount/davinci-bootcount.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 12b5aa83736efb2fefd22cd4d9f305a25c68dfaa10401d5efb17e55a5163934e davinci-bootcount-2.0.0.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 695d39688a..0000000000 --- a/package/davinci-bootcount/davinci-bootcount.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# davinci-bootcount -# -################################################################################ - -DAVINCI_BOOTCOUNT_VERSION = 2.0.0 -DAVINCI_BOOTCOUNT_SITE = $(call github,VoltServer,uboot-davinci-bootcount,v$(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.mk b/package/dbus-broker/dbus-broker.mk index c4e3679a2e..4266441ac9 100644 --- a/package/dbus-broker/dbus-broker.mk +++ b/package/dbus-broker/dbus-broker.mk @@ -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/dbus.hash b/package/dbus/dbus.hash index 638bb4bc6f..a06ba50ccd 100644 --- a/package/dbus/dbus.hash +++ b/package/dbus/dbus.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature -# https://dbus.freedesktop.org/releases/dbus/dbus-1.14.8.tar.xz.asc +# https://dbus.freedesktop.org/releases/dbus/dbus-1.14.10.tar.xz.asc # using key 36EC5A6448A4F5EF79BEFE98E05AE1478F814C4F -sha256 a6bd5bac5cf19f0c3c594bdae2565a095696980a683a0ef37cb6212e093bde35 dbus-1.14.8.tar.xz +sha256 ba1f21d2bd9d339da2d4aa8780c09df32fea87998b73da24f49ab9df1e36a50f dbus-1.14.10.tar.xz # Locally calculated sha256 e61807cd1c32ff4e7bd5b4b61dd21997c6dc5642cf19316124fe38d50e1f9fa3 COPYING diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk index 930b1a298b..097b89205e 100644 --- a/package/dbus/dbus.mk +++ b/package/dbus/dbus.mk @@ -6,13 +6,12 @@ # When updating dbus, check if there are changes in session.conf and # system.conf, and update the versions in the dbus-broker package accordingly. -DBUS_VERSION = 1.14.8 +DBUS_VERSION = 1.14.10 DBUS_SOURCE = dbus-$(DBUS_VERSION).tar.xz DBUS_SITE = https://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING -DBUS_CPE_ID_VENDOR = d-bus_project -DBUS_CPE_ID_PRODUCT = d-bus +DBUS_CPE_ID_VENDOR = freedesktop DBUS_INSTALL_STAGING = YES define DBUS_PERMISSIONS diff --git a/package/ddrescue/ddrescue.hash b/package/ddrescue/ddrescue.hash index 3caec5667f..4103d4fd6f 100644 --- a/package/ddrescue/ddrescue.hash +++ b/package/ddrescue/ddrescue.hash @@ -1,4 +1,4 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2023-01/msg00011.html -sha256 38c80c98c5a44f15e53663e4510097fd68d6ec20758efdf3a925037c183232eb ddrescue-1.27.tar.lz +# From https://lists.gnu.org/archive/html/info-gnu/2024-01/msg00014.html +sha256 6626c07a7ca1cc1d03cad0958522c5279b156222d32c342e81117cfefaeb10c1 ddrescue-1.28.tar.lz # Locally computed sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/ddrescue/ddrescue.mk b/package/ddrescue/ddrescue.mk index f4376a9340..13798bb4bb 100644 --- a/package/ddrescue/ddrescue.mk +++ b/package/ddrescue/ddrescue.mk @@ -4,7 +4,7 @@ # ################################################################################ -DDRESCUE_VERSION = 1.27 +DDRESCUE_VERSION = 1.28 DDRESCUE_SOURCE = ddrescue-$(DDRESCUE_VERSION).tar.lz DDRESCUE_SITE = http://download.savannah.gnu.org/releases/ddrescue DDRESCUE_LICENSE = GPL-2.0+ diff --git a/package/depot-tools/Config.in.host b/package/depot-tools/Config.in.host new file mode 100644 index 0000000000..935331dedb --- /dev/null +++ b/package/depot-tools/Config.in.host @@ -0,0 +1,10 @@ +config BR2_PACKAGE_HOST_DEPOT_TOOLS + bool "host depot-tools" + select BR2_PACKAGE_HOST_PYTHON3 + select BR2_PACKAGE_HOST_PYTHON3_SSL + select BR2_PACKAGE_HOST_PYTHON_SIX + help + Chromium and Chromium OS use a package of scripts called + depot_tools to manage checkouts and code reviews. + + https://www.chromium.org/developers/how-tos/install-depot-tools/ diff --git a/package/depot-tools/depot-tools.hash b/package/depot-tools/depot-tools.hash new file mode 100644 index 0000000000..70218e4658 --- /dev/null +++ b/package/depot-tools/depot-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 5da23d7558975093c6a732f5743c7f224d16dd3f878a6a1b577b1b127a4098cc depot-tools-8d14454ba4a35fd9d2483842b08815a2357ec86f-br1.tar.gz +sha256 984523ee987f4e8b72d61df37d8f1189a7077cd4b77e41a397e35593b297a29d LICENSE diff --git a/package/depot-tools/depot-tools.mk b/package/depot-tools/depot-tools.mk new file mode 100644 index 0000000000..a53afa14d6 --- /dev/null +++ b/package/depot-tools/depot-tools.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# depot-tools +# +################################################################################ + +DEPOT_TOOLS_VERSION = 8d14454ba4a35fd9d2483842b08815a2357ec86f +DEPOT_TOOLS_SITE = https://chromium.googlesource.com/chromium/tools/depot_tools +DEPOT_TOOLS_SITE_METHOD = git +DEPOT_TOOLS_LICENSE = BSD-3-Clause +DEPOT_TOOLS_LICENSE_FILES = LICENSE + +HOST_DEPOT_TOOLS_DEPENDENCIES = \ + host-python3 \ + host-python-httplib2 \ + host-python-pyparsing \ + host-python-six + +define HOST_DEPOT_TOOLS_INSTALL_CMDS + mkdir -p $(HOST_DIR)/share/depot_tools + cp -dprf $(@D)/* $(HOST_DIR)/share/depot_tools/ +endef + +$(eval $(host-generic-package)) diff --git a/package/dfu-programmer/dfu-programmer.hash b/package/dfu-programmer/dfu-programmer.hash index afa1d97aed..7260dfce0d 100644 --- a/package/dfu-programmer/dfu-programmer.hash +++ b/package/dfu-programmer/dfu-programmer.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 867eaf0a8cd10123715491807ab99cecb54dc6f09dddade4b2a42b0b0ef9e6b0 dfu-programmer-1.0.0.tar.gz +sha256 844e469be559657bc52c9d9d03c30846acd11ffbb1ddd42438fa8af1d2b8587d dfu-programmer-1.1.0.tar.gz sha256 d8fb44c26fecbb2b8a368a6c0ed4f5478a401fab03744325407736a80383af76 COPYING diff --git a/package/dfu-programmer/dfu-programmer.mk b/package/dfu-programmer/dfu-programmer.mk index 707e143eb3..4e5f2299d6 100644 --- a/package/dfu-programmer/dfu-programmer.mk +++ b/package/dfu-programmer/dfu-programmer.mk @@ -4,20 +4,12 @@ # ################################################################################ -DFU_PROGRAMMER_VERSION = 1.0.0 +DFU_PROGRAMMER_VERSION = 1.1.0 DFU_PROGRAMMER_SITE = https://github.com/dfu-programmer/dfu-programmer/releases/download/v$(DFU_PROGRAMMER_VERSION) DFU_PROGRAMMER_LICENSE = GPL-2.0+ DFU_PROGRAMMER_LICENSE_FILES = COPYING DFU_PROGRAMMER_DEPENDENCIES = libusb -# No update-bash-completion.sh in tarball. Fix sent upstream: -# https://github.com/dfu-programmer/dfu-programmer/pull/91 -define DFU_PROGRAMMER_ADD_MISSING_FILE - ln -s /bin/true $(@D)/update-bash-completion.sh -endef - -DFU_PROGRAMMER_POST_PATCH_HOOKS == DFU_PROGRAMMER_ADD_MISSING_FILE - ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) DFU_PROGRAMMER_CONF_OPTS += LIBS=-latomic endif diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk index 7be40191c8..b3b7fe3203 100644 --- a/package/dhcp/dhcp.mk +++ b/package/dhcp/dhcp.mk @@ -7,6 +7,7 @@ DHCP_VERSION = 4.4.3-P1 DHCP_SITE = https://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) DHCP_INSTALL_STAGING = YES +DHCP_SELINUX_MODULES = dhcp DHCP_LICENSE = MPL-2.0 DHCP_LICENSE_FILES = LICENSE DHCP_DEPENDENCIES = host-gawk @@ -32,6 +33,9 @@ DHCP_CONF_ENV = \ CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1' DHCP_BIND_EXTRA_CONFIG = \ + --build=$(GNU_HOST_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --target=$(GNU_TARGET_NAME) \ BUILD_CC='$(HOSTCC)' \ BUILD_CFLAGS='$(HOST_CFLAGS)' \ BUILD_CPPFLAGS='$(HOST_CPPFLAGS)' \ diff --git a/package/dhcpcd/dhcpcd.hash b/package/dhcpcd/dhcpcd.hash index 88032f05c1..fb4f6064bc 100644 --- a/package/dhcpcd/dhcpcd.hash +++ b/package/dhcpcd/dhcpcd.hash @@ -1,4 +1,4 @@ -# sha256 from https://github.com/NetworkConfiguration/dhcpcd/releases/tag/v10.0.1 -sha256 6e9f6a5c47fcd8a763cfa26f1ca6eedf1e534992224a01d6c1ab8abb154af972 dhcpcd-10.0.1.tar.xz +# sha256 from https://github.com/NetworkConfiguration/dhcpcd/releases/tag/v10.0.4 +sha256 eb1f3cfef3069781ff8c896d7cea922639964afe22db28c069dc3f37f57eb428 dhcpcd-10.0.5.tar.xz # Locally calculated sha256 a7d6da3a202cdd38eaab0bcea4d25f60d002980f3785b3e896d9bf387f093ac8 LICENSE diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk index 82efe10ef9..991c5cca57 100644 --- a/package/dhcpcd/dhcpcd.mk +++ b/package/dhcpcd/dhcpcd.mk @@ -4,19 +4,22 @@ # ################################################################################ -DHCPCD_VERSION = 10.0.1 +DHCPCD_VERSION = 10.0.5 DHCPCD_SOURCE = dhcpcd-$(DHCPCD_VERSION).tar.xz DHCPCD_SITE = https://github.com/NetworkConfiguration/dhcpcd/releases/download/v$(DHCPCD_VERSION) DHCPCD_DEPENDENCIES = host-pkgconf DHCPCD_LICENSE = BSD-2-Clause DHCPCD_LICENSE_FILES = LICENSE -DHCPCD_CPE_ID_VENDOR = dhcpcd_project +DHCPCD_CPE_ID_VALID = YES DHCPCD_CONFIG_OPTS = \ --libexecdir=/lib/dhcpcd \ --os=linux \ --privsepuser=dhcpcd +DHCPCD_MAKE_OPTS = \ + BINMODE=755 + ifeq ($(BR2_PACKAGE_DHCPCD_ENABLE_PRIVSEP),y) DHCPCD_CONFIG_OPTS += --enable-privsep else @@ -43,11 +46,11 @@ define DHCPCD_CONFIGURE_CMDS endef define DHCPCD_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) all + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(DHCPCD_MAKE_OPTS) all endef define DHCPCD_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(DHCPCD_MAKE_OPTS) install DESTDIR=$(TARGET_DIR) endef # When network-manager is enabled together with dhcpcd, it will use diff --git a/package/dmenu-wayland/0001-support-cross-compilation.patch b/package/dmenu-wayland/0001-support-cross-compilation.patch new file mode 100644 index 0000000000..3d99330cba --- /dev/null +++ b/package/dmenu-wayland/0001-support-cross-compilation.patch @@ -0,0 +1,32 @@ +From cd72cade6250a3ec46dd402b25a0bd55bbb97a88 Mon Sep 17 00:00:00 2001 +From: Rick van Schijndel +Date: Wed, 20 Dec 2023 16:44:12 -0700 +Subject: [PATCH] support cross-compilation + +Marking wayland-scanner as native dependency fixes the path check for +wayland-scanner. + +Upstream: https://github.com/nyyManni/dmenu-wayland/pull/23 + +Signed-off-by: Rick van Schijndel +Signed-off-by: Adam Duskett +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 3ae6f69..8d401ff 100644 +--- a/meson.build ++++ b/meson.build +@@ -26,7 +26,7 @@ pangocairo = dependency('pangocairo') + rt = cc.find_library('rt') + wayland_client = dependency('wayland-client') + wayland_protos = dependency('wayland-protocols') +-wayland_scanner_dep = dependency('wayland-scanner') ++wayland_scanner_dep = dependency('wayland-scanner', native: true) + wayland_scanner = find_program( + wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner') + ) +-- +2.43.0 + diff --git a/package/dmenu-wayland/Config.in b/package/dmenu-wayland/Config.in new file mode 100644 index 0000000000..8a4d0918dc --- /dev/null +++ b/package/dmenu-wayland/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_DMENU_WAYLAND + bool "dmenu-wayland" + depends on BR2_USE_MMU # pango + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, pango, wayland + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango + depends on !BR2_STATIC_LIBS # wayland + depends on BR2_INSTALL_LIBSTDCPP # pango + depends on BR2_USE_WCHAR # libglib2, pango + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_CAIRO_PNG + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBXKBCOMMON + select BR2_PACKAGE_PANGO + select BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS + help + dmenu-wl is an efficient dynamic menu for wayland (wlroots). + + https://github.com/nyyManni/dmenu-wayland + +comment "dmenu-wayland 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_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR diff --git a/package/dmenu-wayland/dmenu-wayland.hash b/package/dmenu-wayland/dmenu-wayland.hash new file mode 100644 index 0000000000..1248c4ad66 --- /dev/null +++ b/package/dmenu-wayland/dmenu-wayland.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 56340e198a2c58468c6109f3bb07ab8a074487e67b0758b29c9d4fdce7c4d594 dmenu-wayland-a380201dff5bfac2dace553d7eaedb6cea6855f9.tar.gz +sha256 8d26bccf8a21c5e29dc756beef534403c935766c815bbb6e7eab0598632b9827 LICENSE diff --git a/package/dmenu-wayland/dmenu-wayland.mk b/package/dmenu-wayland/dmenu-wayland.mk new file mode 100644 index 0000000000..fec984194c --- /dev/null +++ b/package/dmenu-wayland/dmenu-wayland.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# dmenu-wayland +# +################################################################################ + +DMENU_WAYLAND_VERSION = a380201dff5bfac2dace553d7eaedb6cea6855f9 +DMENU_WAYLAND_SITE = $(call github,nyyManni,dmenu-wayland,$(DMENU_WAYLAND_VERSION)) +DMENU_WAYLAND_LICENSE = MIT +DMENU_WAYLAND_LICENSE_FILES = LICENSE +DMENU_WAYLAND_CFLAGS = $(TARGET_CFLAGS) -std=gnu99 + +# host-wayland is for wayland-scanner +DMENU_WAYLAND_DEPENDENCIES = \ + host-wayland \ + cairo \ + libglib2 \ + libxkbcommon \ + pango \ + wayland \ + wayland-protocols + +# By default, sway calls dmenu not dmenu-wl +define DMENU_WAYLAND_SYMLINK_DMENU_WL + ln -sf dmenu-wl $(TARGET_DIR)/usr/bin/dmenu +endef +DMENU_WAYLAND_POST_INSTALL_TARGET_HOOKS += DMENU_WAYLAND_SYMLINK_DMENU_WL + +$(eval $(meson-package)) diff --git a/package/dmraid/dmraid.mk b/package/dmraid/dmraid.mk index 0382cd4d99..9a78c2ae07 100644 --- a/package/dmraid/dmraid.mk +++ b/package/dmraid/dmraid.mk @@ -13,6 +13,7 @@ DMRAID_MAKE = $(MAKE1) DMRAID_INSTALL_STAGING = YES DMRAID_LICENSE = GPL-2.0 DMRAID_LICENSE_FILES = $(DMRAID_SUBDIR)/LICENSE_GPL $(DMRAID_SUBDIR)/LICENSE +DMRAID_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) DMRAID_DEPENDENCIES = lvm2 diff --git a/package/dnsmasq/0001-set-default-maximum-dns-udp-package-size.patch b/package/dnsmasq/0001-set-default-maximum-dns-udp-package-size.patch deleted file mode 100644 index 4dd17ec069..0000000000 --- a/package/dnsmasq/0001-set-default-maximum-dns-udp-package-size.patch +++ /dev/null @@ -1,64 +0,0 @@ -From eb92fb32b746f2104b0f370b5b295bb8dd4bd5e5 Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Tue, 7 Mar 2023 22:07:46 +0000 -Subject: [PATCH] Set the default maximum DNS UDP packet size to 1232. -Upstream: https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=eb92fb32b746f2104b0f370b5b295bb8dd4bd5e5 - -http://www.dnsflagday.net/2020/ refers. - -Thanks to Xiang Li for the prompt. - -[dalang@gmx.at: backport from upstream] -Signed-off-by: Daniel Lang ---- - CHANGELOG | 9 ++++++++ - man/dnsmasq.8 | 3 ++- - src/config.h | 2 +- - 3 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index 3af20cf..52d8678 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -1,3 +1,12 @@ version 2.90 -+version 2.90 -+ Set the default maximum DNS UDP packet sice to 1232. This -+ has been the recommended value since 2020 because it's the -+ largest value that avoid fragmentation, and fragmentation -+ is just not reliable on the modern internet, especially -+ for IPv6. It's still possible to override this with -+ --edns-packet-max for special circumstances. -+ -+ - version 2.89 - Fix bug introduced in 2.88 (commit fe91134b) which can result - in corruption of the DNS cache internal data structures and -diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 -index 41e2e04..5acb935 100644 ---- a/man/dnsmasq.8 -+++ b/man/dnsmasq.8 -@@ -183,7 +183,8 @@ to zero completely disables DNS function, leaving only DHCP and/or TFTP. - .TP - .B \-P, --edns-packet-max= - Specify the largest EDNS.0 UDP packet which is supported by the DNS --forwarder. Defaults to 4096, which is the RFC5625-recommended size. -+forwarder. Defaults to 1232, which is the recommended size following the -+DNS flag day in 2020. Only increase if you know what you are doing. - .TP - .B \-Q, --query-port= - Send outbound DNS queries from, and listen for their replies on, the -diff --git a/src/config.h b/src/config.h -index 1e7b30f..37b374e 100644 ---- a/src/config.h -+++ b/src/config.h -@@ -19,7 +19,7 @@ - #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */ - #define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */ - #define TCP_BACKLOG 32 /* kernel backlog limit for TCP connections */ --#define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */ -+#define EDNS_PKTSZ 1232 /* default max EDNS.0 UDP packet from from /dnsflagday.net/2020 */ - #define SAFE_PKTSZ 1232 /* "go anywhere" UDP packet size, see https://dnsflagday.net/2020/ */ - #define KEYBLOCK_LEN 40 /* choose to minimise fragmentation when storing DNSSEC keys */ - #define DNSSEC_WORK 50 /* Max number of queries to validate one question */ --- -2.20.1 diff --git a/package/dnsmasq/dnsmasq.hash b/package/dnsmasq/dnsmasq.hash index 02ffb2656b..d11e8af590 100644 --- a/package/dnsmasq/dnsmasq.hash +++ b/package/dnsmasq/dnsmasq.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.89.tar.xz.asc -sha256 02bd230346cf0b9d5909f5e151df168b2707103785eb616b56685855adebb609 dnsmasq-2.89.tar.xz +# https://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.90.tar.xz.asc +sha256 8e50309bd837bfec9649a812e066c09b6988b73d749b7d293c06c57d46a109e4 dnsmasq-2.90.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING-v3 diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index 9c05857f22..9f342cb049 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -4,9 +4,9 @@ # ################################################################################ -DNSMASQ_VERSION = 2.89 +DNSMASQ_VERSION = 2.90 DNSMASQ_SOURCE = dnsmasq-$(DNSMASQ_VERSION).tar.xz -DNSMASQ_SITE = http://thekelleys.org.uk/dnsmasq +DNSMASQ_SITE = https://thekelleys.org.uk/dnsmasq DNSMASQ_MAKE_ENV = $(TARGET_MAKE_ENV) CC="$(TARGET_CC)" DNSMASQ_MAKE_OPTS = COPTS="$(DNSMASQ_COPTS)" PREFIX=/usr CFLAGS="$(TARGET_CFLAGS)" DNSMASQ_MAKE_OPTS += DESTDIR=$(TARGET_DIR) LDFLAGS="$(TARGET_LDFLAGS)" \ diff --git a/package/doc-asciidoc.mk b/package/doc-asciidoc.mk index 6b8eaa81b3..40c9a725d1 100644 --- a/package/doc-asciidoc.mk +++ b/package/doc-asciidoc.mk @@ -124,7 +124,7 @@ $$(O)/docs/$(1)/$(1).$(5): $$($(2)_SOURCES) \ --resource="$$(abspath $$(r))") \ $$($(2)_$(3)_A2X_OPTS) \ --asciidoc-opts="$$($(2)_$(3)_ASCIIDOC_OPTS)" \ - $$(BUILD_DIR)/docs/$(1)/$(1).txt + $$(BUILD_DIR)/docs/$(1)/$(1).adoc # install the generated document $$($(2)_$(3)_INSTALL_CMDS) endif diff --git a/package/docker-cli/docker-cli.hash b/package/docker-cli/docker-cli.hash index 5d8c1b0f59..26558814c1 100644 --- a/package/docker-cli/docker-cli.hash +++ b/package/docker-cli/docker-cli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c1a4a580ced3633e489c5c9869a20198415da44df7023fdc200d425cdf5fa652 docker-cli-24.0.6.tar.gz +sha256 96ed5d7c33a12f505d13fa03fa48f94cb41cf871178df0df84aa0b76839ad321 docker-cli-26.0.0.tar.gz sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk index 53c9ddb6b8..5f9242329a 100644 --- a/package/docker-cli/docker-cli.mk +++ b/package/docker-cli/docker-cli.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CLI_VERSION = 24.0.6 +DOCKER_CLI_VERSION = 26.0.0 DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION)) DOCKER_CLI_LICENSE = Apache-2.0 diff --git a/package/docker-compose/docker-compose.hash b/package/docker-compose/docker-compose.hash index fce3477257..ca3d08cf63 100644 --- a/package/docker-compose/docker-compose.hash +++ b/package/docker-compose/docker-compose.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2051ea80097f3c9e74e3a8565609e704e76035fa9ba04183950d3431bd123ea5 docker-compose-2.20.0.tar.gz +sha256 931bfcc34eb43106be07787372bb853d4cd82830a5785f3049c5192ab0e4ac35 docker-compose-2.24.7.tar.gz sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd LICENSE diff --git a/package/docker-compose/docker-compose.mk b/package/docker-compose/docker-compose.mk index b2d3e99988..5417ba2d4f 100644 --- a/package/docker-compose/docker-compose.mk +++ b/package/docker-compose/docker-compose.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_COMPOSE_VERSION = 2.20.0 +DOCKER_COMPOSE_VERSION = 2.24.7 DOCKER_COMPOSE_SITE = $(call github,docker,compose,v$(DOCKER_COMPOSE_VERSION)) DOCKER_COMPOSE_LICENSE = Apache-2.0 DOCKER_COMPOSE_LICENSE_FILES = LICENSE diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in index 570b2ff681..d48ffe6484 100644 --- a/package/docker-engine/Config.in +++ b/package/docker-engine/Config.in @@ -19,17 +19,15 @@ config BR2_PACKAGE_DOCKER_ENGINE if BR2_PACKAGE_DOCKER_ENGINE -config BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL - bool "build experimental features" - config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS bool "btrfs filesystem 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 filesystem driver for Docker. +comment "brtfs filesystem driver needs headers >= 4.12" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER bool "devicemapper filesystem driver" depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash index 7a8b17d3f3..5c76b99af3 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 29a8ee54e9ea008b40eebca42dec8b67ab257eb8ac175f67e79c110e4187d7d2 docker-engine-24.0.6.tar.gz +sha256 fae1aabb63ed5cf6d302a5f4266ed092716b1cea9a974a9d61154ef31b03c302 docker-engine-26.0.0.tar.gz sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk index a8f47254a4..86106d3ccb 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = 24.0.6 +DOCKER_ENGINE_VERSION = 26.0.0 DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 @@ -34,13 +34,8 @@ ifeq ($(BR2_INIT_SYSTEMD),y) DOCKER_ENGINE_DEPENDENCIES += systemd DOCKER_ENGINE_TAGS += systemd journald endif -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL),y) -DOCKER_ENGINE_TAGS += experimental -endif -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) -DOCKER_ENGINE_DEPENDENCIES += btrfs-progs -else +ifneq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) DOCKER_ENGINE_TAGS += exclude_graphdriver_btrfs endif diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in index 85361eecf0..a0e69a7601 100644 --- a/package/domoticz/Config.in +++ b/package/domoticz/Config.in @@ -16,7 +16,6 @@ config BR2_PACKAGE_DOMOTICZ select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD select BR2_PACKAGE_CEREAL - select BR2_PACKAGE_FMT select BR2_PACKAGE_JSONCPP select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_MINIZIP_ZLIB diff --git a/package/domoticz/domoticz.hash b/package/domoticz/domoticz.hash index fccb4ea420..ae86a67b79 100644 --- a/package/domoticz/domoticz.hash +++ b/package/domoticz/domoticz.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 3144372d0847cb4d22a8c4b1362cd31885b37671adc682c3a8e9435762cde338 domoticz-2023.1.tar.gz +sha256 d87113d7cacd0b52b9126fcc1ef24e140a4f7042d5bc6262e86e4b4752f5cf38 domoticz-2024.4.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 License.txt diff --git a/package/domoticz/domoticz.mk b/package/domoticz/domoticz.mk index ed82131dd3..95d3335adb 100644 --- a/package/domoticz/domoticz.mk +++ b/package/domoticz/domoticz.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOMOTICZ_VERSION = 2023.1 +DOMOTICZ_VERSION = 2024.4 DOMOTICZ_SITE = $(call github,domoticz,domoticz,$(DOMOTICZ_VERSION)) DOMOTICZ_LICENSE = GPL-3.0 DOMOTICZ_LICENSE_FILES = License.txt @@ -12,7 +12,6 @@ DOMOTICZ_CPE_ID_VENDOR = domoticz DOMOTICZ_DEPENDENCIES = \ boost \ cereal \ - fmt \ host-pkgconf \ jsoncpp \ libcurl \ @@ -36,7 +35,6 @@ DOMOTICZ_CONF_OPTS += \ # jsoncpp, fmt, minizip, sqlite and mqtt DOMOTICZ_CONF_OPTS += \ -DUSE_BUILTIN_JSONCPP=OFF \ - -DUSE_BUILTIN_LIBFMT=OFF \ -DUSE_BUILTIN_MINIZIP=OFF \ -DUSE_BUILTIN_SQLITE=OFF \ -DUSE_BUILTIN_MQTT=OFF diff --git a/package/dos2unix/dos2unix.hash b/package/dos2unix/dos2unix.hash index 032c8ea2d2..d4d682cd0c 100644 --- a/package/dos2unix/dos2unix.hash +++ b/package/dos2unix/dos2unix.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.5.0.tar.gz.asc -sha256 7a3b01d01e214d62c2b3e04c3a92e0ddc728a385566e4c0356efa66fd6eb95af dos2unix-7.5.0.tar.gz -sha256 6009a35c7aaee9888fd4844972c37b84bce22e7407893727c70f4f3560ae3eac COPYING.txt +# https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.5.2.tar.gz.asc +sha256 264742446608442eb48f96c20af6da303cb3a92b364e72cb7e24f88239c4bf3a dos2unix-7.5.2.tar.gz +sha256 03b60fa2cf28b2c6dd585a13b32377c1f87b8f016db44ce2ab6bc7eb306220e2 COPYING.txt diff --git a/package/dos2unix/dos2unix.mk b/package/dos2unix/dos2unix.mk index 6d1e70cf26..e30fc999d4 100644 --- a/package/dos2unix/dos2unix.mk +++ b/package/dos2unix/dos2unix.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOS2UNIX_VERSION = 7.5.0 +DOS2UNIX_VERSION = 7.5.2 DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix DOS2UNIX_LICENSE = BSD-2-Clause DOS2UNIX_LICENSE_FILES = COPYING.txt diff --git a/package/dosfstools/dosfstools.mk b/package/dosfstools/dosfstools.mk index 26a28670c0..5019bd125d 100644 --- a/package/dosfstools/dosfstools.mk +++ b/package/dosfstools/dosfstools.mk @@ -8,7 +8,7 @@ DOSFSTOOLS_VERSION = 4.2 DOSFSTOOLS_SITE = https://github.com/dosfstools/dosfstools/releases/download/v$(DOSFSTOOLS_VERSION) DOSFSTOOLS_LICENSE = GPL-3.0+ DOSFSTOOLS_LICENSE_FILES = COPYING -DOSFSTOOLS_CPE_ID_VENDOR = dosfstools_project +DOSFSTOOLS_CPE_ID_VALID = YES DOSFSTOOLS_SELINUX_MODULES = fstools DOSFSTOOLS_CONF_OPTS = --enable-compat-symlinks --exec-prefix=/ HOST_DOSFSTOOLS_CONF_OPTS = --enable-compat-symlinks diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index 5c7ba322b2..8cd3356dce 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,3 +1,3 @@ # Locally computed after checking signature -sha256 ae32bd4870ea2c1328ae09ba206e9ec12128046d6afca52fbbc9ef7f75617c98 dovecot-2.3-pigeonhole-0.5.20.tar.gz +sha256 1ca71d2659076712058a72030288f150b2b076b0306453471c5261498d3ded27 dovecot-2.3-pigeonhole-0.5.21.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 0b64cb0d6f..679fd4db98 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.5.20 +DOVECOT_PIGEONHOLE_VERSION = 0.5.21 DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.3-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz DOVECOT_PIGEONHOLE_SITE = https://pigeonhole.dovecot.org/releases/2.3 DOVECOT_PIGEONHOLE_LICENSE = LGPL-2.1 diff --git a/package/dovecot/Config.in b/package/dovecot/Config.in index 377fd4dbb8..20b08b62be 100644 --- a/package/dovecot/Config.in +++ b/package/dovecot/Config.in @@ -17,9 +17,9 @@ if BR2_PACKAGE_DOVECOT config BR2_PACKAGE_DOVECOT_MYSQL bool "mysql support" - depends on BR2_INSTALL_LIBSTDCPP # mysql - depends on BR2_TOOLCHAIN_HAS_THREADS # mysql - select BR2_PACKAGE_MYSQL + depends on BR2_INSTALL_LIBSTDCPP # mariadb + depends on BR2_TOOLCHAIN_HAS_THREADS # mariadb + select BR2_PACKAGE_MARIADB help Enable MySQL support. diff --git a/package/dovecot/dovecot.hash b/package/dovecot/dovecot.hash index 7036df57a8..e42bb577a8 100644 --- a/package/dovecot/dovecot.hash +++ b/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 caa832eb968148abdf35ee9d0f534b779fa732c0ce4a913d9ab8c3469b218552 dovecot-2.3.20.tar.gz +sha256 05b11093a71c237c2ef309ad587510721cc93bbee6828251549fc1586c36502d dovecot-2.3.21.tar.gz sha256 319a9830aab406109cd67cb45496587566a8123203d66d037b209ca3e13de02a COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT diff --git a/package/dovecot/dovecot.mk b/package/dovecot/dovecot.mk index 4b17784f93..f90996fdd7 100644 --- a/package/dovecot/dovecot.mk +++ b/package/dovecot/dovecot.mk @@ -5,7 +5,7 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.3 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).20 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).21 DOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 @@ -83,7 +83,7 @@ endif ifeq ($(BR2_PACKAGE_DOVECOT_MYSQL),y) DOVECOT_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config" DOVECOT_CONF_OPTS += --with-mysql -DOVECOT_DEPENDENCIES += mysql +DOVECOT_DEPENDENCIES += mariadb else DOVECOT_CONF_OPTS += --without-mysql endif diff --git a/package/dracut/dracut.hash b/package/dracut/dracut.hash index 34db6af23b..6ca352c542 100644 --- a/package/dracut/dracut.hash +++ b/package/dracut/dracut.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 24f149d683d188c0d25756529b7d1e5cd6be8028e0c1043110f303d0d706757d dracut-057.tar.gz +sha256 eabf0bb685420c1e1d5475b6855ef787104508f0135ff570312845256e0fcecf dracut-059.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/dracut/dracut.mk b/package/dracut/dracut.mk index 3eb9bcc474..8573e64055 100644 --- a/package/dracut/dracut.mk +++ b/package/dracut/dracut.mk @@ -4,11 +4,11 @@ # ################################################################################ -DRACUT_VERSION = 057 +DRACUT_VERSION = 059 DRACUT_SITE = $(call github,dracutdevs,dracut,$(DRACUT_VERSION)) DRACUT_LICENSE = GPL-2.0 DRACUT_LICENSE_FILES = COPYING -DRACUT_CPE_ID_VENDOR = dracut_project +DRACUT_CPE_ID_VALID = YES HOST_DRACUT_DEPENDENCIES = host-pkgconf host-kmod host-prelink-cross diff --git a/package/dracut/dracut_wrapper b/package/dracut/dracut_wrapper index 0464db17fe..968d65cbeb 100644 --- a/package/dracut/dracut_wrapper +++ b/package/dracut/dracut_wrapper @@ -31,8 +31,18 @@ if [ -z "${sysroot}" ]; then fi topdir="$(dirname "$(realpath "$(dirname "${0}")")")" -export DRACUT_LDD="${topdir}/sbin/prelink-rtld --root='${sysroot}'" +DRACUT_LDD="$(mktemp /tmp/dracut-ldd.XXXXXX)" +cat >"${DRACUT_LDD}" < +Date: Mon, 20 Nov 2023 14:02:47 +0800 +Subject: [PATCH] Implement Strict KEX mode + +As specified by OpenSSH with kex-strict-c-v00@openssh.com and +kex-strict-s-v00@openssh.com. + +Upstream: https://github.com/mkj/dropbear/commit/6e43be5c7b99dbee49dc72b6f989f29fdd7e9356 +Signed-off-by: Fabrice Fontaine +--- + src/cli-session.c | 11 +++++++++++ + src/common-algo.c | 6 ++++++ + src/common-kex.c | 26 +++++++++++++++++++++++++- + src/kex.h | 3 +++ + src/process-packet.c | 34 +++++++++++++++++++--------------- + src/ssh.h | 4 ++++ + src/svr-session.c | 3 +++ + 7 files changed, 71 insertions(+), 16 deletions(-) + +diff --git a/cli-session.c b/cli-session.c +index 5981b2470..d261c8f82 100644 +--- a/cli-session.c ++++ b/cli-session.c +@@ -46,6 +46,7 @@ static void cli_finished(void) ATTRIB_NORETURN; + static void recv_msg_service_accept(void); + static void cli_session_cleanup(void); + static void recv_msg_global_request_cli(void); ++static void cli_algos_initialise(void); + + struct clientsession cli_ses; /* GLOBAL */ + +@@ -117,6 +118,7 @@ void cli_session(int sock_in, int sock_out, struct dropbear_progress_connection + } + + chaninitialise(cli_chantypes); ++ cli_algos_initialise(); + + /* Set up cli_ses vars */ + cli_session_init(proxy_cmd_pid); +@@ -487,3 +489,12 @@ void cli_dropbear_log(int priority, const char* format, va_list param) { + fflush(stderr); + } + ++static void cli_algos_initialise(void) { ++ algo_type *algo; ++ for (algo = sshkex; algo->name; algo++) { ++ if (strcmp(algo->name, SSH_STRICT_KEX_S) == 0) { ++ algo->usable = 0; ++ } ++ } ++} ++ +diff --git a/common-algo.c b/common-algo.c +index 378f0ca8e..f9d46ebb6 100644 +--- a/common-algo.c ++++ b/common-algo.c +@@ -307,6 +307,12 @@ algo_type sshkex[] = { + /* Set unusable by svr_algos_initialise() */ + {SSH_EXT_INFO_C, 0, NULL, 1, NULL}, + #endif ++#endif ++#if DROPBEAR_CLIENT ++ {SSH_STRICT_KEX_C, 0, NULL, 1, NULL}, ++#endif ++#if DROPBEAR_SERVER ++ {SSH_STRICT_KEX_S, 0, NULL, 1, NULL}, + #endif + {NULL, 0, NULL, 0, NULL} + }; +diff --git a/common-kex.c b/common-kex.c +index ac8844246..8e33b12a6 100644 +--- a/common-kex.c ++++ b/common-kex.c +@@ -183,6 +183,10 @@ void send_msg_newkeys() { + gen_new_keys(); + switch_keys(); + ++ if (ses.kexstate.strict_kex) { ++ ses.transseq = 0; ++ } ++ + TRACE(("leave send_msg_newkeys")) + } + +@@ -193,7 +197,11 @@ void recv_msg_newkeys() { + + ses.kexstate.recvnewkeys = 1; + switch_keys(); +- ++ ++ if (ses.kexstate.strict_kex) { ++ ses.recvseq = 0; ++ } ++ + TRACE(("leave recv_msg_newkeys")) + } + +@@ -550,6 +558,10 @@ void recv_msg_kexinit() { + + ses.kexstate.recvkexinit = 1; + ++ if (ses.kexstate.strict_kex && !ses.kexstate.donefirstkex && ses.recvseq != 1) { ++ dropbear_exit("First packet wasn't kexinit"); ++ } ++ + TRACE(("leave recv_msg_kexinit")) + } + +@@ -859,6 +871,18 @@ static void read_kex_algos() { + } + #endif + ++ if (!ses.kexstate.donefirstkex) { ++ const char* strict_name; ++ if (IS_DROPBEAR_CLIENT) { ++ strict_name = SSH_STRICT_KEX_S; ++ } else { ++ strict_name = SSH_STRICT_KEX_C; ++ } ++ if (buf_has_algo(ses.payload, strict_name) == DROPBEAR_SUCCESS) { ++ ses.kexstate.strict_kex = 1; ++ } ++ } ++ + algo = buf_match_algo(ses.payload, sshkex, kexguess2, &goodguess); + allgood &= goodguess; + if (algo == NULL || algo->data == NULL) { +diff --git a/kex.h b/kex.h +index 77cf21a37..7fcc3c252 100644 +--- a/kex.h ++++ b/kex.h +@@ -83,6 +83,9 @@ struct KEXState { + + unsigned our_first_follows_matches : 1; + ++ /* Boolean indicating that strict kex mode is in use */ ++ unsigned int strict_kex; ++ + time_t lastkextime; /* time of the last kex */ + unsigned int datatrans; /* data transmitted since last kex */ + unsigned int datarecv; /* data received since last kex */ +diff --git a/process-packet.c b/process-packet.c +index 945416023..133a152d0 100644 +--- a/process-packet.c ++++ b/process-packet.c +@@ -44,6 +44,7 @@ void process_packet() { + + unsigned char type; + unsigned int i; ++ unsigned int first_strict_kex = ses.kexstate.strict_kex && !ses.kexstate.donefirstkex; + time_t now; + + TRACE2(("enter process_packet")) +@@ -54,22 +55,24 @@ void process_packet() { + now = monotonic_now(); + ses.last_packet_time_keepalive_recv = now; + +- /* These packets we can receive at any time */ +- switch(type) { + +- case SSH_MSG_IGNORE: +- goto out; +- case SSH_MSG_DEBUG: +- goto out; ++ if (type == SSH_MSG_DISCONNECT) { ++ /* Allowed at any time */ ++ dropbear_close("Disconnect received"); ++ } + +- case SSH_MSG_UNIMPLEMENTED: +- /* debugging XXX */ +- TRACE(("SSH_MSG_UNIMPLEMENTED")) +- goto out; +- +- case SSH_MSG_DISCONNECT: +- /* TODO cleanup? */ +- dropbear_close("Disconnect received"); ++ /* These packets may be received at any time, ++ except during first kex with strict kex */ ++ if (!first_strict_kex) { ++ switch(type) { ++ case SSH_MSG_IGNORE: ++ goto out; ++ case SSH_MSG_DEBUG: ++ goto out; ++ case SSH_MSG_UNIMPLEMENTED: ++ TRACE(("SSH_MSG_UNIMPLEMENTED")) ++ goto out; ++ } + } + + /* Ignore these packet types so that keepalives don't interfere with +@@ -98,7 +101,8 @@ void process_packet() { + if (type >= 1 && type <= 49 + && type != SSH_MSG_SERVICE_REQUEST + && type != SSH_MSG_SERVICE_ACCEPT +- && type != SSH_MSG_KEXINIT) ++ && type != SSH_MSG_KEXINIT ++ && !first_strict_kex) + { + TRACE(("unknown allowed packet during kexinit")) + recv_unimplemented(); +diff --git a/ssh.h b/ssh.h +index 1b4fec65f..ef3efdca0 100644 +--- a/ssh.h ++++ b/ssh.h +@@ -100,6 +100,10 @@ + #define SSH_EXT_INFO_C "ext-info-c" + #define SSH_SERVER_SIG_ALGS "server-sig-algs" + ++/* OpenSSH strict KEX feature */ ++#define SSH_STRICT_KEX_S "kex-strict-s-v00@openssh.com" ++#define SSH_STRICT_KEX_C "kex-strict-c-v00@openssh.com" ++ + /* service types */ + #define SSH_SERVICE_USERAUTH "ssh-userauth" + #define SSH_SERVICE_USERAUTH_LEN 12 +diff --git a/svr-session.c b/svr-session.c +index 769f0731d..a538e2c5c 100644 +--- a/svr-session.c ++++ b/svr-session.c +@@ -370,6 +370,9 @@ static void svr_algos_initialise(void) { + algo->usable = 0; + } + #endif ++ if (strcmp(algo->name, SSH_STRICT_KEX_C) == 0) { ++ algo->usable = 0; ++ } + } + } + diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index 36eb7898ba..7ac8a38559 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -14,6 +14,9 @@ DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS) DROPBEAR_CPE_ID_VENDOR = dropbear_ssh_project DROPBEAR_CPE_ID_PRODUCT = dropbear_ssh +# 0001-Implement-Strict-KEX-mode.patch +DROPBEAR_IGNORE_CVES += CVE-2023-48795 + # Disable hardening flags added by dropbear configure.ac, and let # Buildroot add them when the relevant options are enabled. This # prevents dropbear from using SSP support when not available. diff --git a/package/dt-utils/dt-utils.hash b/package/dt-utils/dt-utils.hash index 9fca594db5..c57145b835 100644 --- a/package/dt-utils/dt-utils.hash +++ b/package/dt-utils/dt-utils.hash @@ -1,3 +1,6 @@ # Locally computed -sha256 63cf47c70911bb3605bafac38a5a7e19eb753ac1c90de2abceaf2fdefd71be6d dt-utils-2021.03.0.tar.xz -sha256 a45932c79317d15116eadbf1c9c6fc59117ec3c4621db3a876066defa723963b COPYING +sha256 a6988b889418737324ed3db3785d3a9692e802c1dff4a2323c962008b7b646b1 dt-utils-2023.08.0.tar.xz +sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 LICENSES/CC0-1.0.txt +sha256 2c9d733cadb50e33cc83f05f1fe7cc4b6c5ff7260fd9eea1b839151c7fa64742 LICENSES/GPL-2.0-only.txt +sha256 d6e37cb7eff6ef15ae3c4082cf40eae80a94cd59b636991d1149d4a5c9dc3537 LICENSES/GPL-2.0-or-later.txt +sha256 aa8c4e84680f7653d9a6f9f92b692239e5aa839a48dcdbce6108a3bbde451e30 LICENSES/Zlib.txt diff --git a/package/dt-utils/dt-utils.mk b/package/dt-utils/dt-utils.mk index d264e2cdc9..198b36d5fe 100644 --- a/package/dt-utils/dt-utils.mk +++ b/package/dt-utils/dt-utils.mk @@ -4,11 +4,16 @@ # ################################################################################ -DT_UTILS_VERSION = 2021.03.0 +DT_UTILS_VERSION = 2023.08.0 DT_UTILS_SOURCE = dt-utils-$(DT_UTILS_VERSION).tar.xz DT_UTILS_SITE = https://git.pengutronix.de/cgit/tools/dt-utils/snapshot -DT_UTILS_LICENSE = GPL-2.0 -DT_UTILS_LICENSE_FILES = COPYING +DT_UTILS_LICENSE = CC0-1.0, GPL-2.0, GPL-2.0+, Zlib +DT_UTILS_LICENSE_FILES = \ + LICENSES/CC0-1.0.txt \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-2.0-or-later.txt \ + LICENSES/Zlib.txt + DT_UTILS_DEPENDENCIES = udev DT_UTILS_AUTORECONF = YES diff --git a/package/dtbocfg/dtbocfg.hash b/package/dtbocfg/dtbocfg.hash index 7db69f9e59..df1817f7aa 100644 --- a/package/dtbocfg/dtbocfg.hash +++ b/package/dtbocfg/dtbocfg.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 faa53aefd7f7636c65e2b56bec223d2bc7676354e3ad9b5c1691aca349b9bbb8 dtbocfg-0.0.9.tar.gz +sha256 f1667de4250b744bb4a11dfc5f85d8b1f960da7d396c9f230f5b4d12224f524f dtbocfg-0.1.0.tar.gz sha256 e57cb9f2ed607cd95bf1b64371325c505c1ac8fe640a8c9933e7fe7637a38567 LICENSE diff --git a/package/dtbocfg/dtbocfg.mk b/package/dtbocfg/dtbocfg.mk index 68beb1a45e..df5f692bc1 100644 --- a/package/dtbocfg/dtbocfg.mk +++ b/package/dtbocfg/dtbocfg.mk @@ -4,7 +4,7 @@ # ################################################################################ -DTBOCFG_VERSION = 0.0.9 +DTBOCFG_VERSION = 0.1.0 DTBOCFG_SITE = $(call github,ikwzm,dtbocfg,v$(DTBOCFG_VERSION)) DTBOCFG_LICENSE = BSD-2-Clause DTBOCFG_LICENSE_FILES = LICENSE diff --git a/package/dtc/dtc.hash b/package/dtc/dtc.hash index 29b7e0b121..5856156f00 100644 --- a/package/dtc/dtc.hash +++ b/package/dtc/dtc.hash @@ -1,5 +1,5 @@ # from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc -sha256 65cec529893659a49a89740bb362f507a3b94fc8cd791e76a8d6a2b6f3203473 dtc-1.6.1.tar.xz +sha256 29edce3d302a15563d8663198bbc398c5a0554765c83830d0d4c0409d21a16c4 dtc-1.7.0.tar.xz # Hash for license files sha256 78e1e1ce5728a990d59c7de61d4741c49185d5129daf783b386380a214328d68 README.license diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk index 53f9c9c8df..5868ae0e5a 100644 --- a/package/dtc/dtc.mk +++ b/package/dtc/dtc.mk @@ -4,12 +4,12 @@ # ################################################################################ -DTC_VERSION = 1.6.1 +DTC_VERSION = 1.7.0 DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz DTC_SITE = https://www.kernel.org/pub/software/utils/dtc DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library) DTC_LICENSE_FILES = README.license GPL BSD-2-Clause -DTC_CPE_ID_VENDOR = dtc_project +DTC_CPE_ID_VALID = YES DTC_INSTALL_STAGING = YES DTC_DEPENDENCIES = host-bison host-flex host-pkgconf HOST_DTC_DEPENDENCIES = host-bison host-flex host-pkgconf diff --git a/package/duktape/duktape.mk b/package/duktape/duktape.mk index 674c5e9323..59fc17f7ed 100644 --- a/package/duktape/duktape.mk +++ b/package/duktape/duktape.mk @@ -11,6 +11,7 @@ DUKTAPE_SITE = \ DUKTAPE_LICENSE = MIT DUKTAPE_LICENSE_FILES = LICENSE.txt DUKTAPE_INSTALL_STAGING = YES +DUKTAPE_CPE_ID_VALID = YES define DUKTAPE_BUILD_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary diff --git a/package/duma/0001-fix-cross-compilation.patch b/package/duma/0001-fix-cross-compilation.patch deleted file mode 100644 index eceaf06bec..0000000000 --- a/package/duma/0001-fix-cross-compilation.patch +++ /dev/null @@ -1,37 +0,0 @@ -Allow cross compilation. Adapted from crosstool-ng. - -Signed-off-by: Baruch Siach - -Index: b/GNUmakefile -=================================================================== ---- a/GNUmakefile -+++ b/GNUmakefile -@@ -93,10 +93,6 @@ - # also define 'WIN32' - - # some defaults: --CC=gcc --CXX=g++ --AR=ar --RANLIB=ranlib - INSTALL=install - RM=rm - RMFORCE=rm -f -@@ -471,7 +467,7 @@ - - createconf$(EXEPOSTFIX): createconf.o - - $(RMFORCE) createconf$(EXEPOSTFIX) -- $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX) -+ $(CC_FOR_BUILD) $(HOST_CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX) - - tstheap$(EXEPOSTFIX): libduma.a tstheap.o - - $(RMFORCE) tstheap$(EXEPOSTFIX) -@@ -532,7 +528,7 @@ - # define rules how to build objects for createconf - # - createconf.o: -- $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@ -+ $(CC_FOR_BUILD) $(HOST_CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@ - - - # diff --git a/package/duma/0002-no-tests.patch b/package/duma/0002-no-tests.patch deleted file mode 100644 index 6fe76f725f..0000000000 --- a/package/duma/0002-no-tests.patch +++ /dev/null @@ -1,19 +0,0 @@ -Do not build test programs - -Biulding test programs does not work when we want to do a static link, -because duma.a redefines memcpy and strcpy, so the link fails. - -Signed-off-by: "Yann E. MORIN" - -diff -durN duma-2.5.15.orig/GNUmakefile duma-2.5.15/GNUmakefile ---- duma-2.5.15.orig/GNUmakefile 2014-11-16 14:47:05.874448560 +0100 -+++ duma-2.5.15/GNUmakefile 2014-11-16 14:54:50.792048921 +0100 -@@ -294,7 +294,7 @@ - SO_OBJECTS=dumapp_so.o duma_so.o sem_inc_so.o print_so.o - - # Make all the top-level targets the makefile knows about. --all: libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS) -+all: libduma.a $(DUMA_DYN_DEPS) - - # Perform self tests on the program this makefile builds. - check test: diff --git a/package/duma/0003-fix-C++14.patch b/package/duma/0003-fix-C++14.patch deleted file mode 100644 index d19213ca7a..0000000000 --- a/package/duma/0003-fix-C++14.patch +++ /dev/null @@ -1,65 +0,0 @@ -dumapp: fix for C++14 - -With C++14, the way exceptions are specified has changed (somehow, don't -ask me), thus causing build failures: - - dumapp.cpp: In function ‘void* operator new(std::size_t)’: - dumapp.cpp:192:19: error: declaration of ‘void* operator new(std::size_t) throw (std::bad_alloc)’ has a different exception specifier - void * DUMA_CDECL operator new( DUMA_SIZE_T size ) - ^~~~~~~~ - In file included from dumapp.cpp:39:0: - dumapp.h:91:23: note: from previous declaration ‘void* operator new(std::size_t)’ - void * DUMA_CDECL operator new(DUMA_SIZE_T) throw(std::bad_alloc); - ^~~~~~~~ - -This is most evident with gcc-6.x, since the default C++ standard has -changed from C++11 to C++14, thus exposing these new failures. - -Fix that by guarding the exception handling, a bit like was done -with GRASS GIS (thanks DuckDuckGo): - - https://trac.osgeo.org/grass/changeset?old_path=%2F&old=68817&new_path=%2F&new=68818&sfp_email=&sfph_mail= - -Signed-off-by: "Yann E. MORIN" - ---- -Note: The last commit in DUMA's CVS repo was more than 7 years ago. -I doubt it is still active, so the patch was not sent upstream. :-/ - -diff -durN duma-2.5.15.orig/dumapp.cpp duma-2.5.15/dumapp.cpp ---- duma-2.5.15.orig/dumapp.cpp 2008-08-03 22:46:06.000000000 +0200 -+++ duma-2.5.15/dumapp.cpp 2016-07-10 21:55:22.670386099 +0200 -@@ -190,7 +190,9 @@ - * (11) = (a) ; ASW - */ - void * DUMA_CDECL operator new( DUMA_SIZE_T size ) -+#ifdef DUMA_EXCEPTION_SPECS - throw(std::bad_alloc) -+#endif - { - return duma_new_operator(size, EFA_NEW_ELEM, true DUMA_PARAMS_UK); - } -@@ -254,7 +256,9 @@ - * (21) = (a) ; AAW - */ - void * DUMA_CDECL operator new[]( DUMA_SIZE_T size ) -+#ifdef DUMA_EXCEPTION_SPECS - throw(std::bad_alloc) -+#endif - { - return duma_new_operator(size, EFA_NEW_ARRAY, true DUMA_PARAMS_UK); - } -diff -durN duma-2.5.15.orig/dumapp.h duma-2.5.15/dumapp.h ---- duma-2.5.15.orig/dumapp.h 2009-04-11 14:41:44.000000000 +0200 -+++ duma-2.5.15/dumapp.h 2016-07-10 21:55:22.670386099 +0200 -@@ -35,6 +35,10 @@ - - #include "duma.h" - -+#if __cplusplus < 201103L -+ #define DUMA_EXCEPTION_SPECS 1 -+#endif -+ - /* remove previous macro definitions */ - #include "noduma.h" - diff --git a/package/duma/0004-Fix-build-with-latest-glibc.patch b/package/duma/0004-Fix-build-with-latest-glibc.patch deleted file mode 100644 index 2d73d7ae57..0000000000 --- a/package/duma/0004-Fix-build-with-latest-glibc.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix build with latest glibc - -Fixes: - - http://autobuild.buildroot.net/results/c7de1a1d01edced2098a804ad87dcb67b5dc6832 - -Signed-off-by: Fabrice Fontaine - -diff -durN duma_2_5_15.orig/print.c duma_2_5_15/print.c ---- duma_2_5_15.orig/print.c 2019-10-28 10:21:14.080149620 +0100 -+++ duma_2_5_15/print.c 2019-10-28 10:22:01.256151561 +0100 -@@ -326,9 +326,9 @@ - if(DUMA_OUTPUT_FILE != NULL) - { - #if defined(WIN32) && !defined(__CYGWIN__) -- fd = _open(DUMA_OUTPUT_FILE, _O_APPEND|_O_CREAT|_O_WRONLY); -+ fd = _open(DUMA_OUTPUT_FILE, _O_APPEND|_O_CREAT|_O_WRONLY, 0600); - #else -- fd = open(DUMA_OUTPUT_FILE, O_APPEND|O_CREAT|O_WRONLY); -+ fd = open(DUMA_OUTPUT_FILE, O_APPEND|O_CREAT|O_WRONLY, 0600); - #endif - if ( fd >= 0 ) - { diff --git a/package/duma/Config.in b/package/duma/Config.in index b1f55faa73..a891996ad1 100644 --- a/package/duma/Config.in +++ b/package/duma/Config.in @@ -14,7 +14,7 @@ config BR2_PACKAGE_DUMA Electric Fence library. Detects buffer overflow and underflow, and also memory leaks. - http://duma.sourceforge.net + https://github.com/johnsonjh/duma if BR2_PACKAGE_DUMA diff --git a/package/duma/duma.hash b/package/duma/duma.hash index ccf171a97c..d6c1685bd1 100644 --- a/package/duma/duma.hash +++ b/package/duma/duma.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 baaf794854e3093ad1bddadbfb8ad4b220a7117d70359ee216bd59e353734e17 duma_2_5_15.tar.gz +sha256 470aa72e7018f0beadb5fbe3c932a62ba1b0594c29158a744c614bfa42133e59 duma-2.5.21.tar.gz sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING-GPL -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING-LGPL +sha256 76568dd3f7e12b18900ce0e767b99e59f4956a2e709a33de899508693a6425d4 COPYING-LGPL diff --git a/package/duma/duma.mk b/package/duma/duma.mk index 906db872d5..6bbdf41f4a 100644 --- a/package/duma/duma.mk +++ b/package/duma/duma.mk @@ -4,9 +4,8 @@ # ################################################################################ -DUMA_VERSION = 2.5.15 -DUMA_SOURCE = duma_$(subst .,_,$(DUMA_VERSION)).tar.gz -DUMA_SITE = http://downloads.sourceforge.net/project/duma/duma/$(DUMA_VERSION) +DUMA_VERSION = 2.5.21 +DUMA_SITE = $(call github,johnsonjh,duma,VERSION_$(subst .,_,$(DUMA_VERSION))) DUMA_LICENSE = GPL-2.0+, LGPL-2.1+ DUMA_LICENSE_FILES = COPYING-GPL COPYING-LGPL @@ -25,11 +24,13 @@ define DUMA_BUILD_CMDS endef define DUMA_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) OS=linux prefix=$(STAGING_DIR)/usr install -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + OS=linux prefix=$(STAGING_DIR)/usr install -C $(@D) endef define DUMA_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) OS=linux prefix=$(TARGET_DIR)/usr install -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + OS=linux prefix=$(TARGET_DIR)/usr install -C $(@D) endef $(eval $(generic-package)) diff --git a/package/dump1090/dump1090.hash b/package/dump1090/dump1090.hash index 8a4c3a4818..a493e76560 100644 --- a/package/dump1090/dump1090.hash +++ b/package/dump1090/dump1090.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1ab8a5acd891bdbba586e2e9f2d9b056210940bd47b5c1a19d133eb091f31555 dump1090-8.2.tar.gz +sha256 6190622c3625713ec9cff882a9d6f6a51b6d2f83ef20e6e1905a3902c7b08483 dump1090-9.0.tar.gz sha256 804f68c803eb5c127c53ad17c4f4e5033ef158e514bb76950dc7b1773f9ce4b0 LICENSE diff --git a/package/dump1090/dump1090.mk b/package/dump1090/dump1090.mk index 60ef4a9bcb..e06babb082 100644 --- a/package/dump1090/dump1090.mk +++ b/package/dump1090/dump1090.mk @@ -4,7 +4,7 @@ # ################################################################################ -DUMP1090_VERSION = 8.2 +DUMP1090_VERSION = 9.0 DUMP1090_SITE = $(call github,flightaware,dump1090,v$(DUMP1090_VERSION)) DUMP1090_LICENSE = GPL-2.0+ DUMP1090_LICENSE_FILES = LICENSE diff --git a/package/dust/dust.hash b/package/dust/dust.hash index d4f6bff4e4..8f202d4870 100644 --- a/package/dust/dust.hash +++ b/package/dust/dust.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 271cc0f1978049b2dbfece633b85d4dd0184df346bd93720062c13e4332f2549 dust-0.8.1.tar.gz -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE +sha256 b1712d3bcb7443e892019b0dcfa378d97e8e35f4b21e7ab62523cc30fb974c19 dust-0.9.0.tar.gz +sha256 aee6e2d13d3a55c7881630c09b41ca7b3b44bb1437b5d36695d22decc3655160 LICENSE diff --git a/package/dust/dust.mk b/package/dust/dust.mk index 2cffc336a9..c566723c1c 100644 --- a/package/dust/dust.mk +++ b/package/dust/dust.mk @@ -4,7 +4,7 @@ # ################################################################################ -DUST_VERSION = 0.8.1 +DUST_VERSION = 0.9.0 DUST_SITE = $(call github,bootandy,dust,v$(DUST_VERSION)) DUST_LICENSE = APACHE-2.0 DUST_LICENSE_FILES = LICENSE diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index 7491f4c067..cbaac4f40b 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -9,7 +9,7 @@ E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION) E2FSPROGS_LICENSE = GPL-2.0, MIT-like with advertising clause (libss and libet) E2FSPROGS_LICENSE_FILES = NOTICE lib/ss/mit-sipb-copyright.h lib/et/internal.h -E2FSPROGS_CPE_ID_VENDOR = e2fsprogs_project +E2FSPROGS_CPE_ID_VALID = YES E2FSPROGS_INSTALL_STAGING = YES # Use libblkid and libuuid from util-linux for host and target packages. diff --git a/package/easy-rsa/easy-rsa.hash b/package/easy-rsa/easy-rsa.hash index 5be651bde0..de19d8b693 100644 --- a/package/easy-rsa/easy-rsa.hash +++ b/package/easy-rsa/easy-rsa.hash @@ -1,5 +1,5 @@ # Locally computed: (after verifying gpg sig) -sha512 8c8d1f4baf90475d4cce334d116b7f12b82687157796b25560600b5098769226ae2f60f02982c75266b625d66b465360ffa815260ad44850923e3fbc9ba8540a EasyRSA-3.1.1.tgz +sha512 eb3978b07c313af148c6ae94b60e213c8b810c5974242855560b22ad949cfc094d311e4cc04a95ddd0f817bfec54971caa5289e5fc532895e1e58499d265c705 EasyRSA-3.1.7.tgz # Hash for license files sha256 7c4a4fc71745d93a87278801f1bca555562ca23f21e18293add64b9e6f6b7bf1 COPYING.md diff --git a/package/easy-rsa/easy-rsa.mk b/package/easy-rsa/easy-rsa.mk index 4ea45506dd..7266943f5b 100644 --- a/package/easy-rsa/easy-rsa.mk +++ b/package/easy-rsa/easy-rsa.mk @@ -4,7 +4,7 @@ # ################################################################################ -EASY_RSA_VERSION = 3.1.1 +EASY_RSA_VERSION = 3.1.7 EASY_RSA_SOURCE = EasyRSA-$(EASY_RSA_VERSION).tgz EASY_RSA_SITE = https://github.com/OpenVPN/easy-rsa/releases/download/v$(EASY_RSA_VERSION) EASY_RSA_LICENSE = GPL-2.0 diff --git a/package/ed/ed.hash b/package/ed/ed.hash index 36f9b9c1e4..007f645f51 100644 --- a/package/ed/ed.hash +++ b/package/ed/ed.hash @@ -1,4 +1,4 @@ -# From https://lists.gnu.org/archive/html/bug-ed/2022-02/msg00000.html -sha256 aca8efad9800c587724a20b97aa8fc47e6b5a47df81606feaba831b074462b4f ed-1.18.tar.lz +# From https://lists.gnu.org/archive/html/bug-ed/2023-01/msg00000.html +sha256 ce2f2e5c424790aa96d09dacb93d9bbfdc0b7eb6249c9cb7538452e8ec77cd48 ed-1.19.tar.lz # Locally calculated sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/ed/ed.mk b/package/ed/ed.mk index 645cfb7696..a90d1f005e 100644 --- a/package/ed/ed.mk +++ b/package/ed/ed.mk @@ -4,7 +4,7 @@ # ################################################################################ -ED_VERSION = 1.18 +ED_VERSION = 1.19 ED_SITE = $(BR2_GNU_MIRROR)/ed ED_SOURCE = ed-$(ED_VERSION).tar.lz ED_LICENSE = GPL-2.0+ diff --git a/package/edk2-non-osi/edk2-non-osi.hash b/package/edk2-non-osi/edk2-non-osi.hash index 2593324bc1..e4e84f1cef 100644 --- a/package/edk2-non-osi/edk2-non-osi.hash +++ b/package/edk2-non-osi/edk2-non-osi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c048101d6532d9bb4f6450095e0b50812d9a831f7e3c119db48e5caf2bf020a6 edk2-non-osi-41876073afb7c7309018223baa1a6f8108bf23f0.tar.gz +sha256 6fe059c4ee5d4fad6245a6eb53ed6b62b8890e9481cfb52c9fbdb83a5b2e0edb edk2-non-osi-8c09bd0955338db38813e0d8ae1faa634f545f73.tar.gz sha256 38d73db2f9dfb32e1666d898cb9d7c1ccd78302dd9922d5fac4a9cf61fa872d9 Silicon/Marvell/Armada7k8k/DeviceTree/Armada80x0McBin.inf diff --git a/package/edk2-non-osi/edk2-non-osi.mk b/package/edk2-non-osi/edk2-non-osi.mk index 1103772768..d787c882b3 100644 --- a/package/edk2-non-osi/edk2-non-osi.mk +++ b/package/edk2-non-osi/edk2-non-osi.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep in sync with latest commit as of the release date for boot/edk2 -EDK2_NON_OSI_VERSION = 41876073afb7c7309018223baa1a6f8108bf23f0 +EDK2_NON_OSI_VERSION = 8c09bd0955338db38813e0d8ae1faa634f545f73 EDK2_NON_OSI_SITE = $(call github,tianocore,edk2-non-osi,$(EDK2_NON_OSI_VERSION)) EDK2_NON_OSI_INSTALL_TARGET = NO EDK2_NON_OSI_INSTALL_STAGING = YES diff --git a/package/edk2-platforms/edk2-platforms.hash b/package/edk2-platforms/edk2-platforms.hash index ae88b672a6..4c74c7dfb6 100644 --- a/package/edk2-platforms/edk2-platforms.hash +++ b/package/edk2-platforms/edk2-platforms.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 31257160ac51a4a5f63db92d26482d6a005286ed040dafe89d01f0ee906b111e edk2-platforms-b71f2bda9e4fc183068eef5d1d90a631181a2506.tar.gz +sha256 c240a8ec7816bc5963d881c84eb18d880e9269c117cfc46a3106b0c5e6e80c66 edk2-platforms-e509ac5a729ebe2a3bc905aed1df23226aca4dc9.tar.gz sha256 50ce20c9cfdb0e19ee34fe0a51fc0afe961f743697b068359ab2f862b494df80 License.txt diff --git a/package/edk2-platforms/edk2-platforms.mk b/package/edk2-platforms/edk2-platforms.mk index 9e8ff94156..7bd86ff159 100644 --- a/package/edk2-platforms/edk2-platforms.mk +++ b/package/edk2-platforms/edk2-platforms.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep in sync with latest commit as of the release date for boot/edk2 -EDK2_PLATFORMS_VERSION = b71f2bda9e4fc183068eef5d1d90a631181a2506 +EDK2_PLATFORMS_VERSION = e509ac5a729ebe2a3bc905aed1df23226aca4dc9 EDK2_PLATFORMS_SITE = $(call github,tianocore,edk2-platforms,$(EDK2_PLATFORMS_VERSION)) EDK2_PLATFORMS_LICENSE = BSD-2-Clause-Patent EDK2_PLATFORMS_LICENSE_FILES = License.txt diff --git a/package/efivar/0001-Allow-build-with-uClibc.patch b/package/efivar/0001-Allow-build-with-uClibc.patch deleted file mode 100644 index 0da80f26d2..0000000000 --- a/package/efivar/0001-Allow-build-with-uClibc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From bfd9cd9e603ef0d0e593d4432048bffc2acfeb7c Mon Sep 17 00:00:00 2001 -From: Andy Shevchenko -Date: Fri, 25 Nov 2016 19:42:27 +0200 -Subject: [PATCH] Allow build with uClibc - -Basically this replaces type definitions in . - -Signed-off-by: Andy Shevchenko -[Erico: rebase to 38] -Signed-off-by: Erico Nunes ---- - src/export.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/export.c b/src/export.c -index db5e637..21c5617 100644 ---- a/src/export.c -+++ b/src/export.c -@@ -9,10 +9,16 @@ - #include - #include - #include --#include - - #include "efivar.h" - -+#ifdef __UCLIBC__ -+typedef int_least16_t char16_t; -+typedef int_least32_t char32_t; -+#else -+#include -+#endif -+ - #define EFIVAR_MAGIC 0xf3df1597u - - #define ATTRS_UNSET 0xa5a5a5a5a5a5a5a5 --- -2.37.3 - diff --git a/package/efivar/0003-efivar-isolate-makeguids-host-tool-build.patch b/package/efivar/0001-efivar-isolate-makeguids-host-tool-build.patch similarity index 70% rename from package/efivar/0003-efivar-isolate-makeguids-host-tool-build.patch rename to package/efivar/0001-efivar-isolate-makeguids-host-tool-build.patch index f136bf2cd3..aad207d834 100644 --- a/package/efivar/0003-efivar-isolate-makeguids-host-tool-build.patch +++ b/package/efivar/0001-efivar-isolate-makeguids-host-tool-build.patch @@ -1,4 +1,4 @@ -From b069a48abd62a669851b9c3b501d579748dab0fd Mon Sep 17 00:00:00 2001 +From e1c3734bab27fd850b4ac6681d219ceaf0637616 Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Mon, 3 Oct 2022 18:16:55 +0200 Subject: [PATCH] efivar: isolate makeguids host tool build @@ -14,16 +14,19 @@ target and remove target build dependencies from it. This way, Buildroot can build the tool separately in a host build step and the target build step can then be straightforward. +Upstream: Not applicable (does not support cross compilation) +Signed-off-by: Julien Olivain +[Julien: rebased patch to version 39] Signed-off-by: Erico Nunes --- src/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile -index 0e423c4..82c59c2 100644 +index 6fc2a62..7fa63c6 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -68,7 +68,6 @@ makeguids : LDFLAGS=$(HOST_LDFLAGS) +@@ -70,7 +70,6 @@ makeguids : LDFLAGS=$(HOST_LDFLAGS) makeguids : CCLDFLAGS=$(HOST_CCLDFLAGS) makeguids : $(MAKEGUIDS_OBJECTS) @@ -31,18 +34,18 @@ index 0e423c4..82c59c2 100644 $(MAKEGUIDS_OUTPUT) : guids.txt @set -e ; \ missing=no ; \ -@@ -81,9 +80,9 @@ $(MAKEGUIDS_OUTPUT) : guids.txt +@@ -83,9 +82,9 @@ $(MAKEGUIDS_OUTPUT) : guids.txt if [ "$${missing}" != "no" ]; then \ exit 1 ; \ fi -- ./makeguids $(LD_DASH_T) guids.txt guid-symbols.c include/efivar/efivar-guids.h guids.lds -+ makeguids $(LD_DASH_T) guids.txt guid-symbols.c include/efivar/efivar-guids.h guids.lds +- ./makeguids guids.txt guid-symbols.c include/efivar/efivar-guids.h ++ makeguids guids.txt guid-symbols.c include/efivar/efivar-guids.h -prep : makeguids $(GENERATED_SOURCES) +prep : $(GENERATED_SOURCES) - $(LIBEFIVAR_OBJECTS) $(LIBEFIBOOT_OBJECTS) : prep + $(LIBEFIVAR_OBJECTS) $(LIBEFIBOOT_OBJECTS) : include/efivar/efivar-guids.h -- -2.37.3 +2.44.0 diff --git a/package/efivar/0002-gcc.specs-drop-Werror.patch b/package/efivar/0002-gcc.specs-drop-Werror.patch deleted file mode 100644 index a25b844906..0000000000 --- a/package/efivar/0002-gcc.specs-drop-Werror.patch +++ /dev/null @@ -1,46 +0,0 @@ -From a1d469753528a98aec971377a526619da5054b20 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 22 Mar 2021 07:52:34 +0100 -Subject: [PATCH] gcc.specs: drop -Werror - -Build with -Werror raises the following build failure with gcc 10: - -/home/buildroot/autobuild/run/instance-1/output-1/host/bin/aarch64-none-linux-gnu-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -I/home/buildroot/autobuild/run/instance-1/output-1/build/efivar-37/src/include/ -specs=/home/buildroot/autobuild/run/instance-1/output-1/build/efivar-37/gcc.specs -L. -fPIC -Wl,-z,muldefs -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o efivar efivar.c -lefivar -ldl -In file included from efivar.h:28, - from efivar.c:40: -In function 'text_to_guid', - inlined from 'parse_name.constprop' at efivar.c:157:8: -guid.h:106:2: error: 'strncpy' output may be truncated copying 8 bytes from a string of length 38 [-Werror=stringop-truncation] - 106 | strncpy(eightbytes, text, 8); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cc1: all warnings being treated as errors - -Fixes: - - http://autobuild.buildroot.org/results/fcba72d359f4128515560e9105384cd4deff5043 - -Signed-off-by: Fabrice Fontaine -[Upstream status: not upstreamable as Makefiles were reworked and a new -ERRORS parameter was added: -https://github.com/rhboot/efivar/commit/998f617cec92d526e1fadb745673ceef63fa1483] -[Erico: rebase to 38] -Signed-off-by: Erico Nunes ---- - src/include/defaults.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/include/defaults.mk b/src/include/defaults.mk -index 632b155..2a9537a 100644 ---- a/src/include/defaults.mk -+++ b/src/include/defaults.mk -@@ -29,7 +29,7 @@ WARNINGS_GCC ?= - WARNINGS_CCC_ANALYZER ?= $(WARNINGS_GCC) - WARNINGS ?= -Wall -Wextra $(call family,WARNINGS) - ERRORS_GCC ?= --ERRORS ?= -Werror $(call family,ERRORS) -+ERRORS ?= $(call family,ERRORS) - CPPFLAGS ?= - override _CPPFLAGS := $(CPPFLAGS) - override CPPFLAGS = $(_CPPFLAGS) -DLIBEFIVAR_VERSION=$(VERSION) \ --- -2.37.3 - diff --git a/package/efivar/0004-efisecdb-fix-build-with-musl-libc.patch b/package/efivar/0004-efisecdb-fix-build-with-musl-libc.patch deleted file mode 100644 index 9815a9d0cf..0000000000 --- a/package/efivar/0004-efisecdb-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,185 +0,0 @@ -From cece3ffd5be2f8641eb694513f2b73e5eb97ffd3 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Fri, 28 Jan 2022 12:13:30 +0100 -Subject: [PATCH] efisecdb: fix build with musl libc - -Refactor code to use POSIX atexit(3) instead of the GNU specific -on_exit(3). - -Resolves: #197 -Resolves: #202 -Signed-off-by: Natanael Copa -[Erico: backport from upstream commit -cece3ffd5be2f8641eb694513f2b73e5eb97ffd3] -Signed-off-by: Erico Nunes ---- - src/compiler.h | 2 -- - src/efisecdb.c | 68 +++++++++++++++++++------------------------------- - 2 files changed, 26 insertions(+), 44 deletions(-) - -diff --git a/src/compiler.h b/src/compiler.h -index e2f18f0..d95fb01 100644 ---- a/src/compiler.h -+++ b/src/compiler.h -@@ -7,8 +7,6 @@ - #ifndef COMPILER_H_ - #define COMPILER_H_ - --#include -- - /* GCC version checking borrowed from glibc. */ - #if defined(__GNUC__) && defined(__GNUC_MINOR__) - # define GNUC_PREREQ(maj,min) \ -diff --git a/src/efisecdb.c b/src/efisecdb.c -index f882373..6bd5ad9 100644 ---- a/src/efisecdb.c -+++ b/src/efisecdb.c -@@ -25,6 +25,10 @@ - extern char *optarg; - extern int optind, opterr, optopt; - -+static efi_secdb_t *secdb = NULL; -+static list_t infiles; -+static list_t actions; -+ - struct hash_param { - char *name; - efi_secdb_type_t algorithm; -@@ -187,12 +191,11 @@ add_action(list_t *list, action_type_t action_type, const efi_guid_t *owner, - } - - static void --free_actions(int status UNUSED, void *actionsp) -+free_actions(void) - { -- list_t *actions = (list_t *)actionsp; - list_t *pos, *tmp; - -- for_each_action_safe(pos, tmp, actions) { -+ for_each_action_safe(pos, tmp, &actions) { - action_t *action = list_entry(pos, action_t, list); - - list_del(&action->list); -@@ -202,12 +205,11 @@ free_actions(int status UNUSED, void *actionsp) - } - - static void --free_infiles(int status UNUSED, void *infilesp) -+free_infiles(void) - { -- list_t *infiles = (list_t *)infilesp; - list_t *pos, *tmp; - -- for_each_ptr_safe(pos, tmp, infiles) { -+ for_each_ptr_safe(pos, tmp, &infiles) { - ptrlist_t *entry = list_entry(pos, ptrlist_t, list); - - list_del(&entry->list); -@@ -216,27 +218,12 @@ free_infiles(int status UNUSED, void *infilesp) - } - - static void --maybe_free_secdb(int status UNUSED, void *voidp) -+maybe_free_secdb(void) - { -- efi_secdb_t **secdbp = (efi_secdb_t **)voidp; -- -- if (secdbp == NULL || *secdbp == NULL) -+ if (secdb == NULL) - return; - -- efi_secdb_free(*secdbp); --} -- --static void --maybe_do_unlink(int status, void *filep) --{ -- char **file = (char **)filep; -- -- if (status == 0) -- return; -- if (file == NULL || *file == NULL) -- return; -- -- unlink(*file); -+ efi_secdb_free(secdb); - } - - static void -@@ -323,15 +310,6 @@ parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb, - return status; - } - --/* -- * These need to be static globals so that they're not on main's stack when -- * on_exit() fires. -- */ --static efi_secdb_t *secdb = NULL; --static list_t infiles; --static list_t actions; --static char *outfile = NULL; -- - int - main(int argc, char *argv[]) - { -@@ -351,6 +329,7 @@ main(int argc, char *argv[]) - bool do_sort_data = false; - bool sort_descending = false; - int status = 0; -+ char *outfile = NULL; - - const char sopts[] = ":aAc:dfg:h:i:Lo:rs:t:v?"; - const struct option lopts[] = { -@@ -376,10 +355,9 @@ main(int argc, char *argv[]) - INIT_LIST_HEAD(&infiles); - INIT_LIST_HEAD(&actions); - -- on_exit(free_actions, &actions); -- on_exit(free_infiles, &infiles); -- on_exit(maybe_free_secdb, &secdb); -- on_exit(maybe_do_unlink, &outfile); -+ atexit(free_actions); -+ atexit(free_infiles); -+ atexit(maybe_free_secdb); - - /* - * parse the command line. -@@ -587,24 +565,30 @@ sort_err: - outfd = open(outfile, flags, 0600); - if (outfd < 0) { - char *tmpoutfile = outfile; -- if (errno == EEXIST) -- outfile = NULL; -+ if (errno != EEXIST) -+ unlink(outfile); - err(1, "could not open \"%s\"", tmpoutfile); - } - - rc = ftruncate(outfd, 0); -- if (rc < 0) -+ if (rc < 0) { -+ unlink(outfile); - err(1, "could not truncate output file \"%s\"", outfile); -+ } - - void *output; - size_t size = 0; - rc = efi_secdb_realize(secdb, &output, &size); -- if (rc < 0) -+ if (rc < 0) { -+ unlink(outfile); - secdb_err(1, "could not realize signature list"); -+ } - - rc = write(outfd, output, size); -- if (rc < 0) -+ if (rc < 0) { -+ unlink(outfile); - err(1, "could not write signature list"); -+ } - - close(outfd); - xfree(output); --- -2.37.3 - diff --git a/package/efivar/Config.in b/package/efivar/Config.in index d4402dbcf7..0a36335c0a 100644 --- a/package/efivar/Config.in +++ b/package/efivar/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS bool default y depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 \ - || BR2_powerpc64le || BR2_mipsel || BR2_mips64el + || BR2_powerpc64le || BR2_mipsel || BR2_mips64el \ + || BR2_RISCV_64 config BR2_PACKAGE_EFIVAR bool "efivar" diff --git a/package/efivar/efivar.hash b/package/efivar/efivar.hash index 827b46baa4..bef096bda6 100644 --- a/package/efivar/efivar.hash +++ b/package/efivar/efivar.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 e3bbde37238bd47af1fcf270dc0ef1f4be030d86364c917b93669222ec52bbea efivar-38.tar.gz +sha256 c9edd15f2eeeea63232f3e669a48e992c7be9aff57ee22672ac31f5eca1609a6 efivar-39.tar.gz sha256 91df770634adc2755e78cae33a0d01e702ce2f69046408ae93d0d934ff29691b COPYING diff --git a/package/efivar/efivar.mk b/package/efivar/efivar.mk index ee6d7302df..6c3b57837a 100644 --- a/package/efivar/efivar.mk +++ b/package/efivar/efivar.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFIVAR_VERSION = 38 +EFIVAR_VERSION = 39 EFIVAR_SITE = $(call github,rhboot,efivar,$(EFIVAR_VERSION)) EFIVAR_LICENSE = LGPL-2.1 EFIVAR_LICENSE_FILES = COPYING diff --git a/package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch b/package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch deleted file mode 100644 index f9e493a761..0000000000 --- a/package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch +++ /dev/null @@ -1,377 +0,0 @@ -From 2821fcb55cbe0f2b77237d89b5b3467fb3ad058b Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 5 Feb 2020 10:31:32 +0100 -Subject: [PATCH] elf2flt: handle binutils >= 2.34 - -The latest Binutils release (2.34) is not compatible with elf2flt due -to a change in bfd_section_* macros [1]. The issue has been reported -to the Binutils mailing list but Alan Modra recommend to bundle -libbfd library sources into each projects using it [2]. That's -because the API is not stable over the time without any backward -compatibility guaranties. - -On the other hand, the elf2flt tools needs to support modified -version of binutils for specific arch/target [3]. - -Add two tests in the configure script to detect this API change -in order to support binutils < 2.34 and binutils >= 2.34. - -Upstream status: [4] - -[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=fd3619828e94a24a92cddec42cbc0ab33352eeb4 -[2] https://sourceware.org/ml/binutils/2020-02/msg00044.html -[3] https://github.com/uclinux-dev/elf2flt/issues/14 -[4] https://github.com/uclinux-dev/elf2flt/pull/15 - -Signed-off-by: Romain Naour ---- - configure.ac | 16 +++++++++++ - elf2flt.c | 81 +++++++++++++++++++++++++++++----------------------- - 2 files changed, 61 insertions(+), 36 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b7db2cb..fdc0876 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -229,6 +229,22 @@ AC_CHECK_FUNCS([ \ - strsignal \ - ]) - -+dnl Various bfd section macros and functions like bfd_section_size() have been -+dnl modified starting with binutils >= 2.34. -+dnl Check if the prototypes take a bfd argument. -+if test "$binutils_build_dir" != "NONE"; then -+ CFLAGS="-I$binutils_include_dir -I$bfd_include_dir $CFLAGS" -+fi -+ -+AC_TRY_COMPILE([#include ], -+ [const asection *sec; bfd_section_size(sec);], -+ bfd_section_api_takes_bfd=no, -+ bfd_section_api_takes_bfd=yes) -+if test "$bfd_section_api_takes_bfd" = "yes" ; then -+ AC_DEFINE(HAVE_BFD_SECTION_API_TAKES_BFD, 1, -+ [define to 1 for binutils < 2.34]) -+fi -+ - if test "$GCC" = yes ; then - CFLAGS="-Wall $CFLAGS" - if test "$werror" = 1 ; then -diff --git a/elf2flt.c b/elf2flt.c -index 7ac0617..ea6b5a1 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -149,6 +149,17 @@ const char *elf2flt_progname; - #define O_BINARY 0 - #endif - -+/* -+ * The bfd parameter isn't actually used by any of the bfd_section funcs and -+ * have been removed since binutils 2.34. -+ */ -+#ifdef HAVE_BFD_SECTION_API_TAKES_BFD -+#define elf2flt_bfd_section_size(s) bfd_section_size(NULL, s) -+#define elf2flt_bfd_section_vma(s) bfd_section_vma(NULL, s) -+#else -+#define elf2flt_bfd_section_size(s) bfd_section_size(s) -+#define elf2flt_bfd_section_vma(s) bfd_section_vma(s) -+#endif - - /* Extra output when running. */ - static int verbose = 0; -@@ -323,10 +334,8 @@ compare_relocs (const void *pa, const void *pb) - else if (!rb->sym_ptr_ptr || !*rb->sym_ptr_ptr) - return 1; - -- a_vma = bfd_section_vma(compare_relocs_bfd, -- (*(ra->sym_ptr_ptr))->section); -- b_vma = bfd_section_vma(compare_relocs_bfd, -- (*(rb->sym_ptr_ptr))->section); -+ a_vma = elf2flt_bfd_section_vma((*(ra->sym_ptr_ptr))->section); -+ b_vma = elf2flt_bfd_section_vma((*(rb->sym_ptr_ptr))->section); - va = (*(ra->sym_ptr_ptr))->value + a_vma + ra->addend; - vb = (*(rb->sym_ptr_ptr))->value + b_vma + rb->addend; - return va - vb; -@@ -403,7 +412,7 @@ output_relocs ( - } - - for (a = abs_bfd->sections; (a != (asection *) NULL); a = a->next) { -- section_vma = bfd_section_vma(abs_bfd, a); -+ section_vma = elf2flt_bfd_section_vma(a); - - if (verbose) - printf("SECTION: %s [%p]: flags=0x%x vma=0x%"PRIx32"\n", -@@ -443,7 +452,7 @@ output_relocs ( - continue; - if (verbose) - printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n", -- r->name, r, r->flags, bfd_section_vma(abs_bfd, r)); -+ r->name, r, r->flags, elf2flt_bfd_section_vma(r)); - if ((r->flags & SEC_RELOC) == 0) - continue; - relsize = bfd_get_reloc_upper_bound(rel_bfd, r); -@@ -695,7 +704,7 @@ output_relocs ( - case R_BFIN_RIMM16: - case R_BFIN_LUIMM16: - case R_BFIN_HUIMM16: -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - - if (weak_und_symbol(sym_section->name, (*(q->sym_ptr_ptr)))) -@@ -728,7 +737,7 @@ output_relocs ( - break; - - case R_BFIN_BYTE4_DATA: -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - - if (weak_und_symbol (sym_section->name, (*(q->sym_ptr_ptr)))) -@@ -886,7 +895,7 @@ output_relocs ( - #if defined(TARGET_m68k) - case R_68K_32: - relocation_needed = 1; -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - break; - case R_68K_PC16: -@@ -911,7 +920,7 @@ output_relocs ( - q->address, sym_addr, - (*p)->howto->rightshift, - *(uint32_t *)r_mem); -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - break; - case R_ARM_GOT32: -@@ -939,7 +948,7 @@ output_relocs ( - #ifdef TARGET_v850 - case R_V850_ABS32: - relocation_needed = 1; -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - break; - case R_V850_ZDA_16_16_OFFSET: -@@ -961,7 +970,7 @@ output_relocs ( - sym_addr = (*(q->sym_ptr_ptr))->value; - q->address -= 1; - r_mem -= 1; /* tracks q->address */ -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - sym_addr |= (*(unsigned char *)r_mem<<24); - break; -@@ -974,7 +983,7 @@ output_relocs ( - /* Absolute symbol done not relocation */ - relocation_needed = !bfd_is_abs_section(sym_section); - sym_addr = (*(q->sym_ptr_ptr))->value; -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - break; - case R_H8_DIR32: -@@ -987,7 +996,7 @@ output_relocs ( - } - relocation_needed = 1; - sym_addr = (*(q->sym_ptr_ptr))->value; -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - break; - case R_H8_PCREL16: -@@ -1013,7 +1022,7 @@ output_relocs ( - #ifdef TARGET_microblaze - case R_MICROBLAZE_64: - /* work out the relocation */ -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - /* Write relocated pointer back */ - r_mem[2] = (sym_addr >> 24) & 0xff; -@@ -1027,7 +1036,7 @@ output_relocs ( - pflags = 0x80000000; - break; - case R_MICROBLAZE_32: -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - relocation_needed = 1; - break; -@@ -1059,7 +1068,7 @@ output_relocs ( - case R_NIOS2_BFD_RELOC_32: - relocation_needed = 1; - pflags = (FLAT_NIOS2_R_32 << 28); -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - /* modify target, in target order */ - *(unsigned long *)r_mem = htoniosl(sym_addr); -@@ -1069,7 +1078,7 @@ output_relocs ( - unsigned long exist_val; - relocation_needed = 1; - pflags = (FLAT_NIOS2_R_CALL26 << 28); -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - - /* modify target, in target order */ -@@ -1100,7 +1109,7 @@ output_relocs ( - ? FLAT_NIOS2_R_HIADJ_LO : FLAT_NIOS2_R_HI_LO; - pflags <<= 28; - -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section); - sym_addr += sym_vma + q->addend; - - /* modify high 16 bits, in target order */ -@@ -1133,7 +1142,7 @@ output_relocs ( - goto NIOS2_RELOC_ERR; - } - /* _gp holds a absolute value, otherwise the ld cannot generate correct code */ -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - //printf("sym=%x, %d, _gp=%x, %d\n", sym_addr+sym_vma, sym_addr+sym_vma, gp, gp); - sym_addr += sym_vma + q->addend; - sym_addr -= gp; -@@ -1214,7 +1223,7 @@ NIOS2_RELOC_ERR: - case R_SPARC_32: - case R_SPARC_UA32: - relocation_needed = 1; -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - break; - case R_SPARC_PC22: -@@ -1233,7 +1242,7 @@ NIOS2_RELOC_ERR: - case R_SPARC_HI22: - relocation_needed = 1; - pflags = 0x80000000; -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - sym_addr |= ( - htonl(*(uint32_t *)r_mem) -@@ -1243,7 +1252,7 @@ NIOS2_RELOC_ERR: - case R_SPARC_LO10: - relocation_needed = 1; - pflags = 0x40000000; -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - sym_addr &= 0x000003ff; - sym_addr |= ( -@@ -1257,7 +1266,7 @@ NIOS2_RELOC_ERR: - #ifdef TARGET_sh - case R_SH_DIR32: - relocation_needed = 1; -- sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); - sym_addr += sym_vma + q->addend; - break; - case R_SH_REL32: -@@ -1289,7 +1298,7 @@ NIOS2_RELOC_ERR: - case R_E1_CONST31: - relocation_needed = 1; - DBG_E1("Handling Reloc \n"); -- sec_vma = bfd_section_vma(abs_bfd, sym_section); -+ sec_vma = elf2flt_bfd_section_vma(sym_section); - DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n", - sec_vma, sym_addr, q->address); - sym_addr = sec_vma + sym_addr; -@@ -1304,7 +1313,7 @@ NIOS2_RELOC_ERR: - relocation_needed = 0; - DBG_E1("Handling Reloc \n"); - DBG_E1("DONT RELOCATE AT LOADING\n"); -- sec_vma = bfd_section_vma(abs_bfd, sym_section); -+ sec_vma = elf2flt_bfd_section_vma(sym_section); - DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n", - sec_vma, sym_addr, q->address); - sym_addr = sec_vma + sym_addr; -@@ -1331,7 +1340,7 @@ NIOS2_RELOC_ERR: - relocation_needed = 0; - DBG_E1("Handling Reloc \n"); - DBG_E1("DONT RELOCATE AT LOADING\n"); -- sec_vma = bfd_section_vma(abs_bfd, sym_section); -+ sec_vma = elf2flt_bfd_section_vma(sym_section); - DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n", - sec_vma, sym_addr, q->address); - sym_addr = sec_vma + sym_addr; -@@ -1364,7 +1373,7 @@ NIOS2_RELOC_ERR: - DBG_E1("Handling Reloc \n"); - DIS29_RELOCATION: - relocation_needed = 1; -- sec_vma = bfd_section_vma(abs_bfd, sym_section); -+ sec_vma = elf2flt_bfd_section_vma(sym_section); - DBG_E1("sec_vma : [0x%x], sym_addr : [0x%08x]\n", - sec_vma, sym_addr); - sym_addr = sec_vma + sym_addr; -@@ -1381,7 +1390,7 @@ DIS29_RELOCATION: - relocation_needed = 0; - DBG_E1("Handling Reloc \n"); - DBG_E1("DONT RELOCATE AT LOADING\n"); -- sec_vma = bfd_section_vma(abs_bfd, sym_section); -+ sec_vma = elf2flt_bfd_section_vma(sym_section); - DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n", - sec_vma, sym_addr); - sym_addr = sec_vma + sym_addr; -@@ -1407,7 +1416,7 @@ DIS29_RELOCATION: - case R_E1_IMM32: - relocation_needed = 1; - DBG_E1("Handling Reloc \n"); -- sec_vma = bfd_section_vma(abs_bfd, sym_section); -+ sec_vma = elf2flt_bfd_section_vma(sym_section); - DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n", - sec_vma, sym_addr); - sym_addr = sec_vma + sym_addr; -@@ -1423,7 +1432,7 @@ DIS29_RELOCATION: - case R_E1_WORD: - relocation_needed = 1; - DBG_E1("Handling Reloc \n"); -- sec_vma = bfd_section_vma(abs_bfd, sym_section); -+ sec_vma = elf2flt_bfd_section_vma(sym_section); - DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n", - sec_vma, sym_addr); - sym_addr = sec_vma + sym_addr; -@@ -1450,7 +1459,7 @@ DIS29_RELOCATION: - } - - sprintf(&addstr[0], "+0x%lx", sym_addr - (*(q->sym_ptr_ptr))->value - -- bfd_section_vma(abs_bfd, sym_section)); -+ elf2flt_bfd_section_vma(sym_section)); - - - /* -@@ -1890,8 +1899,8 @@ int main(int argc, char *argv[]) - } else - continue; - -- sec_size = bfd_section_size(abs_bfd, s); -- sec_vma = bfd_section_vma(abs_bfd, s); -+ sec_size = elf2flt_bfd_section_size(s); -+ sec_vma = elf2flt_bfd_section_vma(s); - - if (sec_vma < *vma) { - if (*len > 0) -@@ -1920,7 +1929,7 @@ int main(int argc, char *argv[]) - (SEC_DATA | SEC_READONLY | SEC_RELOC))) - if (!bfd_get_section_contents(abs_bfd, s, - text + (s->vma - text_vma), 0, -- bfd_section_size(abs_bfd, s))) -+ elf2flt_bfd_section_size(s))) - { - fatal("read error section %s", s->name); - } -@@ -1950,7 +1959,7 @@ int main(int argc, char *argv[]) - (SEC_READONLY | SEC_RELOC))) - if (!bfd_get_section_contents(abs_bfd, s, - data + (s->vma - data_vma), 0, -- bfd_section_size(abs_bfd, s))) -+ elf2flt_bfd_section_size(s))) - { - fatal("read error section %s", s->name); - } --- -2.41.0 - diff --git a/package/elf2flt/0002-elf2flt.ld-reinstate-32-byte-alignment-for-.data-sec.patch b/package/elf2flt/0002-elf2flt.ld-reinstate-32-byte-alignment-for-.data-sec.patch deleted file mode 100644 index 8bd0383683..0000000000 --- a/package/elf2flt/0002-elf2flt.ld-reinstate-32-byte-alignment-for-.data-sec.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 37b281e4dd0fb5832181e51943a4eb3c74d4f618 Mon Sep 17 00:00:00 2001 -From: Niklas Cassel -Date: Mon, 4 Apr 2022 15:30:24 +0200 -Subject: [PATCH] elf2flt.ld: reinstate 32 byte alignment for .data section - -Commit 8a3e74446fe7 ("allow to build arm flat binaries") moved the -following commands: - . = ALIGN(0x20) ; - @SYMBOL_PREFIX@_etext = . ; -from the .text section to the top level in the SECTIONS node. - -The .text output section is being directed to a memory region using the -"> flatmem :text" output section attribute. Commands in the top level in -the SECTIONS node are not. - -This means that the ALIGN() command is no longer being appended to the -flatmem memory region, it will simply update the Location Counter. - -The heuristic for placing an output section is described here: -https://sourceware.org/binutils/docs-2.38/ld.html#Output-Section-Address - -"If an output memory region is set for the section then it is added to this -region and its address will be the next free address in that region." - -Since the .data section is being directed to the same memory region as the -.text section, this means that the Location Counter is not used when -assigning an address to the .data output section, it will simply use the -next free address. - -No longer directing these commands to the flatmem memory region means that -the .data output section is no longer aligned to a 32 byte boundary. - -Before commit 8a3e74446fe7 ("allow to build arm flat binaries"): -$ readelf -S busybox_unstripped.gdb | grep data - [ 3] .data PROGBITS 0000000000035ac0 00036ac0 -$ readelf -s busybox_unstripped.gdb | grep _etext - 19286: 0000000000035ac0 0 NOTYPE GLOBAL DEFAULT 1 _etext - -After commit 8a3e74446fe7 ("allow to build arm flat binaries"): -$ readelf -S busybox_unstripped.gdb | grep data - [ 3] .data PROGBITS 0000000000035ab0 00036ab0 -$ readelf -s busybox_unstripped.gdb | grep _etext - 19287: 0000000000035ac0 0 NOTYPE GLOBAL DEFAULT 3 _etext - -The .data output section has to be aligned to a 32 byte boundary, see the -FLAT_DATA_ALIGN 0x20 macro and its usage in fs/binfmt_flat.c: -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/binfmt_flat.c?h=v5.17#n59 - -Readd an explicit ALIGN attribute on the .data section itself, since the -linker will obey this attribute regardless if being directed to a memory -region or not. Also remove the ALIGN() command before the .data section, -since this misleads the reader to think that the Location Counter is used -when assigning an address to the .data section, when it actually is not. - -Fixes: 8a3e74446fe7 ("allow to build arm flat binaries") -Signed-off-by: Niklas Cassel ---- - elf2flt.ld.in | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/elf2flt.ld.in b/elf2flt.ld.in -index 0df999d..e5aea14 100644 ---- a/elf2flt.ld.in -+++ b/elf2flt.ld.in -@@ -94,12 +94,9 @@ W_RODAT: *(.gnu.linkonce.r*) - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > flatmem - @SYMBOL_PREFIX@__exidx_end = .; -- -- . = ALIGN(0x20) ; - @SYMBOL_PREFIX@_etext = . ; - -- .data : { -- . = ALIGN(0x4) ; -+ .data ALIGN(0x20): { - @SYMBOL_PREFIX@_sdata = . ; - @SYMBOL_PREFIX@__data_start = . ; - @SYMBOL_PREFIX@data_start = . ; --- -2.41.0 - diff --git a/package/elf2flt/0003-elf2flt-add-riscv-64-bits-support.patch b/package/elf2flt/0003-elf2flt-add-riscv-64-bits-support.patch deleted file mode 100644 index c2aa538d02..0000000000 --- a/package/elf2flt/0003-elf2flt-add-riscv-64-bits-support.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 1498503bde2a6055a83f1e9f3eaa6f2a104bd597 Mon Sep 17 00:00:00 2001 -From: Damien Le Moal -Date: Wed, 9 Sep 2020 17:31:33 +0900 -Subject: [PATCH] elf2flt: add riscv 64-bits support - -Add support for riscv 64bits ISA by defining the relocation types -R_RISCV_32_PCREL, R_RISCV_ADD32, R_RISCV_SUB32, R_RISCV_32 and -R_RISCV_64. riscv64 support also needs the __global_pointer$ symbol to -be defined right after the relocation tables in the data section. To -define this symbol, the "RISCV_GP" line prefix is added. The "RISCV_GP" -string is removed if the target CPU type is riscv64 and the definition -line is dropped for other CPU types. - -With these changes, buildroot and busybox build and run on riscv NOMMU -systems with Linux kernel including patch 6045ab5fea4c -("binfmt_flat: do not stop relocating GOT entries prematurely on riscv") -fixing the binfmt_flat loader. Tested on QEMU and Canaan Kendryte K210 -boards. - -This patch is based on earlier work by Christoph Hellwig . - -Signed-off-by: Damien Le Moal ---- - elf2flt.c | 16 ++++++++++++++++ - elf2flt.ld.in | 1 + - ld-elf2flt.c | 8 ++++++++ - 3 files changed, 25 insertions(+) - -diff --git a/elf2flt.c b/elf2flt.c -index ea6b5a1..c2816b6 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -81,6 +81,8 @@ const char *elf2flt_progname; - #include - #elif defined(TARGET_xtensa) - #include -+#elif defined(TARGET_riscv64) -+#include - #endif - - #if defined(__MINGW32__) -@@ -123,6 +125,8 @@ const char *elf2flt_progname; - #define ARCH "nios2" - #elif defined(TARGET_xtensa) - #define ARCH "xtensa" -+#elif defined(TARGET_riscv64) -+#define ARCH "riscv64" - #else - #error "Don't know how to support your CPU architecture??" - #endif -@@ -821,6 +825,18 @@ output_relocs ( - goto good_32bit_resolved_reloc; - default: - goto bad_resolved_reloc; -+#elif defined(TARGET_riscv64) -+ case R_RISCV_32_PCREL: -+ case R_RISCV_ADD32: -+ case R_RISCV_ADD64: -+ case R_RISCV_SUB32: -+ case R_RISCV_SUB64: -+ continue; -+ case R_RISCV_32: -+ case R_RISCV_64: -+ goto good_32bit_resolved_reloc; -+ default: -+ goto bad_resolved_reloc; - #else - default: - /* The default is to assume that the -diff --git a/elf2flt.ld.in b/elf2flt.ld.in -index e5aea14..950849e 100644 ---- a/elf2flt.ld.in -+++ b/elf2flt.ld.in -@@ -106,6 +106,7 @@ W_RODAT: *(.gnu.linkonce.r*) - . = ALIGN(0x20) ; - LONG(-1) - . = ALIGN(0x20) ; -+RISCV_GP: __global_pointer$ = . + 0x800 ; - R_RODAT: *(.rodata) - R_RODAT: *(.rodata1) - R_RODAT: *(.rodata.*) -diff --git a/ld-elf2flt.c b/ld-elf2flt.c -index 7cb02d5..75ee1bb 100644 ---- a/ld-elf2flt.c -+++ b/ld-elf2flt.c -@@ -324,6 +324,14 @@ static int do_final_link(void) - append_option(&other_options, concat(got_offset, "=", buf, NULL)); - } - -+ /* riscv adds a global pointer symbol to the linker file with the -+ "RISCV_GP:" prefix. Remove the prefix for riscv64 architecture and -+ the entire line for other architectures. */ -+ if (streq(TARGET_CPU, "riscv64")) -+ append_sed(&sed, "^RISCV_GP:", ""); -+ else -+ append_sed(&sed, "^RISCV_GP:", NULL); -+ - /* Locate the default linker script, if we don't have one provided. */ - if (!linker_script) - linker_script = concat(ldscriptpath, "/elf2flt.ld", NULL); --- -2.41.0 - diff --git a/package/elf2flt/0004-elf2flt-create-a-common-helper-function.patch b/package/elf2flt/0004-elf2flt-create-a-common-helper-function.patch deleted file mode 100644 index be8d57affa..0000000000 --- a/package/elf2flt/0004-elf2flt-create-a-common-helper-function.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 4f28e4329897b7f23d828b375fb365d0e30c9cb5 Mon Sep 17 00:00:00 2001 -From: Niklas Cassel -Date: Tue, 9 Aug 2022 12:13:50 +0200 -Subject: [PATCH] elf2flt: create a common helper function - -In order to make the code more maintainable, -move duplicated code to a common helper function. - -No functional change intended. - -Signed-off-by: Niklas Cassel ---- - elf2flt.c | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - -diff --git a/elf2flt.c b/elf2flt.c -index c2816b6..8cd48d9 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -346,6 +346,13 @@ compare_relocs (const void *pa, const void *pb) - } - #endif - -+static bool -+ro_reloc_data_section_should_be_in_text(asection *s) -+{ -+ return (s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == -+ (SEC_DATA | SEC_READONLY | SEC_RELOC); -+} -+ - static uint32_t * - output_relocs ( - bfd *abs_bfd, -@@ -437,8 +444,7 @@ output_relocs ( - */ - if ((!pic_with_got || ALWAYS_RELOC_TEXT) && - ((a->flags & SEC_CODE) || -- ((a->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == -- (SEC_DATA | SEC_READONLY | SEC_RELOC)))) -+ ro_reloc_data_section_should_be_in_text(a))) - sectionp = text + (a->vma - text_vma); - else if (a->flags & SEC_DATA) - sectionp = data + (a->vma - data_vma); -@@ -1902,8 +1908,7 @@ int main(int argc, char *argv[]) - bfd_vma sec_vma; - - if ((s->flags & SEC_CODE) || -- ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == -- (SEC_DATA | SEC_READONLY | SEC_RELOC))) { -+ ro_reloc_data_section_should_be_in_text(s)) { - vma = &text_vma; - len = &text_len; - } else if (s->flags & SEC_DATA) { -@@ -1941,8 +1946,7 @@ int main(int argc, char *argv[]) - * data sections.*/ - for (s = abs_bfd->sections; s != NULL; s = s->next) - if ((s->flags & SEC_CODE) || -- ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == -- (SEC_DATA | SEC_READONLY | SEC_RELOC))) -+ ro_reloc_data_section_should_be_in_text(s)) - if (!bfd_get_section_contents(abs_bfd, s, - text + (s->vma - text_vma), 0, - elf2flt_bfd_section_size(s))) -@@ -1971,8 +1975,7 @@ int main(int argc, char *argv[]) - * data sections already included in the text output section.*/ - for (s = abs_bfd->sections; s != NULL; s = s->next) - if ((s->flags & SEC_DATA) && -- ((s->flags & (SEC_READONLY | SEC_RELOC)) != -- (SEC_READONLY | SEC_RELOC))) -+ !ro_reloc_data_section_should_be_in_text(s)) - if (!bfd_get_section_contents(abs_bfd, s, - data + (s->vma - data_vma), 0, - elf2flt_bfd_section_size(s))) --- -2.41.0 - diff --git a/package/elf2flt/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch b/package/elf2flt/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch deleted file mode 100644 index 96befd53d8..0000000000 --- a/package/elf2flt/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 87d45736a6855f2147ef9c88d2bce2cabc84cb52 Mon Sep 17 00:00:00 2001 -From: Niklas Cassel -Date: Tue, 9 Aug 2022 21:06:05 +0200 -Subject: [PATCH] elf2flt: fix fatal error regression on m68k, xtensa, riscv64 - -Commit ba379d08bb78 ("elf2flt: fix for segfault on some ARM ELFs") -changed the condition of which input sections that should be included -in the .text output section from: -((a->flags & (SEC_DATA | SEC_READONLY)) == (SEC_DATA | SEC_READONLY)) -to: -((a->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == -(SEC_DATA | SEC_READONLY | SEC_RELOC)) - -On ARM, the .eh_frame input section does not have the SEC_RELOC flag set, -so on ARM, this change caused .eh_frame to move from .text to .data. - -However, on e.g. m68k, xtensa and riscv64, the .eh_frame input section -does have the SEC_RELOC flag set, which means that the change in -commit ba379d08bb78 ("elf2flt: fix for segfault on some ARM ELFs") -caused .eh_frame to move in an opposite way, i.e. from .data to .text. - -This resulted in a fatal error on m68k, xtensa and riscv64: -ERROR: text=0x3bab8 overlaps data=0x33f60 ? - -This is because elf2flt cannot append to .text after .data has been -appended to. - -Note that the binutils maintainer says that the correct thing is -to put read-only relocation data sections in .text: -https://sourceware.org/legacy-ml/binutils/2019-10/msg00132.html - -So the proper fix is probably to rewrite elf2flt so that it can append -to .text after .data has been appended to (which will require elf2flt -to move/relocate everything that has already been appended to .data, -since the virtual addresses are contiguous). - -However, for now, add an exception for input sections which have all -three flags SEC_DATA, SEC_READONLY, and SEC_RELOC set, and which have a -name equal to a problematic input section (.eh_frame, .gcc_except_table). -That way, we get the same behavior as older elf2flt releases for m68k, -xtensa and riscv64, where we put read-only relocation data in .data, -which was working perfectly fine. - -This exception will not change any behavior on ARM, as the .eh_frame -input section does not have flag SEC_RELOC set. - -Signed-off-by: Niklas Cassel ---- - elf2flt.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/elf2flt.c b/elf2flt.c -index 8cd48d9..60bfa57 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -349,8 +349,13 @@ compare_relocs (const void *pa, const void *pb) - static bool - ro_reloc_data_section_should_be_in_text(asection *s) - { -- return (s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == -- (SEC_DATA | SEC_READONLY | SEC_RELOC); -+ if ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == -+ (SEC_DATA | SEC_READONLY | SEC_RELOC)) { -+ if (!strcmp(".eh_frame", s->name) || !strcmp(".gcc_except_table", s->name)) -+ return false; -+ return true; -+ } -+ return false; - } - - static uint32_t * --- -2.41.0 - diff --git a/package/elf2flt/0006-xtensa-fix-text-relocations.patch b/package/elf2flt/0006-xtensa-fix-text-relocations.patch deleted file mode 100644 index 19c47cca90..0000000000 --- a/package/elf2flt/0006-xtensa-fix-text-relocations.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 7e1c17d7fe72a0889d56d5e6a1390d493d1de144 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 29 Nov 2022 17:47:54 -0800 -Subject: [PATCH] xtensa: fix text relocations - -The commit 5e08f1968316 ("Don't always update text in !pic_with_got case") -changed good_32bit_resolved_reloc to not do endianness swapping for -relocated entries in the text segment. This broke little-endian xtensa -FLAT images which after this change fail to start with the following -message: - - binfmt_flat: reloc outside program 0x24c80100 (0 - 0x6e430/0x56a20) - -Fix it by preserving 'update_text' when building for xtensa. - -Fixes: 5e08f1968316 ("Don't always update text in !pic_with_got case") -Reported-by: Niklas Cassel -Signed-off-by: Max Filippov ---- - elf2flt.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/elf2flt.c b/elf2flt.c -index 60bfa57..0fcb747 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -833,7 +833,20 @@ output_relocs ( - continue; - case R_XTENSA_32: - case R_XTENSA_PLT: -- goto good_32bit_resolved_reloc; -+ if (bfd_big_endian (abs_bfd)) -+ sym_addr = -+ (r_mem[0] << 24) -+ + (r_mem[1] << 16) -+ + (r_mem[2] << 8) -+ + r_mem[3]; -+ else -+ sym_addr = -+ r_mem[0] -+ + (r_mem[1] << 8) -+ + (r_mem[2] << 16) -+ + (r_mem[3] << 24); -+ relocation_needed = 1; -+ break; - default: - goto bad_resolved_reloc; - #elif defined(TARGET_riscv64) --- -2.41.0 - diff --git a/package/elf2flt/0007-elf2flt-remove-use-of-BFD_VMA_FMT.patch b/package/elf2flt/0007-elf2flt-remove-use-of-BFD_VMA_FMT.patch deleted file mode 100644 index 82e693f35f..0000000000 --- a/package/elf2flt/0007-elf2flt-remove-use-of-BFD_VMA_FMT.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 9ec7dd9dead2f3c4c73c3ab2166a1f81bfb41825 Mon Sep 17 00:00:00 2001 -From: Greg Ungerer -Date: Thu, 13 Apr 2023 22:58:20 +1000 -Subject: [PATCH] elf2flt: remove use of BFD_VMA_FMT - -In binutils-2.40 the BFD_VMA_FMT definition used for printf style -formatting specifiers has been removed. For reference this was done in -commit b82817674f46 ("Don't use BFD_VMA_FMT in binutils") in the -binutils git development tree. - -BFD_VMA_FMT is used in a number of places in the elf2flt code to output -bfd offsets, values and the like. So it is broken when using the bfd -code from binutils-2.40 and newer. - -According to the binutils change PRIx64 (and friends) is used to replace -it, with appropriate casts to keep it clean for 32 and 64 bit platforms. -Change the elf2flt.c use of it in the same way to fix. - -This does not change the output in any way in normal use. This fix can -be used on all versions of binutils (older and newer), there is no -need to only do this on 2.40 and newer. - -Signed-off-by: Greg Ungerer -Upstream: https://github.com/uclinux-dev/elf2flt/commit/a36df7407d9e3f93ca6449841ff0821b0d980438 -Signed-off-by: Thomas Petazzoni ---- - elf2flt.c | 58 ++++++++++++++++++++++++++++--------------------------- - 1 file changed, 30 insertions(+), 28 deletions(-) - -diff --git a/elf2flt.c b/elf2flt.c -index 0fcb747..6685bff 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -220,8 +220,8 @@ dump_symbols(asymbol **symbol_table, long number_of_symbols) - long i; - printf("SYMBOL TABLE:\n"); - for (i=0; iname, symbol_table[i]->value); -+ printf(" NAME=%s VALUE=0x%"PRIx64"\n", -+ symbol_table[i]->name, (uint64_t) symbol_table[i]->value); - } - printf("\n"); - return(0); -@@ -466,8 +466,8 @@ output_relocs ( - if (r == NULL) - continue; - if (verbose) -- printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n", -- r->name, r, r->flags, elf2flt_bfd_section_vma(r)); -+ printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"PRIx64"\n", -+ r->name, r, r->flags, (uint64_t) elf2flt_bfd_section_vma(r)); - if ((r->flags & SEC_RELOC) == 0) - continue; - relsize = bfd_get_reloc_upper_bound(rel_bfd, r); -@@ -952,12 +952,13 @@ output_relocs ( - if (verbose) - fprintf(stderr, - "%s vma=0x%x, " -- "value=0x%"BFD_VMA_FMT"x, " -- "address=0x%"BFD_VMA_FMT"x " -+ "value=0x%"PRIx64", " -+ "address=0x%"PRIx64" " - "sym_addr=0x%x rs=0x%x, opcode=0x%x\n", - "ABS32", -- sym_vma, (*(q->sym_ptr_ptr))->value, -- q->address, sym_addr, -+ sym_vma, -+ (uint64_t) (*(q->sym_ptr_ptr))->value, -+ (uint64_t) q->address, sym_addr, - (*p)->howto->rightshift, - *(uint32_t *)r_mem); - sym_vma = elf2flt_bfd_section_vma(sym_section); -@@ -971,12 +972,13 @@ output_relocs ( - if (verbose) - fprintf(stderr, - "%s vma=0x%x, " -- "value=0x%"BFD_VMA_FMT"x, " -- "address=0x%"BFD_VMA_FMT"x " -+ "value=0x%"PRIx64", " -+ "address=0x%"PRIx64" " - "sym_addr=0x%x rs=0x%x, opcode=0x%x\n", - "PLT32", -- sym_vma, (*(q->sym_ptr_ptr))->value, -- q->address, sym_addr, -+ sym_vma, -+ (uint64_t) (*(q->sym_ptr_ptr))->value, -+ (uint64_t) q->address, sym_addr, - (*p)->howto->rightshift, - *(uint32_t *)r_mem); - case R_ARM_PC24: -@@ -994,8 +996,8 @@ output_relocs ( - case R_V850_ZDA_16_16_OFFSET: - case R_V850_ZDA_16_16_SPLIT_OFFSET: - /* Can't support zero-relocations. */ -- printf ("ERROR: %s+0x%"BFD_VMA_FMT"x: zero relocations not supported\n", -- sym_name, q->addend); -+ printf ("ERROR: %s+0x%"PRIx64": zero relocations not supported\n", -+ sym_name, (uint64_t) q->addend); - continue; - #endif /* TARGET_v850 */ - -@@ -1194,12 +1196,12 @@ output_relocs ( - temp |= (exist_val & 0x3f); - *(unsigned long *)r_mem = htoniosl(temp); - if (verbose) -- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s " -+ printf("omit: offset=0x%"PRIx64" symbol=%s%s " - "section=%s size=%d " -- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x) GPREL\n", -- q->address, sym_name, addstr, -+ "fixup=0x%x (reloc=0x%"PRIx64") GPREL\n", -+ (uint64_t) q->address, sym_name, addstr, - section_name, sym_reloc_size, -- sym_addr, section_vma + q->address); -+ sym_addr, (uint64_t) section_vma + q->address); - continue; - } - case R_NIOS2_PCREL16: -@@ -1214,12 +1216,12 @@ output_relocs ( - exist_val |= ((sym_addr & 0xFFFF) << 6); - *(unsigned long *)r_mem = htoniosl(exist_val); - if (verbose) -- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s " -+ printf("omit: offset=0x%"PRIx64" symbol=%s%s " - "section=%s size=%d " -- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x) PCREL\n", -- q->address, sym_name, addstr, -+ "fixup=0x%x (reloc=0x%"PRIx64") PCREL\n", -+ (uint64_t) q->address, sym_name, addstr, - section_name, sym_reloc_size, -- sym_addr, section_vma + q->address); -+ sym_addr, (uint64_t) section_vma + q->address); - continue; - } - -@@ -1231,9 +1233,9 @@ output_relocs ( - && (p[-1]->sym_ptr_ptr == p[0]->sym_ptr_ptr) - && (p[-1]->addend == p[0]->addend)) { - if (verbose) -- printf("omit: offset=0x%"BFD_VMA_FMT"x symbol=%s%s " -+ printf("omit: offset=0x%"PRIx64" symbol=%s%s " - "section=%s size=%d LO16\n", -- q->address, sym_name, addstr, -+ (uint64_t) q->address, sym_name, addstr, - section_name, sym_reloc_size); - continue; - } -@@ -1646,13 +1648,13 @@ DIS29_RELOCATION: - */ - if (relocation_needed) { - if (verbose) -- printf(" RELOC[%d]: offset=0x%"BFD_VMA_FMT"x symbol=%s%s " -+ printf(" RELOC[%d]: offset=0x%"PRIx64" symbol=%s%s " - "section=%s size=%d " -- "fixup=0x%x (reloc=0x%"BFD_VMA_FMT"x)\n", -+ "fixup=0x%x (reloc=0x%"PRIx64")\n", - flat_reloc_count, -- q->address, sym_name, addstr, -+ (uint64_t) q->address, sym_name, addstr, - section_name, sym_reloc_size, -- sym_addr, section_vma + q->address); -+ sym_addr, (uint64_t) section_vma + q->address); - - #ifndef TARGET_bfin - flat_relocs = realloc(flat_relocs, --- -2.41.0 - diff --git a/package/elf2flt/0008-riscv64-add-more-relocations-required-to-be-handled.patch b/package/elf2flt/0008-riscv64-add-more-relocations-required-to-be-handled.patch deleted file mode 100644 index 74d3085d08..0000000000 --- a/package/elf2flt/0008-riscv64-add-more-relocations-required-to-be-handled.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 5acfed0012f2fff9801b25403bd8a5e1c2ccfea2 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Mon, 7 Aug 2023 09:30:34 +0200 -Subject: [PATCH] riscv64: add more relocations required to be handled - -Signed-off-by: Waldemar Brodkorb -Upstream: https://github.com/uclinux-dev/elf2flt/pull/24 ---- - elf2flt.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/elf2flt.c b/elf2flt.c -index 6685bff..6b3bea4 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -850,11 +850,21 @@ output_relocs ( - default: - goto bad_resolved_reloc; - #elif defined(TARGET_riscv64) -+ case R_RISCV_NONE: - case R_RISCV_32_PCREL: -+ case R_RISCV_ADD8: -+ case R_RISCV_ADD16: - case R_RISCV_ADD32: - case R_RISCV_ADD64: -+ case R_RISCV_SUB6: -+ case R_RISCV_SUB8: -+ case R_RISCV_SUB16: - case R_RISCV_SUB32: - case R_RISCV_SUB64: -+ case R_RISCV_SET6: -+ case R_RISCV_SET8: -+ case R_RISCV_SET16: -+ case R_RISCV_SET32: - continue; - case R_RISCV_32: - case R_RISCV_64: --- -2.39.2 - diff --git a/package/elf2flt/Config.in.host b/package/elf2flt/Config.in.host deleted file mode 100644 index d6685a7ff6..0000000000 --- a/package/elf2flt/Config.in.host +++ /dev/null @@ -1,13 +0,0 @@ -config BR2_PACKAGE_HOST_ELF2FLT - bool "Enable elf2flt support?" - depends on BR2_arm || BR2_sh || BR2_sparc || BR2_xtensa - depends on !BR2_USE_MMU - help - uCLinux uses a Binary Flat format commonly known as BFLT. It - is a relatively simple and lightweight executable format - based on the original a.out format. - - This option compiles the required tools and makes the required - modifications on your toolchain (linker). - - https://github.com/uclinux-dev/elf2flt diff --git a/package/elf2flt/elf2flt.hash b/package/elf2flt/elf2flt.hash index c576f65cdb..4dc040645e 100644 --- a/package/elf2flt/elf2flt.hash +++ b/package/elf2flt/elf2flt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6637432ed58dee2d42d09e3b9a902a0dd3b9975acba0c0b24ef9e4e9253159a9 elf2flt-2021.08.tar.gz +sha256 735482d8c5fd76191e86ff2d6985dd68c232a7b8bdac11fdb480385c6a75ca8f elf2flt-2023.09.tar.gz sha256 f20bc5007904094e3a4e9fbcc3526cdd40893f91d458c3139b308e5c4c0899c6 LICENSE.TXT diff --git a/package/elf2flt/elf2flt.mk b/package/elf2flt/elf2flt.mk index b970de48f2..0def282c02 100644 --- a/package/elf2flt/elf2flt.mk +++ b/package/elf2flt/elf2flt.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELF2FLT_VERSION = 2021.08 +ELF2FLT_VERSION = 2023.09 ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,v$(ELF2FLT_VERSION)) ELF2FLT_LICENSE = GPL-2.0+ ELF2FLT_LICENSE_FILES = LICENSE.TXT diff --git a/package/elfutils/Config.in b/package/elfutils/Config.in index 5f45de14ab..c355048c6d 100644 --- a/package/elfutils/Config.in +++ b/package/elfutils/Config.in @@ -1,17 +1,14 @@ -comment "elfutils needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads" +comment "elfutils needs a toolchain w/ wchar, dynamic library, threads" depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_HAS_THREADS \ - || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_ELFUTILS bool "elfutils" depends on BR2_USE_WCHAR depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS - # Only glibc and uClibc implement the myriad of required GNUisms - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC + select BR2_PACKAGE_ARGP_STANDALONE if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC help Libraries/utilities to handle ELF objects (drop in diff --git a/package/elfutils/elfutils.mk b/package/elfutils/elfutils.mk index 0757851b72..87b51aa5b5 100644 --- a/package/elfutils/elfutils.mk +++ b/package/elfutils/elfutils.mk @@ -10,7 +10,7 @@ ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION) ELFUTILS_INSTALL_STAGING = YES ELFUTILS_LICENSE = GPL-2.0+ or LGPL-3.0+ (library) ELFUTILS_LICENSE_FILES = COPYING COPYING-GPLV2 COPYING-LGPLV3 -ELFUTILS_CPE_ID_VENDOR = elfutils_project +ELFUTILS_CPE_ID_VALID = YES ELFUTILS_DEPENDENCIES = host-pkgconf zlib $(TARGET_NLS_DEPENDENCIES) HOST_ELFUTILS_DEPENDENCIES = host-pkgconf host-zlib host-bzip2 host-xz @@ -29,19 +29,6 @@ HOST_ELFUTILS_CONF_OPTS = \ --without-zstd \ --disable-progs -# elfutils gets confused when lfs mode is forced, so don't -ELFUTILS_CFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS)) -ELFUTILS_CPPFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS)) - -# sparc64 needs -fPIC instead of -fpic -ifeq ($(BR2_sparc64),y) -ELFUTILS_CFLAGS += -fPIC -endif - -ELFUTILS_CONF_ENV += \ - CFLAGS="$(ELFUTILS_CFLAGS)" \ - CPPFLAGS="$(ELFUTILS_CPPFLAGS)" - ELFUTILS_LDFLAGS = $(TARGET_LDFLAGS) \ $(TARGET_NLS_LIBS) @@ -50,8 +37,11 @@ ELFUTILS_LDFLAGS += -latomic endif ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),) -ELFUTILS_DEPENDENCIES += musl-fts -ELFUTILS_LDFLAGS += -lfts +ELFUTILS_DEPENDENCIES += musl-fts argp-standalone +endif + +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) +ELFUTILS_CONF_OPTS += --disable-symbol-versioning endif # disable for now, needs "distro" support @@ -61,11 +51,6 @@ HOST_ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod ELFUTILS_CONF_ENV += \ LDFLAGS="$(ELFUTILS_LDFLAGS)" -ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) -ELFUTILS_DEPENDENCIES += argp-standalone -ELFUTILS_CONF_OPTS += --disable-symbol-versioning -endif - ifeq ($(BR2_INSTALL_LIBSTDCPP),y) ELFUTILS_CONF_OPTS += --enable-demangler else diff --git a/package/ell/ell.hash b/package/ell/ell.hash index dd4722480c..f5ded676c3 100644 --- a/package/ell/ell.hash +++ b/package/ell/ell.hash @@ -1,5 +1,5 @@ # From https://mirrors.edge.kernel.org/pub/linux/libs/ell/sha256sums.asc -sha256 7603928ee584b758ca27c67e4dc513049a09b038d7d28459a9440f8443c91018 ell-0.57.tar.xz +sha256 7397c76996d7646b9917ebf016cd67586b10166295af2e0e18cdb5b8f6659965 ell-0.63.tar.xz # License files sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/ell/ell.mk b/package/ell/ell.mk index 08deb62abe..f43dbdb5f7 100644 --- a/package/ell/ell.mk +++ b/package/ell/ell.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELL_VERSION = 0.57 +ELL_VERSION = 0.63 ELL_SOURCE = ell-$(ELL_VERSION).tar.xz ELL_SITE = $(BR2_KERNEL_MIRROR)/linux/libs/ell ELL_LICENSE = LGPL-2.1+ diff --git a/package/empty/empty.hash b/package/empty/empty.hash index cc74254a7a..5c7daa0052 100644 --- a/package/empty/empty.hash +++ b/package/empty/empty.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f581d560e1fa857f5304586e3c2107b5838bcf11dedcccec4a7191fa9e261b69 empty-0.6.22b.tgz -sha256 db6b65f5eaf782a92715887ac107f3477d64016301a66194a92312b13ff89be1 COPYRIGHT +sha256 8a7ca8c7099dc6d6743ac7eafc0be3b1f8991d2c8f20cf66ce900c7f08e010bd empty-0.6.23c.tgz +sha256 6433f4490a82b80ddac37f24cebfe8f3cd7de5686ebb9737281d47997a9941d6 COPYRIGHT diff --git a/package/empty/empty.mk b/package/empty/empty.mk index 91d9476445..24135b2f8d 100644 --- a/package/empty/empty.mk +++ b/package/empty/empty.mk @@ -4,7 +4,7 @@ # ################################################################################ -EMPTY_VERSION = 0.6.22b +EMPTY_VERSION = 0.6.23c EMPTY_SOURCE = empty-$(EMPTY_VERSION).tgz EMPTY_SITE = http://downloads.sourceforge.net/project/empty/empty/empty-$(EMPTY_VERSION) EMPTY_LICENSE = BSD-3-Clause diff --git a/package/environment-setup/environment-setup.mk b/package/environment-setup/environment-setup.mk index 29ec5a9a95..069ee25f9f 100644 --- a/package/environment-setup/environment-setup.mk +++ b/package/environment-setup/environment-setup.mk @@ -8,7 +8,7 @@ ENVIRONMENT_SETUP_FILE = $(HOST_DIR)/environment-setup define HOST_ENVIRONMENT_SETUP_INSTALL_CMDS cp package/environment-setup/environment-setup $(ENVIRONMENT_SETUP_FILE) - for var in $(TARGET_CONFIGURE_OPTS); do \ + for var in $(filter-out GIT_DIR=%,$(TARGET_CONFIGURE_OPTS)); do \ printf "export \"$$var\"\n" >> $(ENVIRONMENT_SETUP_FILE); \ done printf "export \"ARCH=$(NORMALIZED_ARCH)\"\n" >> $(ENVIRONMENT_SETUP_FILE) diff --git a/package/erlang/0001-erts-check-for-sys-auxv.h.patch b/package/erlang/0001-erts-check-for-sys-auxv.h.patch deleted file mode 100644 index af4b66d05d..0000000000 --- a/package/erlang/0001-erts-check-for-sys-auxv.h.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ede1e17794c2caf091e810bdfa49040c75f513eb Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 15 Jul 2023 18:36:48 +0200 -Subject: [PATCH] erts: check for sys/auxv.h - -Upstream: https://github.com/erlang/otp/pull/7500 - -Signed-off-by: Bernd Kuhls ---- - erts/configure.ac | 2 +- - erts/emulator/asmjit/core/cpuinfo.cpp | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/erts/configure.ac b/erts/configure.ac -index a63d391fb3..9d3e338633 100644 ---- a/erts/configure.ac -+++ b/erts/configure.ac -@@ -1655,7 +1655,7 @@ AC_CHECK_HEADERS(fcntl.h limits.h unistd.h syslog.h dlfcn.h ieeefp.h \ - sys/socket.h sys/sockio.h sys/socketio.h \ - net/errno.h malloc.h arpa/nameser.h libdlpi.h \ - pty.h util.h libutil.h utmp.h langinfo.h poll.h sdkddkver.h \ -- elf.h) -+ elf.h sys/auxv.h) - - AC_CHECK_MEMBERS([struct ifreq.ifr_hwaddr], [], [], - [#ifdef __WIN32__ -diff --git a/erts/emulator/asmjit/core/cpuinfo.cpp b/erts/emulator/asmjit/core/cpuinfo.cpp -index fb2acfc09b..d8b72697ab 100644 ---- a/erts/emulator/asmjit/core/cpuinfo.cpp -+++ b/erts/emulator/asmjit/core/cpuinfo.cpp -@@ -15,8 +15,10 @@ - - // Required by `getauxval()` on Linux. - #if defined(__linux__) -+#if defined(HAVE_SYS_AUXV_H) - #include - #endif -+#endif - - //! Required to detect CPU and features on Apple platforms. - #if defined(__APPLE__) --- -2.39.2 - diff --git a/package/erlang/0001-lib-crypto-c_src-openssl_config.h-fix-build-without-.patch b/package/erlang/0001-lib-crypto-c_src-openssl_config.h-fix-build-without-.patch new file mode 100644 index 0000000000..a17a43a95d --- /dev/null +++ b/package/erlang/0001-lib-crypto-c_src-openssl_config.h-fix-build-without-.patch @@ -0,0 +1,46 @@ +From 8c7d62662cf51902d759be0e8d3bfd96a3524b3c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 8 Dec 2023 09:00:17 +0100 +Subject: [PATCH] lib/crypto/c_src/openssl_config.h: fix build without DES + +Fix the following build failure without DES raised since version 24.2 +and +https://github.com/erlang/otp/commit/abf7f84c2f77bb07dbdbb8a29b9d41f1f24c5f14: + +cipher.c:51:42: error: 'EVP_des_ede3_cbc' undeclared here (not in a function); did you mean 'SN_des_ede3_cbc'? + 51 | {{"des_ede3_cbc"}, "des-ede3-cbc", {&EVP_des_ede3_cbc}, 0, 0}, + | ^~~~~~~~~~~~~~~~ + | SN_des_ede3_cbc + +Fixes: + - http://autobuild.buildroot.org/results/1aace0ee738f8ec4aa2c9a739fc7535c3b6bf884 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/erlang/otp/pull/7937 +--- + lib/crypto/c_src/openssl_config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/crypto/c_src/openssl_config.h b/lib/crypto/c_src/openssl_config.h +index cb63f28369..f3904986c9 100644 +--- a/lib/crypto/c_src/openssl_config.h ++++ b/lib/crypto/c_src/openssl_config.h +@@ -218,7 +218,6 @@ + + #ifndef OPENSSL_NO_DES + # define HAVE_DES +-#endif + + #if OPENSSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION(0,9,7,'e') + # define HAVE_DES_ede3_cfb +@@ -227,6 +226,7 @@ + #if OPENSSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION(0,9,7,'e') + # define HAVE_DES_ede3_cbc + #endif ++#endif + + #ifndef OPENSSL_NO_DH + # define HAVE_DH +-- +2.42.0 + diff --git a/package/erlang/Config.in b/package/erlang/Config.in index d3fe0dbec1..724f91123b 100644 --- a/package/erlang/Config.in +++ b/package/erlang/Config.in @@ -15,11 +15,11 @@ config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS # erlang needs host-erlang depends on BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS -comment "erlang needs a toolchain w/ dynamic library, threads, wchar" +comment "erlang needs a glibc or musl toolchain w/ dynamic library, threads, wchar" depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_USE_WCHAR + || !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_UCLIBC config BR2_PACKAGE_ERLANG bool "erlang" @@ -27,6 +27,7 @@ config BR2_PACKAGE_ERLANG depends on BR2_USE_WCHAR depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS select BR2_PACKAGE_ZLIB help diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk index 593cb72937..84d2f4e898 100644 --- a/package/erlang/erlang.mk +++ b/package/erlang/erlang.mk @@ -4,8 +4,8 @@ # ################################################################################ -# See note below when updating Erlang ERLANG_VERSION = 26.0.2 +ERLANG_RELEASE = $(firstword $(subst ., ,$(ERLANG_VERSION))) ERLANG_SITE = \ https://github.com/erlang/otp/releases/download/OTP-$(ERLANG_VERSION) ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz @@ -17,18 +17,26 @@ ERLANG_CPE_ID_VENDOR = erlang ERLANG_CPE_ID_PRODUCT = erlang\/otp ERLANG_INSTALL_STAGING = YES +define ERLANG_FIX_AUTOCONF_VERSION + $(SED) "s/USE_AUTOCONF_VERSION=.*/USE_AUTOCONF_VERSION=$(AUTOCONF_VERSION)/" $(@D)/otp_build +endef + # Patched erts/aclocal.m4 define ERLANG_RUN_AUTOCONF cd $(@D) && PATH=$(BR_PATH) ./otp_build update_configure --no-commit endef ERLANG_DEPENDENCIES += host-autoconf -ERLANG_PRE_CONFIGURE_HOOKS += ERLANG_RUN_AUTOCONF +ERLANG_PRE_CONFIGURE_HOOKS += \ + ERLANG_FIX_AUTOCONF_VERSION \ + ERLANG_RUN_AUTOCONF HOST_ERLANG_DEPENDENCIES += host-autoconf -HOST_ERLANG_PRE_CONFIGURE_HOOKS += ERLANG_RUN_AUTOCONF +HOST_ERLANG_PRE_CONFIGURE_HOOKS += \ + ERLANG_FIX_AUTOCONF_VERSION \ + ERLANG_RUN_AUTOCONF -# Whenever updating Erlang, this value should be updated as well, to the -# value of EI_VSN in the file lib/erl_interface/vsn.mk -ERLANG_EI_VSN = 5.4 +# Return the EIV (Erlang Interface Version, EI_VSN) +# $(1): base directory, i.e. either $(HOST_DIR) or $(STAGING_DIR)/usr +erlang_ei_vsn = `sed -r -e '/^erl_interface-(.+)/!d; s//\1/' $(1)/lib/erlang/releases/$(ERLANG_RELEASE)/installed_application_versions` # The configure checks for these functions fail incorrectly ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes diff --git a/package/esp-hosted/0001-esp_hosted_ng-host-fix-build-failure-when-CONFIG_PM-.patch b/package/esp-hosted/0001-esp_hosted_ng-host-fix-build-failure-when-CONFIG_PM-.patch deleted file mode 100644 index abbc64a434..0000000000 --- a/package/esp-hosted/0001-esp_hosted_ng-host-fix-build-failure-when-CONFIG_PM-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 56920e3ce04aa2eadb529a6787200789bf1c3925 Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Wed, 9 Aug 2023 23:16:52 +0200 -Subject: [PATCH] esp_hosted_ng: host: fix build failure when CONFIG_PM is not - defined - -wiphy->wowlan is not defined when CONFIG_PM is not enabled so let's -guard the assignment to wiphy->wowlan according to option CONFIG_PM. - -Upstream: https://github.com/espressif/esp-hosted/pull/254 - -Signed-off-by: Giulio Benetti ---- - esp_hosted_ng/host/esp_cfg80211.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/esp_hosted_ng/host/esp_cfg80211.c b/esp_hosted_ng/host/esp_cfg80211.c -index 70fdbb9773..d3c4108c29 100644 ---- a/esp_hosted_ng/host/esp_cfg80211.c -+++ b/esp_hosted_ng/host/esp_cfg80211.c -@@ -638,7 +638,9 @@ int esp_cfg80211_register(struct esp_adapter *adapter) - wiphy->max_scan_ie_len = 1000; - wiphy->max_sched_scan_ssids = 10; - wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM; -+#ifdef CONFIG_PM - wiphy->wowlan = &esp_wowlan_support; -+#endif - - /* Advertise SAE support */ - wiphy->features |= NL80211_FEATURE_SAE; --- -2.34.1 - diff --git a/package/esp-hosted/Config.in b/package/esp-hosted/Config.in index 42e1afa8c5..5abab73b57 100644 --- a/package/esp-hosted/Config.in +++ b/package/esp-hosted/Config.in @@ -28,4 +28,18 @@ config BR2_PACKAGE_ESP_HOSTED_SPI endchoice +choice + prompt "Target" + default BR2_PACKAGE_ESP_HOSTED_TARGET_ESP32 + help + Select which SoC Target driver is used for + +config BR2_PACKAGE_ESP_HOSTED_TARGET_ESP32 + bool "ESP32" + +config BR2_PACKAGE_ESP_HOSTED_TARGET_ESP32C6 + bool "ESP32C6" + +endchoice + endif diff --git a/package/esp-hosted/esp-hosted.hash b/package/esp-hosted/esp-hosted.hash index c17fe262a1..ff0839076e 100644 --- a/package/esp-hosted/esp-hosted.hash +++ b/package/esp-hosted/esp-hosted.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3310845b2324bda5774b91bcdd3f47621126f4a0011a0f61e31b0ad4a44db2f5 esp-hosted-11e90f185a5a9922343e73e44032816a0e3ddedb.tar.gz +sha256 1c4df08132d5204a01adc2797e8f6f6d7ff945609b288cfe2dc2ea50789e8af4 esp-hosted-6a25417fc880fd744b3b0d93c11659c3e7d86384.tar.gz sha256 ed57d96d27be775b22f9571d3724ef84e0d0b8f24b805ec7f87a32189de19a9c LICENSE diff --git a/package/esp-hosted/esp-hosted.mk b/package/esp-hosted/esp-hosted.mk index 7491c46512..cc61e39b36 100644 --- a/package/esp-hosted/esp-hosted.mk +++ b/package/esp-hosted/esp-hosted.mk @@ -4,7 +4,7 @@ # ################################################################################ -ESP_HOSTED_VERSION = 11e90f185a5a9922343e73e44032816a0e3ddedb +ESP_HOSTED_VERSION = 6a25417fc880fd744b3b0d93c11659c3e7d86384 ESP_HOSTED_SITE = $(call github,espressif,esp-hosted,$(ESP_HOSTED_VERSION)) ESP_HOSTED_DEPENDENCIES = linux ESP_HOSTED_LICENSE = GPL-2.0 @@ -28,5 +28,11 @@ else ESP_HOSTED_MODULE_MAKE_OPTS = target=sdio endif +ifeq ($(BR2_PACKAGE_ESP_HOSTED_TARGET_ESP32),y) +ESP_HOSTED_MODULE_MAKE_OPTS += ESP_SLAVE=CONFIG_TARGET_ESP32=y +else +ESP_HOSTED_MODULE_MAKE_OPTS += ESP_SLAVE=CONFIG_TARGET_ESP32C6=y +endif + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/ethtool/ethtool.hash b/package/ethtool/ethtool.hash index 905b47fb06..a37c800015 100644 --- a/package/ethtool/ethtool.hash +++ b/package/ethtool/ethtool.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/software/network/ethtool/sha256sums.asc -sha256 d9425f0a3df138734001fccc4175fe178c025f938460ac25c4ebc39960168822 ethtool-6.3.tar.xz +sha256 833a8493cb9cd5809ab59743092d9a38742c282290800e9626407511bbcebf9e ethtool-6.6.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 5d632934396f90c82dfebe3c9512648bbb6333b406113d0cd331b0e0aa2d34a1 LICENSE diff --git a/package/ethtool/ethtool.mk b/package/ethtool/ethtool.mk index 9f1ef19e7b..c9c2856612 100644 --- a/package/ethtool/ethtool.mk +++ b/package/ethtool/ethtool.mk @@ -4,7 +4,7 @@ # ################################################################################ -ETHTOOL_VERSION = 6.3 +ETHTOOL_VERSION = 6.6 ETHTOOL_SOURCE = ethtool-$(ETHTOOL_VERSION).tar.xz ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool ETHTOOL_LICENSE = GPL-2.0 diff --git a/package/eudev/eudev.hash b/package/eudev/eudev.hash index d91bc761c9..c41bf5992d 100644 --- a/package/eudev/eudev.hash +++ b/package/eudev/eudev.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ccdd64ec3c381d3c3ed0e99d2e70d1f62988c7763de89ca7bdffafa5eacb9ad8 eudev-3.2.12.tar.gz +sha256 8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f eudev-3.2.14.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk index 235a71967e..33cc638291 100644 --- a/package/eudev/eudev.mk +++ b/package/eudev/eudev.mk @@ -4,7 +4,7 @@ # ################################################################################ -EUDEV_VERSION = 3.2.12 +EUDEV_VERSION = 3.2.14 EUDEV_SITE = https://github.com/eudev-project/eudev/releases/download/v$(EUDEV_VERSION) EUDEV_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) EUDEV_LICENSE_FILES = COPYING diff --git a/package/exempi/exempi.mk b/package/exempi/exempi.mk index f808afd53c..b5156c1e3c 100644 --- a/package/exempi/exempi.mk +++ b/package/exempi/exempi.mk @@ -13,6 +13,6 @@ EXEMPI_DEPENDENCIES = host-pkgconf expat zlib \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) EXEMPI_LICENSE = BSD-3-Clause EXEMPI_LICENSE_FILES = COPYING -EXEMPI_CPE_ID_VENDOR = exempi_project +EXEMPI_CPE_ID_VALID = YES $(eval $(autotools-package)) diff --git a/package/exfat/exfat.mk b/package/exfat/exfat.mk index a8efe5b0ba..d8c28464db 100644 --- a/package/exfat/exfat.mk +++ b/package/exfat/exfat.mk @@ -12,7 +12,7 @@ EXFAT_DEPENDENCIES = \ host-pkgconf EXFAT_LICENSE = GPL-2.0+ EXFAT_LICENSE_FILES = COPYING -EXFAT_CPE_ID_VENDOR = exfat_project +EXFAT_CPE_ID_VALID = YES EXFAT_CONF_OPTS += --exec-prefix=/ diff --git a/package/exfatprogs/exfatprogs.hash b/package/exfatprogs/exfatprogs.hash index 49135b1da7..9f3100db7f 100644 --- a/package/exfatprogs/exfatprogs.hash +++ b/package/exfatprogs/exfatprogs.hash @@ -1,5 +1,5 @@ -# From https://github.com/exfatprogs/exfatprogs/releases/download/1.2.0/exfatprogs-1.2.0.tar.xz.sha256 -sha256 56d9a49465deafc367d428afc71c8098705a30ee19a3cdf3c5320650b8880742 exfatprogs-1.2.0.tar.xz +# From https://github.com/exfatprogs/exfatprogs/releases/download/1.2.2/exfatprogs-1.2.2.tar.xz.sha256 +sha256 61d517231f8ec177eeb5955fd6edb89748d3f88ba412c48bcb32741b430e359a exfatprogs-1.2.2.tar.xz # Hash for license file sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/exfatprogs/exfatprogs.mk b/package/exfatprogs/exfatprogs.mk index d755c7a214..40d9072571 100644 --- a/package/exfatprogs/exfatprogs.mk +++ b/package/exfatprogs/exfatprogs.mk @@ -4,11 +4,12 @@ # ################################################################################ -EXFATPROGS_VERSION = 1.2.0 +EXFATPROGS_VERSION = 1.2.2 EXFATPROGS_SOURCE = exfatprogs-$(EXFATPROGS_VERSION).tar.xz EXFATPROGS_SITE = https://github.com/exfatprogs/exfatprogs/releases/download/$(EXFATPROGS_VERSION) EXFATPROGS_LICENSE = GPL-2.0+ EXFATPROGS_LICENSE_FILES = COPYING +EXFATPROGS_CPE_ID_VENDOR = namjaejeon $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/exim/0006-Fix-regex-n-use-after-free.-Bug-2915.patch b/package/exim/0006-Fix-regex-n-use-after-free.-Bug-2915.patch deleted file mode 100644 index 57fa189b04..0000000000 --- a/package/exim/0006-Fix-regex-n-use-after-free.-Bug-2915.patch +++ /dev/null @@ -1,173 +0,0 @@ -From 4e9ed49f8f12eb331b29bd5b6dc3693c520fddc2 Mon Sep 17 00:00:00 2001 -From: Jeremy Harris -Date: Wed, 31 Aug 2022 15:37:40 +0100 -Subject: [PATCH] Fix $regex use-after-free. Bug 2915 - -[Upstream: https://sources.debian.org/data/main/e/exim4/4.96-9/debian/patches/75_08-Fix-regex-n-use-after-free.-Bug-2915.patch] -[Peter: drop Changelog hunk] -Signed-off-by: Peter Korsgaard ---- - src/exim.c | 4 +--- - src/expand.c | 2 +- - src/functions.h | 1 + - src/globals.c | 2 +- - src/regex.c | 29 ++++++++++++++++++----------- - src/smtp_in.c | 2 ++ - test/confs/4002 | 10 ++++++++++ - test/mail/4002.userx | 7 +++++++ - test/scripts/4000-scanning/4002 | 7 +++++++ - 9 files changed, 53 insertions(+), 17 deletions(-) - ---- a/src/exim.c -+++ b/src/exim.c -@@ -1999,12 +1999,10 @@ - - regex_whitelisted_macro = - regex_must_compile(US"^[A-Za-z0-9_/.-]*$", FALSE, TRUE); - #endif - --for (i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; -- - /* If the program is called as "mailq" treat it as equivalent to "exim -bp"; - this seems to be a generally accepted convention, since one finds symbolic - links called "mailq" in standard OS configurations. */ - - if ((namelen == 5 && Ustrcmp(argv[0], "mailq") == 0) || -@@ -6082,11 +6080,11 @@ - callout_address = NULL; - sending_ip_address = NULL; - deliver_localpart_data = deliver_domain_data = - recipient_data = sender_data = NULL; - acl_var_m = NULL; -- for(int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; -+ regex_vars_clear(); - - store_reset(reset_point); - } - - exim_exit(EXIT_SUCCESS); /* Never returns */ ---- a/src/expand.c -+++ b/src/expand.c -@@ -1871,11 +1871,11 @@ - { - tree_node * node = tree_search(router_var, name + 2); - return node ? node->data.ptr : strict_acl_vars ? NULL : US""; - } - --/* Handle $auth variables. */ -+/* Handle $auth, $regex variables. */ - - if (Ustrncmp(name, "auth", 4) == 0) - { - uschar *endptr; - int n = Ustrtoul(name + 4, &endptr, 10); ---- a/src/functions.h -+++ b/src/functions.h -@@ -436,10 +436,11 @@ - extern int regex(const uschar **); - #endif - extern BOOL regex_match(const pcre2_code *, const uschar *, int, uschar **); - extern BOOL regex_match_and_setup(const pcre2_code *, const uschar *, int, int); - extern const pcre2_code *regex_must_compile(const uschar *, BOOL, BOOL); -+extern void regex_vars_clear(void); - extern void retry_add_item(address_item *, uschar *, int); - extern BOOL retry_check_address(const uschar *, host_item *, uschar *, BOOL, - uschar **, uschar **); - extern retry_config *retry_find_config(const uschar *, const uschar *, int, int); - extern BOOL retry_ultimate_address_timeout(uschar *, const uschar *, ---- a/src/globals.c -+++ b/src/globals.c -@@ -1313,11 +1313,11 @@ - #ifndef DISABLE_PIPE_CONNECT - const pcre2_code *regex_EARLY_PIPE = NULL; - #endif - const pcre2_code *regex_ismsgid = NULL; - const pcre2_code *regex_smtp_code = NULL; --const uschar *regex_vars[REGEX_VARS]; -+const uschar *regex_vars[REGEX_VARS] = { 0 };; - #ifdef WHITELIST_D_MACROS - const pcre2_code *regex_whitelisted_macro = NULL; - #endif - #ifdef WITH_CONTENT_SCAN - uschar *regex_match_string = NULL; ---- a/src/regex.c -+++ b/src/regex.c -@@ -94,22 +94,32 @@ - } - pcre2_match_data_free(md); - return FAIL; - } - -+ -+/* reset expansion variables */ -+void -+regex_vars_clear(void) -+{ -+regex_match_string = NULL; -+for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; -+} -+ -+ -+ - int --regex(const uschar **listptr) -+regex(const uschar ** listptr) - { - unsigned long mbox_size; --FILE *mbox_file; --pcre_list *re_list_head; --uschar *linebuffer; -+FILE * mbox_file; -+pcre_list * re_list_head; -+uschar * linebuffer; - long f_pos = 0; - int ret = FAIL; - --/* reset expansion variable */ --regex_match_string = NULL; -+regex_vars_clear(); - - if (!mime_stream) /* We are in the DATA ACL */ - { - if (!(mbox_file = spool_mbox(&mbox_size, NULL, NULL))) - { /* error while spooling */ -@@ -167,18 +177,17 @@ - - - int - mime_regex(const uschar **listptr) - { --pcre_list *re_list_head = NULL; --FILE *f; --uschar *mime_subject = NULL; -+pcre_list * re_list_head = NULL; -+FILE * f; -+uschar * mime_subject = NULL; - int mime_subject_len = 0; - int ret; - --/* reset expansion variable */ --regex_match_string = NULL; -+regex_vars_clear(); - - /* precompile our regexes */ - if (!(re_list_head = compile(*listptr))) - return FAIL; /* no regexes -> nothing to do */ - ---- a/src/smtp_in.c -+++ b/src/smtp_in.c -@@ -2155,12 +2155,14 @@ - prdr_requested = FALSE; - #endif - #ifdef SUPPORT_I18N - message_smtputf8 = FALSE; - #endif -+regex_vars_clear(); - body_linecount = body_zerocount = 0; - -+lookup_value = NULL; /* Can be set by ACL */ - sender_rate = sender_rate_limit = sender_rate_period = NULL; - ratelimiters_mail = NULL; /* Updated by ratelimit ACL condition */ - /* Note that ratelimiters_conn persists across resets. */ - - /* Reset message ACL variables */ diff --git a/package/exim/0006-OpenSSL-fix-non-DANE-build.patch b/package/exim/0006-OpenSSL-fix-non-DANE-build.patch new file mode 100644 index 0000000000..8ae63d2226 --- /dev/null +++ b/package/exim/0006-OpenSSL-fix-non-DANE-build.patch @@ -0,0 +1,28 @@ +From 37b849dca4dfd855212a763662825e967a4d77b1 Mon Sep 17 00:00:00 2001 +From: Jeremy Harris +Date: Tue, 7 Nov 2023 15:02:18 +0000 +Subject: [PATCH] OpenSSL: fix non-DANE build + +Upstream: https://git.exim.org/exim.git/commitdiff/37b849dca4dfd855212a763662825e967a4d77b1 + +Signed-off-by: Bernd Kuhls +--- + src/tls-openssl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c +index ef11de593..851ac77c5 100644 +--- a/src/tls-openssl.c ++++ b/src/tls-openssl.c +@@ -2605,7 +2605,7 @@ if (!(bs = OCSP_response_get1_basic(rsp))) + asking for certificate-status under DANE, so this callback won't run for + that combination. It still will for non-DANE. */ + +-#ifdef EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_SIGNER ++#if defined(EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_SIGNER) && defined(SUPPORT_DANE) + X509 * signer; + + if ( tls_out.dane_verified +-- +2.30.2 + diff --git a/package/exim/0007-Fix-non-WITH_CONTENT_SCAN-build.patch b/package/exim/0007-Fix-non-WITH_CONTENT_SCAN-build.patch deleted file mode 100644 index 9f87f18e00..0000000000 --- a/package/exim/0007-Fix-non-WITH_CONTENT_SCAN-build.patch +++ /dev/null @@ -1,61 +0,0 @@ -From d8ecc7bf97934a1e2244788c610c958cacd740bd Mon Sep 17 00:00:00 2001 -From: Jeremy Harris -Date: Wed, 31 Aug 2022 17:03:37 +0100 -Subject: [PATCH] Fix non-WITH_CONTENT_SCAN build. - -Broken-by: 4e9ed49f8f - -[Upstream: https://sources.debian.org/data/main/e/exim4/4.96-9/debian/patches/75_09-Fix-non-WITH_CONTENT_SCAN-build.patch] -Signed-off-by: Peter Korsgaard ---- - src/exim.c | 11 +++++++++++ - src/regex.c | 10 ---------- - 2 files changed, 11 insertions(+), 10 deletions(-) - ---- a/src/exim.c -+++ b/src/exim.c -@@ -1677,10 +1677,21 @@ - if ((s = expand_string(big_buffer))) printf("%s\n", CS s); - else printf("Failed: %s\n", expand_string_message); - } - - -+/* reset regex expansion variables */ -+void -+regex_vars_clear(void) -+{ -+regex_match_string = NULL; -+for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; -+} -+ -+ -+ -+ - - /************************************************* - * Entry point and high-level code * - *************************************************/ - ---- a/src/regex.c -+++ b/src/regex.c -@@ -95,20 +95,10 @@ - pcre2_match_data_free(md); - return FAIL; - } - - --/* reset expansion variables */ --void --regex_vars_clear(void) --{ --regex_match_string = NULL; --for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; --} -- -- -- - int - regex(const uschar ** listptr) - { - unsigned long mbox_size; - FILE * mbox_file; diff --git a/package/exim/0007-typoes.patch b/package/exim/0007-typoes.patch new file mode 100644 index 0000000000..6bbfc9eecd --- /dev/null +++ b/package/exim/0007-typoes.patch @@ -0,0 +1,58 @@ +From caf57fe7eb5018b8df196e6d9f99586232798eb3 Mon Sep 17 00:00:00 2001 +From: Jeremy Harris +Date: Wed, 8 Nov 2023 14:22:37 +0000 +Subject: [PATCH] typoes + +Upstream: https://git.exim.org/exim.git/commit/caf57fe7eb5018b8df196e6d9f99586232798eb3 +Signed-off-by: Fabrice Fontaine +--- + src/src/tls-openssl.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/tls-openssl.c b/src/tls-openssl.c +index 851ac77c5..237303ba9 100644 +--- a/src/tls-openssl.c ++++ b/src/tls-openssl.c +@@ -77,9 +77,9 @@ change this guard and punt the issue for a while longer. */ + # define EXIM_HAVE_OPENSSL_KEYLOG + # define EXIM_HAVE_OPENSSL_CIPHER_GET_ID + # define EXIM_HAVE_SESSION_TICKET +-# define EXIM_HAVE_OPESSL_TRACE +-# define EXIM_HAVE_OPESSL_GET0_SERIAL +-# define EXIM_HAVE_OPESSL_OCSP_RESP_GET0_CERTS ++# define EXIM_HAVE_OPENSSL_TRACE ++# define EXIM_HAVE_OPENSSL_GET0_SERIAL ++# define EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS + # define EXIM_HAVE_SSL_GET0_VERIFIED_CHAIN + # ifndef DISABLE_OCSP + # define EXIM_HAVE_OCSP +@@ -1756,7 +1756,7 @@ level. */ + DEBUG(D_tls) + { + SSL_CTX_set_info_callback(ctx, info_callback); +-#if defined(EXIM_HAVE_OPESSL_TRACE) && !defined(OPENSSL_NO_SSL_TRACE) ++#if defined(EXIM_HAVE_OPENSSL_TRACE) && !defined(OPENSSL_NO_SSL_TRACE) + /* this needs a debug build of OpenSSL */ + SSL_CTX_set_msg_callback(ctx, SSL_trace); + #endif +@@ -2442,7 +2442,7 @@ tls_in.ocsp = OCSP_NOT_RESP; + if (!olist) + return SSL_TLSEXT_ERR_NOACK; + +-#ifdef EXIM_HAVE_OPESSL_GET0_SERIAL ++#ifdef EXIM_HAVE_OPENSSL_GET0_SERIAL + { + const X509 * cert_sent = SSL_get_certificate(s); + const ASN1_INTEGER * cert_serial = X509_get0_serialNumber(cert_sent); +@@ -2646,7 +2646,7 @@ if (!(bs = OCSP_response_get1_basic(rsp))) + + debug_printf("certs contained in basicresp:\n"); + x509_stack_dump_cert_s_names( +-#ifdef EXIM_HAVE_OPESSL_OCSP_RESP_GET0_CERTS ++#ifdef EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS + OCSP_resp_get0_certs(bs) + #else + bs->certs +-- +2.30.2 + diff --git a/package/exim/0008-Fix-non-WITH_CONTENT_SCAN-build-2.patch b/package/exim/0008-Fix-non-WITH_CONTENT_SCAN-build-2.patch deleted file mode 100644 index 43cc1d79a9..0000000000 --- a/package/exim/0008-Fix-non-WITH_CONTENT_SCAN-build-2.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 158dff9936e36a2d31d037d3988b9353458d6471 Mon Sep 17 00:00:00 2001 -From: Jeremy Harris -Date: Wed, 31 Aug 2022 17:17:59 +0100 -Subject: [PATCH] Fix non-WITH_CONTENT_SCAN build (2) - -Broken-by: d8ecc7bf97 - -[Upstream: https://sources.debian.org/data/main/e/exim4/4.96-9/debian/patches/75_10-Fix-non-WITH_CONTENT_SCAN-build-2.patch] -[Peter: drop Changelog hunk] -Signed-off-by: Peter Korsgaard ---- - src/exim.c | 13 +------------ - src/functions.h | 2 +- - src/globals.h | 2 +- - src/regex.c | 10 ++++++++++ - src/smtp_in.c | 2 ++ - 5 files changed, 15 insertions(+), 14 deletions(-) - ---- a/src/exim.c -+++ b/src/exim.c -@@ -1677,21 +1677,10 @@ - if ((s = expand_string(big_buffer))) printf("%s\n", CS s); - else printf("Failed: %s\n", expand_string_message); - } - - --/* reset regex expansion variables */ --void --regex_vars_clear(void) --{ --regex_match_string = NULL; --for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; --} -- -- -- -- - - /************************************************* - * Entry point and high-level code * - *************************************************/ - -@@ -6085,17 +6074,17 @@ - deliver_domain_orig = NULL; - deliver_host = deliver_host_address = NULL; - dnslist_domain = dnslist_matched = NULL; - #ifdef WITH_CONTENT_SCAN - malware_name = NULL; -+ regex_vars_clear(); - #endif - callout_address = NULL; - sending_ip_address = NULL; - deliver_localpart_data = deliver_domain_data = - recipient_data = sender_data = NULL; - acl_var_m = NULL; -- regex_vars_clear(); - - store_reset(reset_point); - } - - exim_exit(EXIT_SUCCESS); /* Never returns */ ---- a/src/functions.h -+++ b/src/functions.h -@@ -432,15 +432,15 @@ - extern BOOL receive_msg(BOOL); - extern int_eximarith_t receive_statvfs(BOOL, int *); - extern void receive_swallow_smtp(void); - #ifdef WITH_CONTENT_SCAN - extern int regex(const uschar **); -+extern void regex_vars_clear(void); - #endif - extern BOOL regex_match(const pcre2_code *, const uschar *, int, uschar **); - extern BOOL regex_match_and_setup(const pcre2_code *, const uschar *, int, int); - extern const pcre2_code *regex_must_compile(const uschar *, BOOL, BOOL); --extern void regex_vars_clear(void); - extern void retry_add_item(address_item *, uschar *, int); - extern BOOL retry_check_address(const uschar *, host_item *, uschar *, BOOL, - uschar **, uschar **); - extern retry_config *retry_find_config(const uschar *, const uschar *, int, int); - extern BOOL retry_ultimate_address_timeout(uschar *, const uschar *, ---- a/src/globals.h -+++ b/src/globals.h -@@ -895,16 +895,16 @@ - #ifndef DISABLE_PIPE_CONNECT - extern const pcre2_code *regex_EARLY_PIPE; /* For recognizing PIPE_CONNCT */ - #endif - extern const pcre2_code *regex_ismsgid; /* Compiled r.e. for message ID */ - extern const pcre2_code *regex_smtp_code; /* For recognizing SMTP codes */ --extern const uschar *regex_vars[]; /* $regexN variables */ - #ifdef WHITELIST_D_MACROS - extern const pcre2_code *regex_whitelisted_macro; /* For -D macro values */ - #endif - #ifdef WITH_CONTENT_SCAN - extern uschar *regex_match_string; /* regex that matched a line (regex ACL condition) */ -+extern const uschar *regex_vars[]; - #endif - extern int remote_delivery_count; /* Number of remote addresses */ - extern int remote_max_parallel; /* Maximum parallel delivery */ - extern uschar *remote_sort_domains; /* Remote domain sorting order */ - extern retry_config *retries; /* Chain of retry config information */ ---- a/src/regex.c -+++ b/src/regex.c -@@ -95,10 +95,20 @@ - pcre2_match_data_free(md); - return FAIL; - } - - -+/* reset expansion variables */ -+void -+regex_vars_clear(void) -+{ -+regex_match_string = NULL; -+for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; -+} -+ -+ -+ - int - regex(const uschar ** listptr) - { - unsigned long mbox_size; - FILE * mbox_file; ---- a/src/smtp_in.c -+++ b/src/smtp_in.c -@@ -2155,11 +2155,13 @@ - prdr_requested = FALSE; - #endif - #ifdef SUPPORT_I18N - message_smtputf8 = FALSE; - #endif -+#ifdef WITH_CONTENT_SCAN - regex_vars_clear(); -+#endif - body_linecount = body_zerocount = 0; - - lookup_value = NULL; /* Can be set by ACL */ - sender_rate = sender_rate_limit = sender_rate_period = NULL; - ratelimiters_mail = NULL; /* Updated by ratelimit ACL condition */ diff --git a/package/exim/0008-src-src-tls-openssl.c-fix-build-with-libressl-3.5.0.patch b/package/exim/0008-src-src-tls-openssl.c-fix-build-with-libressl-3.5.0.patch new file mode 100644 index 0000000000..67d96fc1af --- /dev/null +++ b/package/exim/0008-src-src-tls-openssl.c-fix-build-with-libressl-3.5.0.patch @@ -0,0 +1,43 @@ +From 88f45502272a9a674948204e460ebe90202827d4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 11 Feb 2024 21:45:42 +0100 +Subject: [PATCH] src/src/tls-openssl.c: fix build with libressl >= 3.5.0 + +OCSP_BASICRESP is an opaque structure since libressl 3.5.0 and +https://github.com/libressl/openbsd/commit/57442b0028fb09287793f279ee57ebb38e9ab954 +resulting in the following build failure since version 4.97 and +https://git.exim.org/exim.git/commit/6bf0021993572586f031ac7d973ca33358c2dac8: + +In file included from tls.c:473: +tls-openssl.c: In function 'tls_client_stapling_cb': +tls-openssl.c:2652:11: error: invalid use of incomplete typedef 'OCSP_BASICRESP' {aka 'struct ocsp_basic_response_st'} + 2652 | bs->certs + | ^~ + +Fixes: + - http://autobuild.buildroot.org/results/869fde62128d7b0c65e0ac596a3a3f69b332583d + +Signed-off-by: Fabrice Fontaine +Upstream: https://bugs.exim.org/show_bug.cgi?id=3074 +--- + src/src/tls-openssl.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/tls-openssl.c b/src/tls-openssl.c +index 237303ba9..c7f94c160 100644 +--- a/src/tls-openssl.c ++++ b/src/tls-openssl.c +@@ -98,6 +98,10 @@ change this guard and punt the issue for a while longer. */ + # define EXIM_HAVE_OPENSSL_CIPHER_GET_ID + #endif + ++#if LIBRESSL_VERSION_NUMBER >= 0x3050000fL ++# define EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS ++#endif ++ + #if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x030000000L) + # define EXIM_HAVE_EXPORT_CHNL_BNGNG + # define EXIM_HAVE_OPENSSL_X509_STORE_GET1_ALL_CERTS +-- +2.43.0 + diff --git a/package/exim/0009-Fix-non-WITH_CONTENT_SCAN-build-3.patch b/package/exim/0009-Fix-non-WITH_CONTENT_SCAN-build-3.patch deleted file mode 100644 index f9675c80d3..0000000000 --- a/package/exim/0009-Fix-non-WITH_CONTENT_SCAN-build-3.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 32da6327e434e986a18b75a84f2d8c687ba14619 Mon Sep 17 00:00:00 2001 -From: Jeremy Harris -Date: Thu, 1 Sep 2022 15:54:35 +0100 -Subject: [PATCH] Fix non-WITH_CONTENT_SCAN build (3) - -Broken-by: d8ecc7bf97 - -[Upstream: https://sources.debian.org/data/main/e/exim4/4.96-9/debian/patches/75_11-Fix-non-WITH_CONTENT_SCAN-build-3.patch] -[Peter: drop Changelog hunk] -Signed-off-by: Peter Korsgaard ---- - src/expand.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/expand.c b/src/expand.c -index 89de56255..831ca2b75 100644 ---- a/src/expand.c -+++ b/src/expand.c -@@ -1869,6 +1869,7 @@ if (Ustrncmp(name, "auth", 4) == 0) - if (!*endptr && n != 0 && n <= AUTH_VARS) - return auth_vars[n-1] ? auth_vars[n-1] : US""; - } -+#ifdef WITH_CONTENT_SCAN - else if (Ustrncmp(name, "regex", 5) == 0) - { - uschar *endptr; -@@ -1876,6 +1877,7 @@ else if (Ustrncmp(name, "regex", 5) == 0) - if (!*endptr && n != 0 && n <= REGEX_VARS) - return regex_vars[n-1] ? regex_vars[n-1] : US""; - } -+#endif - - /* For all other variables, search the table */ - -@@ -8715,9 +8717,11 @@ assert_variable_notin() treats as const, so deconst is safe. */ - for (int i = 0; i < AUTH_VARS; i++) if (auth_vars[i]) - assert_variable_notin(US"auth", US auth_vars[i], &e); - -+#ifdef WITH_CONTENT_SCAN - /* check regex variables. assert_variable_notin() treats as const. */ - for (int i = 0; i < REGEX_VARS; i++) if (regex_vars[i]) - assert_variable_notin(US"regex", US regex_vars[i], &e); -+#endif - - /* check known-name variables */ - for (var_entry * v = var_table; v < var_table + var_table_size; v++) --- -2.35.1 - diff --git a/package/exim/exim.hash b/package/exim/exim.hash index e784bf7521..a3822302fb 100644 --- a/package/exim/exim.hash +++ b/package/exim/exim.hash @@ -1,6 +1,6 @@ # From https://ftp.exim.org/pub/exim/exim4/00-sha256sums.txt -sha256 038e327e8d1e93d005bac9bb06fd22aec44d5028930d6dbe8817ad44bbfc1de6 exim-4.96.2.tar.xz +sha256 bd782057509a793593508528590626d185ea160ce32cb34beda262e99cefdfa9 exim-4.97.1.tar.xz # From https://ftp.exim.org/pub/exim/exim4/00-sha512sums.txt -sha512 dc9f6a114e64ac826489edff88d50a24195b64714428e691c10a7bfb119b3ebb6455bf80cbb34dfd0a4e2e44cbde72effb009357a8e0a6065e512fe32092e3ed exim-4.96.2.tar.xz +sha512 eab7ca28b37f1635c48f5e963ab69fcbad539b2c35a84286ecaad7d7ff5210bbefce86452302e08099afdc0710f9cb7ca6d9b152b0ba88a19292f7c5541e0cfc exim-4.97.1.tar.xz # Locally calculated sha256 49240db527b7e55b312a46fc59794fde5dd006422e422257f4f057bfd27b3c8f LICENCE diff --git a/package/exim/exim.mk b/package/exim/exim.mk index 166a4ead54..84fe96218c 100644 --- a/package/exim/exim.mk +++ b/package/exim/exim.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXIM_VERSION = 4.96.2 +EXIM_VERSION = 4.97.1 EXIM_SOURCE = exim-$(EXIM_VERSION).tar.xz EXIM_SITE = https://ftp.exim.org/pub/exim/exim4 EXIM_LICENSE = GPL-2.0+ @@ -103,6 +103,7 @@ define EXIM_CONFIGURE_TOOLCHAIN $(call exim-config-add,RANLIB,$(TARGET_RANLIB)) $(call exim-config-add,HOSTCC,$(HOSTCC)) $(call exim-config-add,HOSTCFLAGS,$(HOSTCFLAGS)) + $(call exim-config-add,EXTRALIBS,$(EXIM_EXTRALIBS)) $(EXIM_FIX_IP_OPTIONS_FOR_MUSL) endef @@ -126,6 +127,13 @@ ifeq ($(BR2_STATIC_LIBS),y) EXIM_STATIC_FLAGS = LFLAGS="-pthread --static" endif +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +EXIM_DEPENDENCIES += libexecinfo +EXIM_EXTRALIBS += -lexecinfo +else ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),) +EXIM_CFLAGS = -DNO_EXECINFO +endif + # We need the host version of macro_predef during the build, before # building it we need to prepare the makefile. define EXIM_BUILD_CMDS @@ -136,16 +144,15 @@ define EXIM_BUILD_CMDS CFLAGS="-std=c99 $(HOST_CFLAGS)" \ LFLAGS="-fPIC $(HOST_LDFLAGS)" $(TARGET_MAKE_ENV) build=br $(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \ - CFLAGS="-std=c99 $(TARGET_CFLAGS)" + CFLAGS="-std=c99 $(TARGET_CFLAGS) $(EXIM_CFLAGS)" exim endef # Need to replicate the LFLAGS in install, as exim still wants to build # something when installing... define EXIM_INSTALL_TARGET_CMDS - DESTDIR=$(TARGET_DIR) INSTALL_ARG="-no_chown -no_symlink" build=br \ - $(MAKE) -C $(@D) $(EXIM_STATIC_FLAGS) \ - CFLAGS="-std=c99 $(TARGET_CFLAGS)" \ - install + cd $(@D)/build-br; \ + DESTDIR=$(TARGET_DIR) build=br \ + ../scripts/exim_install -no_chown -no_symlink exim chmod u+s $(TARGET_DIR)/usr/sbin/exim endef diff --git a/package/expat/expat.hash b/package/expat/expat.hash index c6c25aa3e0..63890b54df 100644 --- a/package/expat/expat.hash +++ b/package/expat/expat.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/expat/files/expat/2.5.0/ -md5 ac6677b6d1b95d209ab697ce8b688704 expat-2.5.0.tar.xz -sha1 5178e13c1e34f4643d5118d5758babfe0e836fe2 expat-2.5.0.tar.xz +# From https://sourceforge.net/projects/expat/files/expat/2.6.2/ +md5 0cb75c8feb842c0794ba89666b762a2d expat-2.6.1.tar.xz +sha1 d9e5f953dcacda3c9e69b4886382c3d8847b81bd expat-2.6.1.tar.xz # Locally calculated -sha256 ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe expat-2.5.0.tar.xz +sha256 ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364 expat-2.6.2.tar.xz sha256 122f2c27000472a201d337b9b31f7eb2b52d091b02857061a8880371612d9534 COPYING diff --git a/package/expat/expat.mk b/package/expat/expat.mk index 6f22024cc0..c6b7fc8b44 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXPAT_VERSION = 2.5.0 +EXPAT_VERSION = 2.6.2 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.xz EXPAT_INSTALL_STAGING = YES diff --git a/package/eza/Config.in b/package/eza/Config.in new file mode 100644 index 0000000000..b0a49afefb --- /dev/null +++ b/package/eza/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_EZA + bool "eza" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_RUSTC + help + eza is a modern, maintained replacement for ls, built on exa. + + https://github.com/eza-community/eza.git diff --git a/package/eza/eza.hash b/package/eza/eza.hash new file mode 100644 index 0000000000..64f46759d7 --- /dev/null +++ b/package/eza/eza.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 11e6127a615744b52d52d66ebcdf9e5366f62746e8123b3eec00e35a057db988 eza-0.16.0.tar.gz +sha256 2762990c7fbba9d550802a2593c1d857dcd52596bb0f9f192a97e9a7ac5f4f9e LICENCE diff --git a/package/eza/eza.mk b/package/eza/eza.mk new file mode 100644 index 0000000000..b11c1a1e7f --- /dev/null +++ b/package/eza/eza.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# eza +# +################################################################################ + +EZA_VERSION = 0.16.0 +EZA_SITE = $(call github,eza-community,eza,v$(EZA_VERSION)) +EZA_LICENSE = MIT +EZA_LICENSE_FILES = LICENCE + +$(eval $(cargo-package)) diff --git a/package/f2fs-tools/f2fs-tools.mk b/package/f2fs-tools/f2fs-tools.mk index a92ab4fe3e..87f4487750 100644 --- a/package/f2fs-tools/f2fs-tools.mk +++ b/package/f2fs-tools/f2fs-tools.mk @@ -14,7 +14,7 @@ F2FS_TOOLS_AUTORECONF = YES F2FS_TOOLS_INSTALL_STAGING = YES F2FS_TOOLS_LICENSE = GPL-2.0 F2FS_TOOLS_LICENSE_FILES = COPYING -F2FS_TOOLS_CPE_ID_VENDOR = f2fs-tools_project +F2FS_TOOLS_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_LIBSELINUX),y) F2FS_TOOLS_CONF_OPTS += --with-selinux diff --git a/package/faad2/faad2.hash b/package/faad2/faad2.hash index 3a9c36df00..b7813130fd 100644 --- a/package/faad2/faad2.hash +++ b/package/faad2/faad2.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4c16c71295ca0cbf7c3dfe98eb11d8fa8d0ac3042e41604cfd6cc11a408cf264 faad2-2.10.1.tar.gz +sha256 72dbc0494de9ee38d240f670eccf2b10ef715fd0508c305532ca3def3225bb06 faad2-2.11.1.tar.gz sha256 d3baf3a54943cf12a994c85867a18dec84f810901b2f2878ddfd77efcc3c150f COPYING diff --git a/package/faad2/faad2.mk b/package/faad2/faad2.mk index eecab35af8..0b249b3450 100644 --- a/package/faad2/faad2.mk +++ b/package/faad2/faad2.mk @@ -4,16 +4,19 @@ # ################################################################################ -FAAD2_VERSION = 2.10.1 +FAAD2_VERSION = 2.11.1 FAAD2_SITE = $(call github,knik0,faad2,$(FAAD2_VERSION)) FAAD2_LICENSE = GPL-2.0 FAAD2_LICENSE_FILES = COPYING FAAD2_CPE_ID_VENDOR = audiocoding FAAD2_CPE_ID_PRODUCT = freeware_advanced_audio_decoder_2 -# frontend/faad calls frexp() -FAAD2_CONF_ENV = LIBS=-lm FAAD2_INSTALL_STAGING = YES -# From git -FAAD2_AUTORECONF = YES -$(eval $(autotools-package)) +# faad2 contains assembly routines using ARM instructions not present in thumb1 mode: +# Error: selected processor does not support `smull r2,r3,r1,r0' in Thumb mode +# so force ARM mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +FAAD2_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -marm" +endif + +$(eval $(cmake-package)) diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk index 34f2341d33..0c1208c6fe 100644 --- a/package/fail2ban/fail2ban.mk +++ b/package/fail2ban/fail2ban.mk @@ -10,7 +10,7 @@ FAIL2BAN_LICENSE = GPL-2.0+ FAIL2BAN_LICENSE_FILES = COPYING FAIL2BAN_CPE_ID_VENDOR = fail2ban FAIL2BAN_SELINUX_MODULES = fail2ban -FAIL2BAN_SETUP_TYPE = distutils +FAIL2BAN_SETUP_TYPE = setuptools define FAIL2BAN_PYTHON_2TO3 $(HOST_DIR)/bin/2to3 --write --nobackups --no-diffs $(@D)/bin/* $(@D)/fail2ban diff --git a/package/falcosecurity-libs/Config.in b/package/falcosecurity-libs/Config.in index f101883384..028a0ed28b 100644 --- a/package/falcosecurity-libs/Config.in +++ b/package/falcosecurity-libs/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_FALCOSECURITY_LIBS depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf depends on BR2_LINUX_KERNEL depends on BR2_INSTALL_LIBSTDCPP # jsoncpp, protobuf, tbb - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # grpc, gtest + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # grpc -> libabseil-cpp depends on BR2_TOOLCHAIN_HAS_THREADS # jq, protobuf, tbb depends on !BR2_STATIC_LIBS # protobuf, tbb depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC # grpc diff --git a/package/falcosecurity-libs/falcosecurity-libs.mk b/package/falcosecurity-libs/falcosecurity-libs.mk index 92d5c61832..4245f9581a 100644 --- a/package/falcosecurity-libs/falcosecurity-libs.mk +++ b/package/falcosecurity-libs/falcosecurity-libs.mk @@ -8,7 +8,6 @@ FALCOSECURITY_LIBS_VERSION = e5c53d648f3c4694385bbe488e7d47eaa36c229a FALCOSECURITY_LIBS_SITE = $(call github,falcosecurity,libs,$(FALCOSECURITY_LIBS_VERSION)) FALCOSECURITY_LIBS_LICENSE = Apache-2.0 (userspace), MIT or GPL-2.0 (driver) FALCOSECURITY_LIBS_LICENSE_FILES = COPYING driver/MIT.txt driver/GPL2.txt -FALCOSECURITY_LIBS_CPE_ID_VENDOR = falco FALCOSECURITY_LIBS_DEPENDENCIES = \ c-ares \ diff --git a/package/fcft/Config.in b/package/fcft/Config.in new file mode 100644 index 0000000000..5393b95db3 --- /dev/null +++ b/package/fcft/Config.in @@ -0,0 +1,52 @@ +config BR2_PACKAGE_FCFT + bool "fcft" + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # C11 threads + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_TLLIST + help + A simple library for font loading and glyph rasterization + using FontConfig, FreeType and pixman. + + https://codeberg.org/dnkl/fcft + +if BR2_PACKAGE_FCFT + +config BR2_PACKAGE_FCFT_GRAPHEME_SHAPING + bool "grapheme-shaping" + depends on BR2_INSTALL_LIBSTDCPP # harfbuzz + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz + select BR2_PACKAGE_HARFBUZZ + help + Enables shaping of individual grapheme clusters + +comment "grapheme-shaping needs a toolchain w/ C++, gcc >= 4.9" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + +config BR2_PACKAGE_FCFT_RUN_SHAPING + bool "run-shaping" + depends on BR2_INSTALL_LIBSTDCPP # harfbuzz + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz + select BR2_PACKAGE_HARFBUZZ + select BR2_PACKAGE_UTF8PROC + help + Enables shaping of whole text runs. + +comment "run-shaping needs a toolchain w/ C++, gcc >= 4.9" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + +config BR2_PACKAGE_FCFT_SVG_SUPPORT + bool "svg support" + help + Enables svg support. This option increases the size of the + library by approximately 55KB. + +endif # BR2_PACKAGE_FCFT + +comment "fcft needs a glibc or musl toolchain" + depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) diff --git a/package/fcft/fcft.hash b/package/fcft/fcft.hash new file mode 100644 index 0000000000..96d885db1d --- /dev/null +++ b/package/fcft/fcft.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 904f40d749d198d97c46c5a459cd3c53fe92f008cf1e3e61949f6cf3036a78b7 3.1.6.tar.gz +sha256 d534a23a31500a0ac958d9634b84f532bd73ff1aca1bb8f7debbcbebc16ff39a LICENSE diff --git a/package/fcft/fcft.mk b/package/fcft/fcft.mk new file mode 100644 index 0000000000..538d8a0748 --- /dev/null +++ b/package/fcft/fcft.mk @@ -0,0 +1,44 @@ +################################################################################ +# +# fcft +# +################################################################################ + +FCFT_VERSION = 3.1.6 +FCFT_SOURCE = $(FCFT_VERSION).tar.gz +FCFT_SITE = https://codeberg.org/dnkl/fcft/archive +FCFT_LICENSE = MIT +FCFT_LICENSE_FILES = LICENSE +FCFT_INSTALL_STAGING = YES + +FCFT_DEPENDENCIES = \ + fontconfig \ + freetype \ + pixman \ + tllist + +FCFT_CONF_OPTS = \ + -Ddocs=disabled \ + -Dexamples=false + +ifeq ($(BR2_PACKAGE_FCFT_GRAPHEME_SHAPING),y) +FCFT_DEPENDENCIES += harfbuzz +FCFT_CONF_OPTS += -Dgrapheme-shaping=enabled +else +FCFT_CONF_OPTS += -Dgrapheme-shaping=disabled +endif + +ifeq ($(BR2_PACKAGE_FCFT_RUN_SHAPING),y) +FCFT_DEPENDENCIES += harfbuzz utf8proc +FCFT_CONF_OPTS += -Drun-shaping=enabled +else +FCFT_CONF_OPTS += -Drun-shaping=disabled +endif + +ifeq ($(BR2_PACKAGE_FCFT_SVG_SUPPORT),y) +FCFT_CONF_OPTS += -Dsvg-backend='nanosvg' +else +FCFT_CONF_OPTS += -Dsvg-backend='none' +endif + +$(eval $(meson-package)) diff --git a/package/feh/feh.mk b/package/feh/feh.mk index 3aa509abfe..df03deedde 100644 --- a/package/feh/feh.mk +++ b/package/feh/feh.mk @@ -10,7 +10,7 @@ FEH_SITE = http://feh.finalrewind.org FEH_DEPENDENCIES = imlib2 libpng xlib_libXt FEH_LICENSE = MIT FEH_LICENSE_FILES = COPYING -FEH_CPE_ID_VENDOR = feh_project +FEH_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_LIBCURL),y) FEH_DEPENDENCIES += libcurl diff --git a/package/fetchmail/fetchmail.hash b/package/fetchmail/fetchmail.hash index 9ca6b2c7a7..3c0403fa78 100644 --- a/package/fetchmail/fetchmail.hash +++ b/package/fetchmail/fetchmail.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/p/fetchmail/mailman/message/37783197/ -sha256 4a182e5d893e9abe6ac37ae71e542651fce6d606234fc735c2aaae18657e69ea fetchmail-6.4.37.tar.xz +# From https://sourceforge.net/p/fetchmail/mailman/message/58731594/ +sha256 a6cb4ea863ac61d242ffb2db564a39123761578d3e40d71ce7b6f2905be609d9 fetchmail-6.4.38.tar.xz # Locally computed: sha256 6d87443b61041067a5eddb2cabf8aebff15b8b40771ad6b5e4754e607ec21b39 COPYING diff --git a/package/fetchmail/fetchmail.mk b/package/fetchmail/fetchmail.mk index 6d418f9739..c74b259698 100644 --- a/package/fetchmail/fetchmail.mk +++ b/package/fetchmail/fetchmail.mk @@ -5,7 +5,7 @@ ################################################################################ FETCHMAIL_VERSION_MAJOR = 6.4 -FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).37 +FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).38 FETCHMAIL_SOURCE = fetchmail-$(FETCHMAIL_VERSION).tar.xz FETCHMAIL_SITE = https://downloads.sourceforge.net/project/fetchmail/branch_$(FETCHMAIL_VERSION_MAJOR) FETCHMAIL_LICENSE = GPL-2.0; some exceptions are mentioned in COPYING diff --git a/package/fft-eval/Config.in b/package/fft-eval/Config.in new file mode 100644 index 0000000000..e979e7aeb4 --- /dev/null +++ b/package/fft-eval/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_FFT_EVAL + bool "fft-eval" + help + Program to aid open source spectrum analyzer development for + Qualcomm/Atheros AR92xx and AR93xx based chipsets. + + It visualizes the FFT data reported by the chips to help + interpreting and understanding the data. + + Enable sdl2 and sdl2_ttf for the graphic output tool + fft_eval_sdl. + + https://github.com/simonwunderlich/FFT_eval diff --git a/package/fft-eval/fft-eval.hash b/package/fft-eval/fft-eval.hash new file mode 100644 index 0000000000..1ffa854be3 --- /dev/null +++ b/package/fft-eval/fft-eval.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 154f99c3567835bbbbc9ec4c58bc79961f9fa5342effb6f0bc41475fc9a6d11f fft-eval-6a82b383ce79afc4c1ba26ffcf34b15d3e95894b.tar.gz +sha256 6a573fb2f9082662978cf21fb153096df0a1981deaea7dbc10a11046fe005d9f LICENSES/CC0-1.0.txt +sha256 d1cf0896da7045d841fe45b0991cf35540bac1a17b5d11f4afcf8fcb950246b5 LICENSES/GPL-2.0-only.txt +sha256 797832eda5ff4360a10fee3be94a3250995e76423b79675c9c44204c37ca492d LICENSES/OFL-1.1.txt diff --git a/package/fft-eval/fft-eval.mk b/package/fft-eval/fft-eval.mk new file mode 100644 index 0000000000..5f913391e3 --- /dev/null +++ b/package/fft-eval/fft-eval.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# fft-eval +# +################################################################################ + +FFT_EVAL_VERSION = 6a82b383ce79afc4c1ba26ffcf34b15d3e95894b +FFT_EVAL_SITE = $(call github,simonwunderlich,FFT_eval,$(FFT_EVAL_VERSION)) +FFT_EVAL_LICENSE = CC0-1.0 (doc), GPL-2.0, OFL-1.1 (LiberationSans-Regular.ttf) +FFT_EVAL_LICENSE_FILES = \ + LICENSES/CC0-1.0.txt \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/OFL-1.1.txt + +FFT_EVAL_CONV_OPTS = CONFIG_fft_eval_json=y + +ifeq ($(BR2_PACKAGE_SDL2)$(BR2_PACKAGE_SDL2_TTF),yy) +FFT_EVAL_CONV_OPTS += CONFIG_fft_eval_sdl=y +FFT_EVAL_DEPENDENCIES += sdl2 sdl2_ttf +else +FFT_EVAL_CONV_OPTS += CONFIG_fft_eval_sdl=n +endif + +define FFT_EVAL_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + CROSS=$(STAGING_DIR)/usr/bin/ $(FFT_EVAL_CONV_OPTS) -C $(@D) all +endef + +define FFT_EVAL_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + CROSS=$(STAGING_DIR)/usr/bin/ $(FFT_EVAL_CONV_OPTS) \ + -C $(@D) DESTDIR=$(TARGET_DIR) BINDIR=/usr/bin install +endef + +$(eval $(generic-package)) diff --git a/package/file/0001-src-file.c-fix-build-without-wide-support.patch b/package/file/0001-src-file.c-fix-build-without-wide-support.patch deleted file mode 100644 index 29be9fa2cd..0000000000 --- a/package/file/0001-src-file.c-fix-build-without-wide-support.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f2ab09d0e1388657f6b7e62bacc383ebea91f5b9 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 26 Oct 2022 00:23:32 +0200 -Subject: [PATCH] src/file.c: fix build without wide support - -Fix the following build failure without wide support (e.g. on uclibc) -raised since version 5.43 and -https://github.com/file/file/commit/c80065fe6900be5e794941e29b32440e9969b1c3: - -file.c: In function 'fname_print': -file.c:605:10: error: macro "putc" requires 2 arguments, but only 1 given - 605 | putc(c); - | ^ - -Fixes: - - http://autobuild.buildroot.org/results/7ff1dd9f79408d2e6286c005302b6f3c505ab259 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://bugs.astron.com/view.php?id=398] ---- - src/file.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/file.c b/src/file.c -index f5f46524..1c23defc 100644 ---- a/src/file.c -+++ b/src/file.c -@@ -615,7 +615,7 @@ fname_print(const char *inname) - for (i = 0; i < n; i++) { - unsigned char c = CAST(unsigned char, inname[i]); - if (isprint(c)) { -- putc(c); -+ putc(c, stdout); - continue; - } - file_octal(c); --- -2.35.1 - diff --git a/package/file/file.hash b/package/file/file.hash index 49fa9e1e1b..08e8497471 100644 --- a/package/file/file.hash +++ b/package/file/file.hash @@ -1,7 +1,7 @@ # Locally calculated after verifying signature -# ftp://ftp.astron.com/pub/file/file-5.43.tar.gz.asc +# ftp://ftp.astron.com/pub/file/file-5.45.tar.gz.asc # using key BE04995BA8F90ED0C0C176C471112AB16CB33B3A -sha256 8c8015e91ae0e8d0321d94c78239892ef9dbc70c4ade0008c0e95894abfb1991 file-5.43.tar.gz +sha256 fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82 file-5.45.tar.gz sha256 0bfa856a9930bddadbef95d1be1cf4e163c0be618e76ea3275caaf255283e274 COPYING sha256 4ccb60d623884ef637af4a5bc16b2cb350163e2135e967655837336019a64462 src/mygetopt.h -sha256 cc3d8704489d08eaefcaee8c639cc6436c6f0f6b2b03986d3ba7521a1a1d2fc9 src/vasprintf.c +sha256 2e14b6fa9a74f952ebfde3c96527158df281c953cfaf35609eb854d4da30131c src/vasprintf.c diff --git a/package/file/file.mk b/package/file/file.mk index 9b751e2696..b67fcaead4 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -4,11 +4,11 @@ # ################################################################################ -FILE_VERSION = 5.43 +FILE_VERSION = 5.45 FILE_SITE = ftp://ftp.astron.com/pub/file FILE_LICENSE = BSD-2-Clause, BSD-4-Clause (one file), BSD-3-Clause (one file) FILE_LICENSE_FILES = COPYING src/mygetopt.h src/vasprintf.c -FILE_CPE_ID_VENDOR = file_project +FILE_CPE_ID_VALID = YES FILE_AUTORECONF = YES diff --git a/package/firewalld/Config.in b/package/firewalld/Config.in new file mode 100644 index 0000000000..cc8411b34d --- /dev/null +++ b/package/firewalld/Config.in @@ -0,0 +1,40 @@ +config BR2_PACKAGE_FIREWALLD + bool "firewalld" + depends on BR2_USE_MMU # gobject-introspection, python3, python-gobject + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on BR2_USE_WCHAR # glib2, dbus-python, nftables, python3 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-python, python3 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection + depends on !BR2_STATIC_LIBS # python3 + select BR2_PACKAGE_DBUS # dbus-python + select BR2_PACKAGE_DBUS_PYTHON + select BR2_PACKAGE_GOBJECT_INTROSPECTION + select BR2_PACKAGE_JANSSON # Uses the nftables json interface + select BR2_PACKAGE_NFTABLES + select BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_GOBJECT + help + Firewalld provides a dynamically managed firewall with + support for network or firewall zones to define the trust + level of network connections or interfaces. It has support + for IPv4, IPv6 firewall settings and for ethernet bridges and + a separation of runtime and permanent configuration options. + It also provides an interface for services or applications to + add ip*tables and ebtables rules directly. + + Note: Firewalld uses nftables as the backend and requires + kernel version >= 5.3. + + https://github.com/firewalld/firewalld + +comment "firewalld needs a glibc toolchain w/ wchar, dynamic library, headers >= 3.12, gcc >= 4.9, host gcc >= 8" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ + !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_8 || BR2_STATIC_LIBS diff --git a/package/firewalld/S46firewalld b/package/firewalld/S46firewalld new file mode 100644 index 0000000000..40f43e1f57 --- /dev/null +++ b/package/firewalld/S46firewalld @@ -0,0 +1,66 @@ +#!/bin/sh + +DAEMON=firewalld +PIDFILE=/var/run/$DAEMON.pid + +start() { + printf "Starting firewalld: " + start-stop-daemon -S -q --exec $DAEMON + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi +} +stop() { + printf "Stopping firewalld: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi +} + +reload(){ + printf "Reloading firewalld: " + firewall-cmd --reload + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi +} + +restart() { + stop + start +} + +status(){ + firewall-cmd --state +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + reload) + reload + ;; + status) + status + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 +esac diff --git a/package/firewalld/firewalld.hash b/package/firewalld/firewalld.hash new file mode 100644 index 0000000000..cbd4c7685b --- /dev/null +++ b/package/firewalld/firewalld.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 1433247299367f707279d50e0759ed27fbcc9bb973b7b2131e8cee96e006d96e firewalld-2.0.2.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/firewalld/firewalld.mk b/package/firewalld/firewalld.mk new file mode 100644 index 0000000000..eae8afc27f --- /dev/null +++ b/package/firewalld/firewalld.mk @@ -0,0 +1,263 @@ +################################################################################ +# +# firewalld +# +################################################################################ + +FIREWALLD_VERSION = 2.0.2 +FIREWALLD_SITE = $(call github,firewalld,firewalld,v$(FIREWALLD_VERSION)) +FIREWALLD_LICENSE = GPL-2.0 +FIREWALLD_LICENSE_FILES = COPYING +FIREWALLD_CPE_ID_VENDOR = firewalld +FIREWALLD_AUTORECONF = YES + +FIREWALLD_DEPENDENCIES = \ + host-intltool \ + host-libglib2 \ + host-libxml2 \ + host-libxslt \ + dbus-python \ + gobject-introspection \ + jansson \ + nftables \ + python3 \ + python-gobject + +FIREWALLD_SELINUX_MODULES = firewalld + +# Firewalld hard codes the python shebangs to the full path of the +# python-interpreter. IE: #!/home/buildroot/output/host/bin/python. +# Force the proper python path. +FIREWALLD_CONF_ENV += PYTHON="/usr/bin/env python3" + +# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by +# the Red Hat-specific init script which isn't used, so we set +# --disable-sysconfig. +FIREWALLD_CONF_OPTS += \ + --disable-rpmmacros \ + --disable-sysconfig \ + --with-nft=/usr/sbin/nft \ + --without-ebtables \ + --without-ebtables-restore \ + --without-ipset \ + --without-xml-catalog + +ifeq ($(BR2_PACKAGE_IPTABLES),y) +FIREWALLD_DEPENDENCIES += iptables +FIREWALLD_CONF_OPTS += \ + --with-ip6tables-restore=/usr/sbin/ip6tables-restore \ + --with-ip6tables=/usr/sbin/ip6tables \ + --with-iptables-restore=/usr/sbin/iptables-restore \ + --with-iptables=/usr/sbin/iptables +else +FIREWALLD_CONF_OPTS += -without-iptables +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +FIREWALLD_DEPENDENCIES += systemd +FIREWALLD_CONF_OPTS += --with-systemd-unitdir=/usr/lib/systemd/system +else +FIREWALLD_CONF_OPTS += --disable-systemd +endif + +define FIREWALLD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/config/firewalld.service \ + $(TARGET_DIR)/usr/lib/systemd/system/firewalld.service +endef + +# The bundled sysvinit file requires /etc/init.d/functions which is not +# provided by buildroot. As such, we provide our own firewalld init file. +define FIREWALLD_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 $(FIREWALLD_PKGDIR)/S46firewalld \ + $(TARGET_DIR)/etc/init.d/S46firewalld +endef + +# Firewalld needs ipv6 +# Firewalld requires almost every single nftable option selected. +define FIREWALLD_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BRIDGE) + $(call KCONFIG_ENABLE_OPT,CONFIG_INET) + $(call KCONFIG_ENABLE_OPT,CONFIG_INET_DIAG) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) + $(call KCONFIG_ENABLE_OPT,CONFIG_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_FILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_IPTABLES) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MANGLE) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_AH) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_EUI64) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_FRAG) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_HL) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_IPV6HEADER) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_MH) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_OPTS) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_RPFILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_RT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_MATCH_SRH) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_NAT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_RAW) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_TARGET_HL) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_TARGET_MASQUERADE) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_TARGET_NPT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_TARGET_REJECT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP6_NF_TARGET_SYNPROXY) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_ARP_MANGLE) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_ARPFILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_ARPTABLES) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_MANGLE) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_MATCH_AH) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_MATCH_ECN) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_MATCH_RPFILTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_MATCH_TTL) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_NAT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_RAW) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_CLUSTERIP) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_ECN) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_MASQUERADE) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_NETMAP) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_REDIRECT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_REJECT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_SYNPROXY) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_TARGET_TTL) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_BITMAP_IP) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_BITMAP_IPMAC) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_BITMAP_PORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_IP) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_IPMAC) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_IPMARK) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_IPPORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_IPPORTIP) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_IPPORTNET) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_MAC) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_NETIFACE) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_NETNET) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_NETPORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_HASH_NETPORTNET) + $(call KCONFIG_ENABLE_OPT,CONFIG_IP_SET_LIST_SET) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_CONNCOUNT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_NETLINK_GLUE_CT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_SYNPROXY) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XTABLES) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_AMANDA) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_BROADCAST) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_EVENTS) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_FTP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_H323) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_IRC) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_LABELS) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_MARK) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_NETBIOS_NS) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_PPTP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_PROCFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_SANE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_SIP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_SNMP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_TFTP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_TIMEOUT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_TIMESTAMP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_ZONES) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CT_NETLINK) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CT_NETLINK_HELPER) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CT_NETLINK_TIMEOUT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CT_PROTO_DCCP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CT_PROTO_GRE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CT_PROTO_SCTP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CT_PROTO_UDPLITE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_DEFRAG_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_DEFRAG_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_DUP_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_DUP_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_DUP_NETDEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_FLOW_TABLE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_FLOW_TABLE_INET) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_FLOW_TABLE_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_FLOW_TABLE_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_LOG_ARP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_LOG_BRIDGE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_LOG_COMMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_LOG_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_LOG_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_LOG_NETDEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_AMANDA) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_FTP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_H323) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_IRC) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_MASQUERADE_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_MASQUERADE_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_NEEDED) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_PPTP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_PROTO_DCCP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_PROTO_GRE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_PROTO_SCTP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_PROTO_UDPLITE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_REDIRECT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_SIP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_SNMP_BASIC) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT_TFTP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_REJECT_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_REJECT_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_SOCKET_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_SOCKET_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_TABLES_ARP) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_TABLES_BRIDGE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_TABLES_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_TABLES_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_TABLES_NETDEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_TABLES_SET) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_TPROXY_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NF_TPROXY_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_BRIDGE_REJECT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_CHAIN_NAT_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_CHAIN_NAT_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_CHAIN_ROUTE_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_CHAIN_ROUTE_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_COMPAT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_CONNLIMIT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_COUNTER) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_CT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_DUP_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_DUP_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_DUP_NETDEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_FIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_FIB_INET) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_FIB_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_FIB_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_FIB_NETDEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_FLOW_OFFLOAD) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_FWD_NETDEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_HASH) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_LIMIT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_LOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_MASQ) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_MASQ_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_MASQ_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_NAT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_NUMGEN) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_OBJREF) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_OSF) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_QUEUE) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_QUOTA) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_REDIR) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_REDIR_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_REDIR_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_REJECT) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_REJECT_INET) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_REJECT_IPV4) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_REJECT_IPV6) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_REJECT_NETDEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_SOCKET) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_SYNPROXY) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_TPROXY) + $(call KCONFIG_ENABLE_OPT,CONFIG_NFT_TUNNEL) +endef + +$(eval $(autotools-package)) diff --git a/package/flac/flac.mk b/package/flac/flac.mk index ab06af826e..6bac9ef8a7 100644 --- a/package/flac/flac.mk +++ b/package/flac/flac.mk @@ -11,7 +11,7 @@ FLAC_INSTALL_STAGING = YES FLAC_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) FLAC_LICENSE = Xiph BSD-like (libFLAC), GPL-2.0+ (tools), LGPL-2.1+ (other libraries) FLAC_LICENSE_FILES = COPYING.Xiph COPYING.GPL COPYING.LGPL -FLAC_CPE_ID_VENDOR = flac_project +FLAC_CPE_ID_VALID = YES FLAC_CONF_OPTS = \ $(if $(BR2_INSTALL_LIBSTDCPP),--enable-cpplibs,--disable-cpplibs) \ diff --git a/package/flannel/flannel.hash b/package/flannel/flannel.hash index bafc453097..c1ceeed9e8 100644 --- a/package/flannel/flannel.hash +++ b/package/flannel/flannel.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 e17164db3b158d13ce5e40bb7b233790cb186762d929fa4f626baf586d4d63ca flannel-0.14.0.tar.gz +sha256 f9e68bc9c5b41ee7f721a754c9fa4eddf3da775faa9e638581a564e33b3fabcf flannel-0.24.2.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/flannel/flannel.mk b/package/flannel/flannel.mk index b4e2b2f777..02e62256cf 100644 --- a/package/flannel/flannel.mk +++ b/package/flannel/flannel.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLANNEL_VERSION = 0.14.0 +FLANNEL_VERSION = 0.24.2 FLANNEL_SITE = $(call github,flannel-io,flannel,v$(FLANNEL_VERSION)) FLANNEL_LICENSE = Apache-2.0 diff --git a/package/flashrom/0001-Makefile-CONFIG_INTERNAL-depends-on-raw-mem-access.patch b/package/flashrom/0001-Makefile-CONFIG_INTERNAL-depends-on-raw-mem-access.patch new file mode 100644 index 0000000000..9d3f3d9c51 --- /dev/null +++ b/package/flashrom/0001-Makefile-CONFIG_INTERNAL-depends-on-raw-mem-access.patch @@ -0,0 +1,35 @@ +From aac91025386aa9d7b8214f8ad1746ef5c02f2d8d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 5 Nov 2023 10:38:32 +0100 +Subject: [PATCH] Makefile: CONFIG_INTERNAL depends on raw mem access + +CONFIG_INTERNAL depends on raw mem access resulting in the following +build failure on sh4 since version 1.3.0: + +/home/thomas/autobuild/instance-3/output-1/per-package/flashrom/host/bin/../lib/gcc/sh4a-buildroot-linux-gnu/12.3.0/../../../../sh4a-buildroot-linux-gnu/bin/ld: libflashrom.a(internal.o): in function `internal_chip_readn': +internal.c:(.text+0x8): undefined reference to `mmio_readn' + +Fixes: + - http://autobuild.buildroot.org/results/f74a9d315fb519f284428234713f43fcf4e35fd0 + +Signed-off-by: Fabrice Fontaine +Upstream: https://review.coreboot.org/c/flashrom/+/78930 +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index bf01d0f8..cd21f22f 100644 +--- a/Makefile ++++ b/Makefile +@@ -115,6 +115,7 @@ DEPENDS_ON_RAW_MEM_ACCESS := \ + CONFIG_ATAPROMISE \ + CONFIG_DRKAISER \ + CONFIG_GFXNVIDIA \ ++ CONFIG_INTERNAL \ + CONFIG_INTERNAL_X86 \ + CONFIG_IT8212 \ + CONFIG_NICINTEL \ +-- +2.42.0 + diff --git a/package/flashrom/flashrom.hash b/package/flashrom/flashrom.hash index 2ab463d93a..d3bfbad781 100644 --- a/package/flashrom/flashrom.hash +++ b/package/flashrom/flashrom.hash @@ -1,4 +1,4 @@ # Locally computed after checking pgp signature -# https://download.flashrom.org/releases/flashrom-v1.2.1.tar.bz2.asc -sha256 89a7ff5beb08c89b8795bbd253a51b9453547a864c31793302296b56bbc56d65 flashrom-v1.2.1.tar.bz2 +# https://download.flashrom.org/releases/flashrom-v1.3.0.tar.bz2.asc +sha256 a053234453ccd012e79f3443bdcc61625cf97b7fd7cb4cdd8bfbffbe8b149623 flashrom-v1.3.0.tar.bz2 sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/flashrom/flashrom.mk b/package/flashrom/flashrom.mk index dd505987ed..86bfec40cc 100644 --- a/package/flashrom/flashrom.mk +++ b/package/flashrom/flashrom.mk @@ -4,14 +4,15 @@ # ################################################################################ -FLASHROM_VERSION = 1.2.1 +FLASHROM_VERSION = 1.3.0 FLASHROM_SOURCE = flashrom-v$(FLASHROM_VERSION).tar.bz2 FLASHROM_SITE = https://download.flashrom.org/releases FLASHROM_LICENSE = GPL-2.0+ FLASHROM_LICENSE_FILES = COPYING +FLASHROM_MAKE_OPTS = WARNERROR=no -ifeq ($(BR2_PACKAGE_LIBFTDI),y) -FLASHROM_DEPENDENCIES += host-pkgconf libftdi +ifeq ($(BR2_PACKAGE_LIBFTDI1),y) +FLASHROM_DEPENDENCIES += host-pkgconf libftdi1 FLASHROM_MAKE_OPTS += \ CONFIG_FT2232_SPI=yes \ CONFIG_USBBLASTER_SPI=yes diff --git a/package/flex/flex.mk b/package/flex/flex.mk index f1e731ce2e..c6417fea83 100644 --- a/package/flex/flex.mk +++ b/package/flex/flex.mk @@ -9,7 +9,7 @@ FLEX_SITE = https://github.com/westes/flex/files/981163 FLEX_INSTALL_STAGING = YES FLEX_LICENSE = FLEX FLEX_LICENSE_FILES = COPYING -FLEX_CPE_ID_VENDOR = flex_project +FLEX_CPE_ID_VENDOR = westes # bug does not cause stack overflows in the generated code and has been # noted upstream as a bug in the code generator FLEX_IGNORE_CVES = CVE-2019-6293 diff --git a/package/flickcurl/Config.in b/package/flickcurl/Config.in deleted file mode 100644 index 426ceecba1..0000000000 --- a/package/flickcurl/Config.in +++ /dev/null @@ -1,21 +0,0 @@ -config BR2_PACKAGE_FLICKCURL - bool "flickcurl" - select BR2_PACKAGE_LIBCURL - select BR2_PACKAGE_LIBXML2 - # Ensure that libcurl is built with crypto support, since - # flickcurl must access https:// URLs. - select BR2_PACKAGE_OPENSSL if !(BR2_PACKAGE_GNUTLS || BR2_PACKAGE_LIBNSS) - select BR2_PACKAGE_CA_CERTIFICATES # runtime - help - Flickcurl is a C library for the Flickr API, handling - creating the requests, signing, token management, calling - the API, marshalling request parameters and decoding - responses. - - http://librdf.org/flickcurl/ - -config BR2_PACKAGE_FLICKCURL_UTILS - bool "flickcurl utilities" - depends on BR2_PACKAGE_FLICKCURL - help - Install flickcurl utilites (flickcurl + flickrdf) to target. diff --git a/package/flickcurl/flickcurl.hash b/package/flickcurl/flickcurl.hash deleted file mode 100644 index 8c3ea1682a..0000000000 --- a/package/flickcurl/flickcurl.hash +++ /dev/null @@ -1,7 +0,0 @@ -# Locally calculated after checking pgp signature -sha256 ff42a36c7c1c7d368246f6bc9b7d792ed298348e5f0f5d432e49f6803562f5a3 flickcurl-1.26.tar.gz -# Locally computed -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE-2.0.txt -sha256 3590f30b0fb9446a1f0a7ea5bcbb5786fa66fa362800f53d2575875d74b91909 LICENSE.html diff --git a/package/flickcurl/flickcurl.mk b/package/flickcurl/flickcurl.mk deleted file mode 100644 index 610b81f4d4..0000000000 --- a/package/flickcurl/flickcurl.mk +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################ -# -# flickcurl -# -################################################################################ - -FLICKCURL_VERSION = 1.26 -FLICKCURL_SITE = http://download.dajobe.org/flickcurl -FLICKCURL_LICENSE = LGPL-2.1+ or GPL-2.0+ or Apache-2.0+ -FLICKCURL_LICENSE_FILES = COPYING COPYING.LIB LICENSE-2.0.txt LICENSE.html -FLICKCURL_INSTALL_STAGING = YES -FLICKCURL_CONFIG_SCRIPTS = flickcurl-config -FLICKCURL_CONF_OPTS = --without-curl-config --without-xml2-config --without-raptor -FLICKCURL_DEPENDENCIES = libcurl libxml2 host-pkgconf - -ifeq ($(BR2_PACKAGE_FLICKCURL_UTILS),) -define FLICKCURL_REMOVE_UTILS - rm -f $(TARGET_DIR)/usr/bin/flickcurl $(TARGET_DIR)/usr/bin/flickrdf -endef -FLICKCURL_POST_INSTALL_TARGET_HOOKS += FLICKCURL_REMOVE_UTILS -endif - -$(eval $(autotools-package)) diff --git a/package/fluent-bit/0001-build-use-the-system-provided-LuaJIT-if-found.patch b/package/fluent-bit/0001-build-use-the-system-provided-LuaJIT-if-found.patch index 9f6f4d0ebb..aca6401ac8 100644 --- a/package/fluent-bit/0001-build-use-the-system-provided-LuaJIT-if-found.patch +++ b/package/fluent-bit/0001-build-use-the-system-provided-LuaJIT-if-found.patch @@ -1,4 +1,4 @@ -From 4f8eb7bb5a39d83374806928b7a5b622136ef055 Mon Sep 17 00:00:00 2001 +From 8d6f6cfb07a8fe32dc0b9577e1b2f1ee1b67b736 Mon Sep 17 00:00:00 2001 From: Thomas Devoogdt Date: Fri, 28 Apr 2023 10:25:16 +0200 Subject: [PATCH] build: use the system provided LuaJIT if found @@ -15,10 +15,10 @@ Signed-off-by: Thomas Devoogdt 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9af783c79..0601b7c18 100644 +index 2da792d53..3229420c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -123,6 +123,7 @@ option(FLB_TESTS_INTERNAL_FUZZ "Enable internal fuzz tests" No) +@@ -128,6 +128,7 @@ option(FLB_TESTS_INTERNAL_FUZZ "Enable internal fuzz tests" No) option(FLB_TESTS_OSSFUZZ "Enable OSS-Fuzz build" No) option(FLB_MTRACE "Enable mtrace support" No) option(FLB_POSIX_TLS "Force POSIX thread storage" No) @@ -26,7 +26,7 @@ index 9af783c79..0601b7c18 100644 option(FLB_INOTIFY "Enable inotify support" Yes) option(FLB_SQLDB "Enable SQL embedded DB" Yes) option(FLB_HTTP_SERVER "Enable HTTP Server" Yes) -@@ -1003,7 +1004,16 @@ endif() +@@ -1023,7 +1024,16 @@ endif() # LuaJIT (Scripting Support) # ========================== if(FLB_LUAJIT) @@ -45,10 +45,10 @@ index 9af783c79..0601b7c18 100644 endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 06a206dd4..8b66ddd22 100644 +index b6233d9f7..67baec456 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -220,7 +220,7 @@ endif() +@@ -221,7 +221,7 @@ endif() if(FLB_LUAJIT) set(extra_libs ${extra_libs} diff --git a/package/fluent-bit/0002-lib-librdkafka-CMakeLists.txt-allow-compilation-with.patch b/package/fluent-bit/0002-lib-librdkafka-CMakeLists.txt-allow-compilation-with.patch index a315fbf7ef..bcfe3ea859 100644 --- a/package/fluent-bit/0002-lib-librdkafka-CMakeLists.txt-allow-compilation-with.patch +++ b/package/fluent-bit/0002-lib-librdkafka-CMakeLists.txt-allow-compilation-with.patch @@ -1,4 +1,4 @@ -From d5492ae7a0fa4e2c19b1d091ad28133fed53d8e2 Mon Sep 17 00:00:00 2001 +From 29be5275f6f7e15aca768e9b235998abc5a604e2 Mon Sep 17 00:00:00 2001 From: Thomas Devoogdt Date: Tue, 25 Jul 2023 09:10:41 +0200 Subject: [PATCH] lib: librdkafka: CMakeLists.txt: allow compilation without @@ -10,14 +10,14 @@ Upstream: https://github.com/confluentinc/librdkafka/pull/4366 Upstream: https://github.com/fluent/fluent-bit/pull/7765 Signed-off-by: Thomas Devoogdt --- - lib/librdkafka-2.1.0/CMakeLists.txt | 18 ++++++++++-- - lib/librdkafka-2.1.0/examples/CMakeLists.txt | 30 +++++++++++++------- - 2 files changed, 35 insertions(+), 13 deletions(-) + lib/librdkafka-2.3.0/CMakeLists.txt | 18 ++++++++++-- + lib/librdkafka-2.3.0/examples/CMakeLists.txt | 31 +++++++++++++------- + 2 files changed, 35 insertions(+), 14 deletions(-) -diff --git a/lib/librdkafka-2.1.0/CMakeLists.txt b/lib/librdkafka-2.1.0/CMakeLists.txt +diff --git a/lib/librdkafka-2.3.0/CMakeLists.txt b/lib/librdkafka-2.3.0/CMakeLists.txt index 7f3dd0fc6..c1ee93062 100644 ---- a/lib/librdkafka-2.1.0/CMakeLists.txt -+++ b/lib/librdkafka-2.1.0/CMakeLists.txt +--- a/lib/librdkafka-2.3.0/CMakeLists.txt ++++ b/lib/librdkafka-2.3.0/CMakeLists.txt @@ -3,7 +3,12 @@ cmake_minimum_required(VERSION 3.2) include("packaging/cmake/parseversion.cmake") parseversion("src/rdkafka.h") @@ -57,10 +57,10 @@ index 7f3dd0fc6..c1ee93062 100644 if(RDKAFKA_BUILD_EXAMPLES) add_subdirectory(examples) -diff --git a/lib/librdkafka-2.1.0/examples/CMakeLists.txt b/lib/librdkafka-2.1.0/examples/CMakeLists.txt -index bbbb89ad9..51b8b04be 100644 ---- a/lib/librdkafka-2.1.0/examples/CMakeLists.txt -+++ b/lib/librdkafka-2.1.0/examples/CMakeLists.txt +diff --git a/lib/librdkafka-2.3.0/examples/CMakeLists.txt b/lib/librdkafka-2.3.0/examples/CMakeLists.txt +index 8c0079abe..c9336b729 100644 +--- a/lib/librdkafka-2.3.0/examples/CMakeLists.txt ++++ b/lib/librdkafka-2.3.0/examples/CMakeLists.txt @@ -5,8 +5,10 @@ endif(WIN32) add_executable(producer producer.c ${win32_sources}) target_link_libraries(producer PUBLIC rdkafka) @@ -101,12 +101,13 @@ index bbbb89ad9..51b8b04be 100644 add_executable(misc misc.c ${win32_sources}) target_link_libraries(misc PUBLIC rdkafka) -@@ -35,6 +43,8 @@ if(NOT WIN32) +@@ -70,7 +78,8 @@ if(NOT WIN32) add_executable(rdkafka_complex_consumer_example rdkafka_complex_consumer_example.c) target_link_libraries(rdkafka_complex_consumer_example PUBLIC rdkafka) - add_executable(kafkatest_verifiable_client kafkatest_verifiable_client.cpp) - target_link_libraries(kafkatest_verifiable_client PUBLIC rdkafka++) +- + if(RDKAFKA_BUILD_CXX) + add_executable(kafkatest_verifiable_client kafkatest_verifiable_client.cpp) + target_link_libraries(kafkatest_verifiable_client PUBLIC rdkafka++) diff --git a/package/fluent-bit/0003-CMakeLists.txt-disable-cxx-support-for-librdkafka-77.patch b/package/fluent-bit/0003-CMakeLists.txt-disable-cxx-support-for-librdkafka-77.patch index 0022d5929c..c96a7bdaa0 100644 --- a/package/fluent-bit/0003-CMakeLists.txt-disable-cxx-support-for-librdkafka-77.patch +++ b/package/fluent-bit/0003-CMakeLists.txt-disable-cxx-support-for-librdkafka-77.patch @@ -1,4 +1,4 @@ -From f5303533fb64bf038dbd8203ac52d94819346239 Mon Sep 17 00:00:00 2001 +From 7f3fc55b734db2d28af63c393b52bc238af9f20a Mon Sep 17 00:00:00 2001 From: Thomas Devoogdt Date: Tue, 25 Jul 2023 10:00:36 +0200 Subject: [PATCH] CMakeLists.txt: disable cxx support for librdkafka #7741 @@ -6,17 +6,17 @@ Subject: [PATCH] CMakeLists.txt: disable cxx support for librdkafka #7741 Fluent-bit is c only, so no need to compile cxx. This fixes also a compile error in buildroot. -Upstream: https://github.com/fluent/fluent-bit/pull/7765/commits +Upstream: https://github.com/fluent/fluent-bit/pull/7765 Signed-off-by: Thomas Devoogdt --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index df6b283cf..10e6071f3 100644 +index 3229420c6..2694f189f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -967,6 +967,7 @@ if(FLB_BACKTRACE) +@@ -979,6 +979,7 @@ if(FLB_BACKTRACE) endif() if(FLB_IN_KAFKA OR FLB_OUT_KAFKA) diff --git a/package/fluent-bit/0004-wasm-restore-support-for-some-targets-8401.patch b/package/fluent-bit/0004-wasm-restore-support-for-some-targets-8401.patch new file mode 100644 index 0000000000..ed6206268f --- /dev/null +++ b/package/fluent-bit/0004-wasm-restore-support-for-some-targets-8401.patch @@ -0,0 +1,43 @@ +From 4a6c5f56cd1a979b91c168fb8e245587c2927aca Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt +Date: Mon, 22 Jan 2024 19:27:56 +0100 +Subject: [PATCH] wasm: restore support for some targets (#8401) + +Somehow, support for ARC, MIPS, and XTENSA got dropped by bumping to v1.3.0, +so restore it now. Remark that those targets are mentioned in the section above. + +See commit fa6a248746f9f481b5f6aef49716141fa0222650. + +Upstream: https://github.com/fluent/fluent-bit/pull/8401 +Signed-off-by: Thomas Devoogdt +--- + src/wasm/CMakeLists.txt | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/wasm/CMakeLists.txt b/src/wasm/CMakeLists.txt +index a258dc063..4ea7eba65 100644 +--- a/src/wasm/CMakeLists.txt ++++ b/src/wasm/CMakeLists.txt +@@ -51,6 +51,10 @@ elseif (WAMR_BUILD_TARGET MATCHES "AARCH64.*") + elseif (WAMR_BUILD_TARGET MATCHES "ARM.*") + add_definitions(-DBUILD_TARGET_ARM) + add_definitions(-DBUILD_TARGET="${WAMR_BUILD_TARGET}") ++elseif (WAMR_BUILD_TARGET STREQUAL "MIPS") ++ add_definitions(-DBUILD_TARGET_MIPS) ++elseif (WAMR_BUILD_TARGET STREQUAL "XTENSA") ++ add_definitions(-DBUILD_TARGET_XTENSA) + elseif (WAMR_BUILD_TARGET STREQUAL "RISCV64" OR WAMR_BUILD_TARGET STREQUAL "RISCV64_LP64D") + add_definitions(-DBUILD_TARGET_RISCV64_LP64D) + elseif (WAMR_BUILD_TARGET STREQUAL "RISCV64_LP64") +@@ -59,6 +63,8 @@ elseif (WAMR_BUILD_TARGET STREQUAL "RISCV32" OR WAMR_BUILD_TARGET STREQUAL "RISC + add_definitions(-DBUILD_TARGET_RISCV32_ILP32D) + elseif (WAMR_BUILD_TARGET STREQUAL "RISCV32_ILP32") + add_definitions(-DBUILD_TARGET_RISCV32_ILP32) ++elseif (WAMR_BUILD_TARGET STREQUAL "ARC") ++ add_definitions(-DBUILD_TARGET_ARC) + else () + message (FATAL_ERROR "-- Build target isn't set") + endif () +-- +2.34.1 + diff --git a/package/fluent-bit/0005-Enhance-setting-write-gs-base-with-cmake-variable-30.patch b/package/fluent-bit/0005-Enhance-setting-write-gs-base-with-cmake-variable-30.patch new file mode 100644 index 0000000000..9cdab4c47a --- /dev/null +++ b/package/fluent-bit/0005-Enhance-setting-write-gs-base-with-cmake-variable-30.patch @@ -0,0 +1,99 @@ +From 7eacb2ab839e74cb07038398def5e3cc198448d4 Mon Sep 17 00:00:00 2001 +From: Wenyong Huang +Date: Tue, 23 Jan 2024 12:21:20 +0800 +Subject: [PATCH] Enhance setting write gs base with cmake variable (#3066) + +In linux x86-64, developer can use cmake variable to configure whether +to enable writing linear memory base address to x86 GS register or not: +- `cmake -DWAMR_DISABLE_WRITE_GS_BASE=1`: disabled it +- `cmake -DWAMR_DISABLE_WRITE_GS_BASE=0`: enabled it +- `cmake` without `-DWAMR_DISABLE_WRITE_GS_BASE=1/0`: + auto-detected by the compiler + +Upstream: https://github.com/bytecodealliance/wasm-micro-runtime/pull/3066 +Signed-off-by: Thomas Devoogdt +--- + .../build-scripts/config_common.cmake | 65 ++++++++++++------- + 1 file changed, 41 insertions(+), 24 deletions(-) + +diff --git a/lib/wasm-micro-runtime-WAMR-1.3.0/build-scripts/config_common.cmake b/lib/wasm-micro-runtime-WAMR-1.3.0/build-scripts/config_common.cmake +index e73ebc85f..a61a522f3 100644 +--- a/lib/wasm-micro-runtime-WAMR-1.3.0/build-scripts/config_common.cmake ++++ b/lib/wasm-micro-runtime-WAMR-1.3.0/build-scripts/config_common.cmake +@@ -408,32 +408,49 @@ if (WAMR_BUILD_STATIC_PGO EQUAL 1) + add_definitions (-DWASM_ENABLE_STATIC_PGO=1) + message (" AOT static PGO enabled") + endif () +-if (WAMR_DISABLE_WRITE_GS_BASE EQUAL 1) +- add_definitions (-DWASM_DISABLE_WRITE_GS_BASE=1) +- message (" Write linear memory base addr to x86 GS register disabled") +-elseif (WAMR_BUILD_TARGET STREQUAL "X86_64" +- AND WAMR_BUILD_PLATFORM STREQUAL "linux") +- set (TEST_WRGSBASE_SOURCE "${CMAKE_BINARY_DIR}/test_wrgsbase.c") +- file (WRITE "${TEST_WRGSBASE_SOURCE}" " +- #include +- #include +- int main() { +- uint64_t value; +- asm volatile (\"wrgsbase %0\" : : \"r\"(value)); +- printf(\"WRGSBASE instruction is available.\\n\"); +- return 0; +- }") +- # Try to compile and run the test program +- try_run (TEST_WRGSBASE_RESULT +- TEST_WRGSBASE_COMPILED +- ${CMAKE_BINARY_DIR}/test_wrgsbase +- SOURCES ${TEST_WRGSBASE_SOURCE} +- CMAKE_FLAGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +- ) +- #message("${TEST_WRGSBASE_COMPILED}, ${TEST_WRGSBASE_RESULT}") +- if (NOT TEST_WRGSBASE_RESULT EQUAL 0) ++if (WAMR_BUILD_TARGET STREQUAL "X86_64" ++ AND WAMR_BUILD_PLATFORM STREQUAL "linux") ++ if (WAMR_DISABLE_WRITE_GS_BASE EQUAL 1) ++ # disabled by user ++ set (DISABLE_WRITE_GS_BASE 1) ++ elseif (WAMR_DISABLE_WRITE_GS_BASE EQUAL 0) ++ # enabled by user ++ set (DISABLE_WRITE_GS_BASE 0) ++ elseif (CMAKE_CROSSCOMPILING) ++ # disabled in cross compilation environment ++ set (DISABLE_WRITE_GS_BASE 1) ++ else () ++ # auto-detected by the compiler ++ set (TEST_WRGSBASE_SOURCE "${CMAKE_BINARY_DIR}/test_wrgsbase.c") ++ file (WRITE "${TEST_WRGSBASE_SOURCE}" " ++ #include ++ #include ++ int main() { ++ uint64_t value; ++ asm volatile (\"wrgsbase %0\" : : \"r\"(value)); ++ printf(\"WRGSBASE instruction is available.\\n\"); ++ return 0; ++ }") ++ # Try to compile and run the test program ++ try_run (TEST_WRGSBASE_RESULT ++ TEST_WRGSBASE_COMPILED ++ ${CMAKE_BINARY_DIR}/test_wrgsbase ++ SOURCES ${TEST_WRGSBASE_SOURCE} ++ CMAKE_FLAGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} ++ ) ++ #message("${TEST_WRGSBASE_COMPILED}, ${TEST_WRGSBASE_RESULT}") ++ if (TEST_WRGSBASE_RESULT EQUAL 0) ++ set (DISABLE_WRITE_GS_BASE 0) ++ else () ++ set (DISABLE_WRITE_GS_BASE 1) ++ endif () ++ endif () ++ if (DISABLE_WRITE_GS_BASE EQUAL 1) + add_definitions (-DWASM_DISABLE_WRITE_GS_BASE=1) + message (" Write linear memory base addr to x86 GS register disabled") ++ else () ++ add_definitions (-DWASM_DISABLE_WRITE_GS_BASE=0) ++ message (" Write linear memory base addr to x86 GS register enabled") + endif () + endif () + if (WAMR_CONFIGUABLE_BOUNDS_CHECKS EQUAL 1) +-- +2.34.1 + diff --git a/package/fluent-bit/Config.in b/package/fluent-bit/Config.in index dec40c4371..53284ee17d 100644 --- a/package/fluent-bit/Config.in +++ b/package/fluent-bit/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_FLUENT_BIT depends on !BR2_STATIC_LIBS # dlfcn.h select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_LIBYAML help Fast and Lightweight Logs and Metrics processor. diff --git a/package/fluent-bit/fluent-bit.hash b/package/fluent-bit/fluent-bit.hash index 7e2059109a..2c34583f7a 100644 --- a/package/fluent-bit/fluent-bit.hash +++ b/package/fluent-bit/fluent-bit.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ed80291d660be19f8458d81796c7d3f7e8735eb48ec393467a0c9deca2e9abc3 fluent-bit-2.1.7.tar.gz +sha256 8e7e951b2907e9d29508699c71c8949a4a22d750d54ffa5ee5b96537e59371dd fluent-bit-2.2.2.tar.gz sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE diff --git a/package/fluent-bit/fluent-bit.mk b/package/fluent-bit/fluent-bit.mk index 1185860661..00a8904c55 100644 --- a/package/fluent-bit/fluent-bit.mk +++ b/package/fluent-bit/fluent-bit.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLUENT_BIT_VERSION = 2.1.7 +FLUENT_BIT_VERSION = 2.2.2 FLUENT_BIT_SITE = $(call github,fluent,fluent-bit,v$(FLUENT_BIT_VERSION)) FLUENT_BIT_LICENSE = Apache-2.0 FLUENT_BIT_LICENSE_FILES = LICENSE @@ -12,8 +12,6 @@ FLUENT_BIT_CPE_ID_VENDOR = treasuredata FLUENT_BIT_CPE_ID_PRODUCT = fluent_bit FLUENT_BIT_DEPENDENCIES = host-bison host-flex libyaml openssl -FLUENT_BIT_CFLAGS = $(TARGET_CFLAGS) - FLUENT_BIT_CONF_OPTS += \ -DFLB_DEBUG=No \ -DFLB_RELEASE=Yes \ @@ -55,15 +53,6 @@ FLUENT_BIT_CONF_OPTS += \ FLUENT_BIT_CONF_OPTS += \ -DCMAKE_INSTALL_SYSCONFDIR="/etc/" -# Fix multiple definition of `mk_tls_*'. -# https://github.com/fluent/fluent-bit/issues/5537 -FLUENT_BIT_CFLAGS += -fcommon - -# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h -# large file support. -# https://bugzilla.redhat.com/show_bug.cgi?id=574992 -FLUENT_BIT_CFLAGS += -U_FILE_OFFSET_BITS - ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) FLUENT_BIT_DEPENDENCIES += libexecinfo FLUENT_BIT_LDFLAGS += -lexecinfo @@ -80,8 +69,7 @@ FLUENT_BIT_LDFLAGS += -latomic endif FLUENT_BIT_CONF_OPTS += \ - -DCMAKE_EXE_LINKER_FLAGS="$(FLUENT_BIT_LDFLAGS)" \ - -DCMAKE_C_FLAGS="$(FLUENT_BIT_CFLAGS)" + -DCMAKE_EXE_LINKER_FLAGS="$(FLUENT_BIT_LDFLAGS)" define FLUENT_BIT_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/fluent-bit/S99fluent-bit \ diff --git a/package/fluidsynth/fluidsynth.hash b/package/fluidsynth/fluidsynth.hash index 382a54abad..824f246a2c 100644 --- a/package/fluidsynth/fluidsynth.hash +++ b/package/fluidsynth/fluidsynth.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 321f7d3f72206b2522f30a1cb8ad1936fd4533ffc4d29dd335b1953c9fb371e6 fluidsynth-2.3.3.tar.gz +sha256 1529ef5bc3b9ef3adc2a7964505912f7305103e269e50cc0316f500b22053ac9 fluidsynth-2.3.4.tar.gz sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/fluidsynth/fluidsynth.mk b/package/fluidsynth/fluidsynth.mk index 52f8ec489f..4317c6e460 100644 --- a/package/fluidsynth/fluidsynth.mk +++ b/package/fluidsynth/fluidsynth.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLUIDSYNTH_VERSION = 2.3.3 +FLUIDSYNTH_VERSION = 2.3.4 FLUIDSYNTH_SITE = $(call github,FluidSynth,fluidsynth,v$(FLUIDSYNTH_VERSION)) FLUIDSYNTH_LICENSE = LGPL-2.1+ FLUIDSYNTH_LICENSE_FILES = LICENSE diff --git a/package/flutter-engine/0001-disable-pre-canned-sysroot.patch b/package/flutter-engine/0001-disable-pre-canned-sysroot.patch new file mode 100644 index 0000000000..953705e33b --- /dev/null +++ b/package/flutter-engine/0001-disable-pre-canned-sysroot.patch @@ -0,0 +1,32 @@ +From 49a14e693124dc34f2cccbfb755d01a1198aa6bf Mon Sep 17 00:00:00 2001 +From: Joel Winarske +Date: Wed, 19 Jul 2023 15:24:22 -0700 +Subject: [PATCH] disable pre-canned sysroot + +Override should be enabled if a custom sysroot using --target-sysroot is +specified. If --target-sysroot is not set, then it should default to the +pre-canned sysroot. + +Upstream: https://github.com/flutter/flutter/issues/123073 +Signed-off-by: Joel Winarske +Signed-off-by: Adam Duskett +--- + build/config/sysroot.gni | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/config/sysroot.gni b/build/config/sysroot.gni +index 7987e519d..1de694263 100644 +--- a/build/config/sysroot.gni ++++ b/build/config/sysroot.gni +@@ -14,7 +14,7 @@ declare_args() { + + # Whether to use the default sysroot when building for Linux, if an explicit + # sysroot isn't set. +- use_default_linux_sysroot = true ++ use_default_linux_sysroot = false + } + + if (current_toolchain == default_toolchain && target_sysroot != "") { +-- +2.41.0 + diff --git a/package/flutter-engine/0002-remove-explicit-x11-dependency.patch b/package/flutter-engine/0002-remove-explicit-x11-dependency.patch new file mode 100644 index 0000000000..23d7ec9b06 --- /dev/null +++ b/package/flutter-engine/0002-remove-explicit-x11-dependency.patch @@ -0,0 +1,33 @@ +From b1a5db9318ca33a03f2700758d5debad907d21b6 Mon Sep 17 00:00:00 2001 +From: Joel Winarske +Date: Wed, 19 Jul 2023 15:26:40 -0700 +Subject: [PATCH] remove explicit x11 dependency + +This is superfluous and may conflict with the actual rendering system used in +gtk3 (e.g. wayland.) + +Upstream: https://github.com/flutter/flutter/issues/123073 +Signed-off-by: Joel Winarske +Signed-off-by: Adam Duskett +--- + flutter/shell/platform/linux/config/BUILD.gn | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/flutter/shell/platform/linux/config/BUILD.gn b/flutter/shell/platform/linux/config/BUILD.gn +index da0ac056b..70c7a0ea1 100644 +--- a/flutter/shell/platform/linux/config/BUILD.gn ++++ b/flutter/shell/platform/linux/config/BUILD.gn +@@ -5,10 +5,6 @@ + import("//build/config/linux/pkg_config.gni") + import("//flutter/shell/platform/glfw/config.gni") + +-pkg_config("x11") { +- packages = [ "x11" ] +-} +- + pkg_config("gtk") { + packages = [ "gtk+-3.0" ] + } +-- +2.41.0 + diff --git a/package/flutter-engine/0003-fix-toolchain-paths.patch b/package/flutter-engine/0003-fix-toolchain-paths.patch new file mode 100644 index 0000000000..ba5d5f8023 --- /dev/null +++ b/package/flutter-engine/0003-fix-toolchain-paths.patch @@ -0,0 +1,40 @@ +From ca175ef5bf7f96db57fb5aa562602dc424fab81c Mon Sep 17 00:00:00 2001 +From: Joel Winarske +Date: Sun, 5 Mar 2023 10:43:02 -0800 +Subject: [PATCH] fix toolchain paths + +Flutter includes a copy of clang which is required to build. However, by +default, build/toolchain/custom/BUILD.gn attempts to use several gcc utilities +such as ar, readelf, nm, and strip. Change these to the proper llvm provided +utility. + +Upstream: https://github.com/flutter/flutter/issues/123073 + +Signed-off-by: Joel Winarske +Signed-off-by: Adam Duskett +--- + build/toolchain/custom/BUILD.gn | 4 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/build/toolchain/custom/BUILD.gn b/build/toolchain/custom/BUILD.gn +index 65b1623..8b3f6f8 100644 +--- a/build/toolchain/custom/BUILD.gn ++++ b/build/toolchain/custom/BUILD.gn +@@ -12,11 +12,11 @@ toolchain("custom") { + # these values in our scope. + cc = "${toolchain_bin}/clang" + cxx = "${toolchain_bin}/clang++" +- ar = "${toolchain_bin}/${custom_target_triple}-ar" ++ ar = "${toolchain_bin}/llvm-ar" + ld = "${toolchain_bin}/clang++" +- readelf = "${toolchain_bin}/${custom_target_triple}-readelf" +- nm = "${toolchain_bin}/${custom_target_triple}-nm" +- strip = "${toolchain_bin}/${custom_target_triple}-strip" ++ readelf = "${toolchain_bin}/llvm-readelf" ++ nm = "${toolchain_bin}/llvm-nm" ++ strip = "${toolchain_bin}/llvm-strip" + + target_triple_flags = "--target=${custom_target_triple}" + sysroot_flags = "--sysroot ${custom_sysroot}" +-- +2.39.2 diff --git a/package/flutter-engine/0004-pkg-config.py-do-not-prepend-sysroot-path.patch b/package/flutter-engine/0004-pkg-config.py-do-not-prepend-sysroot-path.patch new file mode 100644 index 0000000000..a31be7d77f --- /dev/null +++ b/package/flutter-engine/0004-pkg-config.py-do-not-prepend-sysroot-path.patch @@ -0,0 +1,37 @@ +From 51e8fed854fd9d373bb9b20d7ed8e7cf6ef12312 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Wed, 19 Jul 2023 11:48:59 -0700 +Subject: [PATCH] pkg-config.py: do not prepend sysroot path + +Buildroot uses the standard PKG_CONFIG_SYSROOT_DIR variable, so what the +pkg-config.py script is doing doesn't make sense. There is no need to prepend +the sysroot, and flutter should let pkg-config use the PKG_CONFIG_SYSROOT_DIR +variable. + +Without this patch, the pkg-config.py script double prepends the sysroot path. +IE: output/host/.../sysroot/output/host/.../sysroot + +Upstream: https://github.com/flutter/flutter/issues/132152 +Signed-off-by: Adam Duskett +--- + build/config/linux/pkg-config.py | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/build/config/linux/pkg-config.py b/build/config/linux/pkg-config.py +index b4a6aff17..44ffdcaea 100644 +--- a/build/config/linux/pkg-config.py ++++ b/build/config/linux/pkg-config.py +@@ -207,9 +207,7 @@ def main(): + all_flags = flag_string.strip().split(' ') + + +- sysroot = options.sysroot +- if not sysroot: +- sysroot = '' ++ sysroot = '' + + includes = [] + cflags = [] +-- +2.41.0 + diff --git a/package/flutter-engine/Config.in b/package/flutter-engine/Config.in new file mode 100644 index 0000000000..00bcd05cd4 --- /dev/null +++ b/package/flutter-engine/Config.in @@ -0,0 +1,78 @@ +# Flutter includes a vender copy of clang which is mandatory to use for +# compiling. These are the supported architectures. +config BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 + default y if BR2_x86_64 + +config BR2_PACKAGE_FLUTTER_ENGINE + bool "flutter-engine" + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + 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 + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_HOST_DEPOT_TOOLS + select BR2_PACKAGE_ZLIB + help + Flutter is Google's SDK for crafting beautiful, fast user + experience for mobile, web, and desktop from a single + codebase. Flutter works with existing code, is used by + developers and organizations around the world, and is + free and open source. + + The Flutter Engine is a portable runtime for hosting + Flutter applications. It implements Flutter's core + libraries, including animation and graphics, file and + network I/O, accessibility support, plugin architecture, + and a Dart runtime and compile toolchain. Most developers + will interact with Flutter via the Flutter Framework, + which provides a modern, reactive framework, and a rich + set of platform, layout and foundation widgets. + + https://github.com/flutter/engine + +if BR2_PACKAGE_FLUTTER_ENGINE + +config FLUTTER_ENGINE_RUNTIME_MODE_PROFILE + bool "enable profiling" + help + Some debugging ability is maintained—enough to profile your + apps performance. Profile mode is disabled on the emulator + and simulator, because their behavior is not representative + of real performance. Profile mode is similar to release mode, + with the following differences: + + - Some service extensions, such as the one that enables the + performance overlay, are enabled. + + - Tracing is enabled, and tools supporting source-level + debugging (such as DevTools) can connect to the process. + + If this option is left unselected, the global option + BR2_ENABLE_RUNTIME_DEBUG determines whether to build Flutter + in release or debug mode. + + https://docs.flutter.dev/testing/build-modes#profile + +endif + +comment "flutter-engine needs an OpenGL or OpenGLES backend" + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES + +comment "flutter-engine needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5" + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || BR2_STATIC_LIBS \ + || !BR2_USE_WCHAR || !BR2_HOST_GCC_AT_LEAST_5 + +comment "flutter-engine needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/flutter-engine/dot-gclient b/package/flutter-engine/dot-gclient new file mode 100644 index 0000000000..ba9590a7f5 --- /dev/null +++ b/package/flutter-engine/dot-gclient @@ -0,0 +1,13 @@ +# Definition file to download flutter-engine +# Inspired by the output of meta-flutter/lib/gn.py + +solutions = [{ + "managed": False, + "name": "src/flutter", + "url": "https://github.com/flutter/engine.git@!FLUTTER_VERSION!", + "custom_vars": { + "download_android_deps": False, + "download_windows_deps": False, + "download_linux_deps": False + }, +}] diff --git a/package/flutter-engine/flutter-engine.mk b/package/flutter-engine/flutter-engine.mk new file mode 100644 index 0000000000..d08274f546 --- /dev/null +++ b/package/flutter-engine/flutter-engine.mk @@ -0,0 +1,246 @@ +################################################################################ +# +# flutter-engine +# +################################################################################ + +# Flutter-engine has a release on the GitHub page. However, that release is +# only for Google. Its intended purpose is for the gclient tool provided by +# Google in their depot-tools package. To use the source code, we must use +# gclient to download the flutter-engine source code along with several other +# projects. Unfortunately, the Buildroot download system does not have the +# capability of using gclient, and considering this package is the only +# package that uses gclient, we side-step the entire download process and +# perform the following steps if a tarball does not exist already: +# +# - Copy the pre-made gclient config file to a temporary scratch directory. +# - Run gclient sync to generate a source directory with the proper +# flutter-engine source code in the correct places. +# - Create a source tarball. +# - Copy the source tarball to the $(FLUTTER_ENGINE_DL_DIR) directory. +# +# There is no hash provided, as the gn binary (used for configuration) relies +# on the .git directories. As such, a reproducible tarball is not possible. +FLUTTER_ENGINE_VERSION = 3.16.8 + +# There is nothing for Buildroot to download. This is handled by gclient. +FLUTTER_ENGINE_SITE = +FLUTTER_ENGINE_SOURCE = +FLUTTER_ENGINE_LICENSE = BSD-3-Clause +FLUTTER_ENGINE_LICENSE_FILES = LICENSE +FLUTTER_ENGINE_TARBALL_PATH = $(FLUTTER_ENGINE_DL_DIR)/flutter-$(FLUTTER_ENGINE_VERSION).tar.gz +FLUTTER_ENGINE_INSTALL_STAGING = YES +FLUTTER_ENGINE_DOWNLOAD_DEPENDENCIES = host-depot-tools +FLUTTER_ENGINE_DEPENDENCIES = \ + host-flutter-sdk-bin \ + host-ninja \ + host-pkgconf \ + freetype \ + zlib + +# Dispatch all architectures of flutter +# FLUTTER_ENGINE_TARGET_TRIPPLE must match the directory name found in +# buildtools/linux-x64/clang/lib/clang/*/lib +ifeq ($(BR2_aarch64),y) +FLUTTER_ENGINE_TARGET_ARCH = arm64 +FLUTTER_ENGINE_TARGET_TRIPPLE = aarch64-unknown-linux-gnu +else ifeq ($(BR2_arm)$(BR2_armeb),y) +FLUTTER_ENGINE_TARGET_ARCH = arm +FLUTTER_ENGINE_TARGET_TRIPPLE = armv7-unknown-linux-gnueabihf +else ifeq ($(BR2_x86_64),y) +FLUTTER_ENGINE_TARGET_ARCH = x64 +FLUTTER_ENGINE_TARGET_TRIPPLE = x86_64-unknown-linux-gnu +endif + +ifeq ($(FLUTTER_ENGINE_RUNTIME_MODE_PROFILE),y) +FLUTTER_ENGINE_RUNTIME_MODE=profile +else ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y) +FLUTTER_ENGINE_RUNTIME_MODE=debug +else +FLUTTER_ENGINE_RUNTIME_MODE=release +endif + +FLUTTER_ENGINE_BUILD_DIR = \ + $(@D)/out/linux_$(FLUTTER_ENGINE_RUNTIME_MODE)_$(FLUTTER_ENGINE_TARGET_ARCH) + +FLUTTER_ENGINE_INSTALL_FILES = libflutter_engine.so + +# Flutter engine includes a bundled patched clang that must be used for +# compiling or else there are linking errors. +FLUTTER_ENGINE_CLANG_PATH = $(@D)/buildtools/linux-x64/clang + +FLUTTER_ENGINE_CONF_OPTS = \ + --clang \ + --embedder-for-target \ + --linux-cpu $(FLUTTER_ENGINE_TARGET_ARCH) \ + --no-build-embedder-examples \ + --no-clang-static-analyzer \ + --no-enable-unittests \ + --no-goma \ + --no-prebuilt-dart-sdk \ + --no-stripped \ + --runtime-mode $(FLUTTER_ENGINE_RUNTIME_MODE) \ + --target-os linux \ + --target-sysroot $(STAGING_DIR) \ + --target-toolchain $(FLUTTER_ENGINE_CLANG_PATH) \ + --target-triple $(FLUTTER_ENGINE_TARGET_TRIPPLE) + +ifeq ($(BR2_arm)$(BR2_armeb),y) +FLUTTER_ENGINE_CONF_OPTS += \ + --arm-float-abi $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) +endif + +# We must specify a full path to ccache and a full path to the flutter-engine +# provided clang in order to use ccache, or else flutter-engine will error out +# attempting to find ccache in the target-toolchain provided path. +ifeq ($(BR2_CCACHE),y) +define FLUTTER_ENGINE_COMPILER_PATH_FIXUP + $(SED) "s%cc =.*%cc = \"$(HOST_DIR)/bin/ccache $(FLUTTER_ENGINE_CLANG_PATH)/bin/clang\""%g \ + $(@D)/build/toolchain/custom/BUILD.gn + + $(SED) "s%cxx =.*%cxx = \"$(HOST_DIR)/bin/ccache $(FLUTTER_ENGINE_CLANG_PATH)/bin/clang++\""%g \ + $(@D)/build/toolchain/custom/BUILD.gn +endef +FLUTTER_ENGINE_PRE_CONFIGURE_HOOKS += FLUTTER_ENGINE_COMPILER_PATH_FIXUP +endif + +ifeq ($(BR2_ENABLE_LTO),y) +FLUTTER_ENGINE_CONF_OPTS += --lto +else +FLUTTER_ENGINE_CONF_OPTS += --no-lto +endif + +ifeq ($(BR2_OPTIMIZE_0),y) +FLUTTER_ENGINE_CONF_OPTS += --unoptimized +endif + +# There is no --disable-fontconfig option. +ifeq ($(BR2_PACKAGE_FONTCONFIG),y) +FLUTTER_ENGINE_DEPENDENCIES += fontconfig +FLUTTER_ENGINE_CONF_OPTS += --enable-fontconfig +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) +FLUTTER_ENGINE_DEPENDENCIES += libgl +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) +FLUTTER_ENGINE_DEPENDENCIES += libgles +FLUTTER_ENGINE_CONF_OPTS += --enable-impeller-opengles +endif + +ifeq ($(BR2_PACKAGE_LIBGLFW),y) +FLUTTER_ENGINE_DEPENDENCIES += libglfw +FLUTTER_ENGINE_CONF_OPTS += --build-glfw-shell +else +FLUTTER_ENGINE_CONF_OPTS += --no-build-glfw-shell +endif + +ifeq ($(BR2_PACKAGE_LIBGTK3),y) +FLUTTER_ENGINE_DEPENDENCIES += libgtk3 +FLUTTER_ENGINE_INSTALL_FILES += libflutter_linux_gtk.so +else +FLUTTER_ENGINE_CONF_OPTS += --disable-desktop-embeddings +endif + +# There is no --disable-vulkan option +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),y) +FLUTTER_ENGINE_CONF_OPTS += --enable-vulkan --enable-impeller-vulkan +endif + +ifeq ($(BR2_PACKAGE_XORG7)$(BR2_PACKAGE_LIBXCB),yy) +FLUTTER_ENGINE_DEPENDENCIES += libxcb +else +define FLUTTER_ENGINE_VULKAN_X11_SUPPORT_FIXUP + $(SED) "s%vulkan_use_x11.*%vulkan_use_x11 = false%g" -i \ + $(@D)/build_overrides/vulkan_headers.gni +endef +FLUTTER_ENGINE_PRE_CONFIGURE_HOOKS += FLUTTER_ENGINE_VULKAN_X11_SUPPORT_FIXUP +endif + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +FLUTTER_ENGINE_DEPENDENCIES += wayland +else +define FLUTTER_ENGINE_VULKAN_WAYLAND_SUPPORT_FIXUP + $(SED) "s%vulkan_use_wayland.*%vulkan_use_wayland = false%g" \ + $(@D)/build_overrides/vulkan_headers.gni +endef +FLUTTER_ENGINE_PRE_CONFIGURE_HOOKS += FLUTTER_ENGINE_VULKAN_WAYLAND_SUPPORT_FIXUP +endif + +# Generate a tarball if one does not already exist. +define FLUTTER_ENGINE_GENERATE_TARBALL + PATH=$(HOST_DIR)/share/depot_tools:$(BR_PATH) \ + PYTHONPATH=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR) \ + PUB_CACHE=$(FLUTTER_SDK_BIN_PUB_CACHE) \ + $(FLUTTER_ENGINE_PKGDIR)/gen-tarball \ + --dot-gclient $(TOPDIR)/$(FLUTTER_ENGINE_PKGDIR)/dot-gclient \ + --jobs $(PARALLEL_JOBS) \ + --scratch-dir $(@D)/dl-tmp \ + --tarball-dl-path $(FLUTTER_ENGINE_TARBALL_PATH) \ + --version $(FLUTTER_ENGINE_VERSION) +endef +FLUTTER_ENGINE_POST_DOWNLOAD_HOOKS += FLUTTER_ENGINE_GENERATE_TARBALL + +define FLUTTER_ENGINE_EXTRACT_CMDS + $(call suitable-extractor,$(FLUTTER_ENGINE_TARBALL_PATH)) $(FLUTTER_ENGINE_TARBALL_PATH) \ + | $(TAR) --strip-components=1 -C $(@D) $(TAR_OPTIONS) - +endef + +# We must set the home directory to the sdk directory or else flutter will +# place .dart, and .flutter in ~/. +define FLUTTER_ENGINE_CONFIGURE_CMDS + cd $(@D) && \ + rm -rf $(FLUTTER_ENGINE_BUILD_DIR) && \ + PATH=$(HOST_DIR)/share/depot_tools:$(BR_PATH) \ + PUB_CACHE=$(FLUTTER_SDK_BIN_PUB_CACHE) \ + HOME=$(HOST_FLUTTER_SDK_BIN_SDK) \ + ./flutter/tools/gn \ + $(FLUTTER_ENGINE_CONF_OPTS) +endef + +define FLUTTER_ENGINE_BUILD_CMDS + cd $(@D) && \ + PATH=$(HOST_DIR)/share/depot_tools:$(BR_PATH) \ + PUB_CACHE=$(FLUTTER_SDK_BIN_PUB_CACHE) \ + HOME=$(HOST_FLUTTER_SDK_BIN_SDK) \ + $(HOST_DIR)/bin/ninja \ + -j $(PARALLEL_JOBS) \ + -C $(FLUTTER_ENGINE_BUILD_DIR) +endef + +# Flutter-engine builds several host applications use for flutter development. +# One of those applications is gen_snapshot, which turns applications into +# usable .so files for the target architecture. Compiling a host version of +# flutter-engine would result in binaries producing host-architecture +# flutter applications .so files. As such, copy gen_snapshot to the host +# directory here and name it flutter_gen_snapshot for clarity. +FLUTTER_ENGINE_GEN_SNAPSHOT = $(HOST_DIR)/bin/flutter_gen_snapshot +define FLUTTER_ENGINE_INSTALL_GEN_SNAPSHOT + $(INSTALL) -D -m 0755 $(FLUTTER_ENGINE_BUILD_DIR)/clang_x64/gen_snapshot \ + $(HOST_DIR)/bin/flutter_gen_snapshot +endef +FLUTTER_ENGINE_POST_INSTALL_STAGING_HOOKS += FLUTTER_ENGINE_INSTALL_GEN_SNAPSHOT + +define FLUTTER_ENGINE_INSTALL_STAGING_CMDS + $(foreach i,$(FLUTTER_ENGINE_INSTALL_FILES), + $(INSTALL) -D -m 0755 $(FLUTTER_ENGINE_BUILD_DIR)/so.unstripped/$(i) \ + $(STAGING_DIR)/usr/lib/$(i); \ + ) + $(INSTALL) -D -m 0755 $(FLUTTER_ENGINE_BUILD_DIR)/flutter_embedder.h \ + $(STAGING_DIR)/usr/include/flutter_embedder.h + + $(INSTALL) -D -m 0755 $(FLUTTER_ENGINE_BUILD_DIR)/icudtl.dat \ + $(STAGING_DIR)/usr/share/flutter/$(FLUTTER_ENGINE_RUNTIME_MODE)/data/icudtl.dat +endef + +define FLUTTER_ENGINE_INSTALL_TARGET_CMDS + $(foreach i,$(FLUTTER_ENGINE_INSTALL_FILES), + $(INSTALL) -D -m 0755 $(FLUTTER_ENGINE_BUILD_DIR)/so.unstripped/$(i) \ + $(TARGET_DIR)/usr/lib/$(i); \ + ) + $(INSTALL) -D -m 0755 $(FLUTTER_ENGINE_BUILD_DIR)/icudtl.dat \ + $(TARGET_DIR)/usr/share/flutter/$(FLUTTER_ENGINE_RUNTIME_MODE)/data/icudtl.dat +endef + +$(eval $(generic-package)) diff --git a/package/flutter-engine/gen-tarball b/package/flutter-engine/gen-tarball new file mode 100755 index 0000000000..2d2117b9be --- /dev/null +++ b/package/flutter-engine/gen-tarball @@ -0,0 +1,93 @@ +#!/usr/bin/env bash +# Call gclient and generate a flutter-engine source tarball if one does not +# already exist. +set -eu + +DL_DIR= +DOT_GCLIENT= +JOBS= +SCRATCH_DIR= +TARBALL_DL_PATH= +VERSION= +TARBALL_NAME= + +term_bold="$(tput smso 2>/dev/null || true)" +term_reset="$(tput rmso 2>/dev/null || true)" + +# Print status messages in the same style Buildroot prints. +message() { + printf "%s>>> flutter-engine %s %s%s\n" "${term_bold}" "${VERSION}" "${1}" "${term_reset}" +} + +parse_opts() { + local o O opts + + o='d:j:s:t:v:' + O='dot-gclient:,jobs:,scratch-dir:,tarball-dl-path:,version:' + opts="$(getopt -o "${o}" -l "${O}" -- "${@}")" + eval set -- "${opts}" + + while [ ${#} -gt 0 ]; do + case "${1}" in + (-d|--dot-gclient) DOT_GCLIENT="${2}"; shift 2;; + (-j|--jobs) JOBS="${2}"; shift 2;; + (-s|--scratch-dir) SCRATCH_DIR="${2}"; shift 2;; + (-t|--tarball-dl-path) DL_DIR=$(dirname "${2}"); TARBALL_DL_PATH="${2}"; shift 2;; + (-v|--version) VERSION="${2}"; TARBALL_NAME=flutter-"${VERSION}".tar.gz; shift 2;; + (--) shift; break;; + esac + done +} + +prepare() { + rm -rf "${SCRATCH_DIR}" + mkdir -p "${SCRATCH_DIR}" + pushd "${SCRATCH_DIR}" >/dev/null +} + +copy_dot_gclient() { + sed "s%!FLUTTER_VERSION!%${VERSION}%g" "${DOT_GCLIENT}" >.gclient +} + +run_gclient() { + message "Downloading" + gclient.py \ + sync \ + --delete_unversioned_trees \ + --no-history \ + --reset \ + --shallow \ + -j"${JOBS}" +} + +gen_tarball() { + message "Generating tarball" + mkdir -p "${DL_DIR}" + # There are two issues with the flutter-engine buildsystem: + # - it expects empty directories created by gclient.py to be present; that + # means we can't use the mk_tar_gz helper method from support/download/helpers, + # becasue it does not include emnpty directories; + # - it insists on having a full git repositoy, with .git et al., which means + # we can't generate a reproducible archive anyway. + # So we jsut create a plain tarball. + tar -C "${SCRATCH_DIR}"/src -czf "${TARBALL_NAME}" . + mv "${TARBALL_NAME}" "${TARBALL_DL_PATH}" +} + +cleanup() { + popd >/dev/null + rm -rf "${SCRATCH_DIR}" +} + +main() { + parse_opts "${@}" + if [[ ! -e "${TARBALL_DL_PATH}" ]]; then + prepare + copy_dot_gclient + run_gclient + gen_tarball + cleanup + fi +} + +main "${@}" diff --git a/package/flutter-gallery/0001-remove-GetStorage.patch b/package/flutter-gallery/0001-remove-GetStorage.patch new file mode 100644 index 0000000000..142cf853da --- /dev/null +++ b/package/flutter-gallery/0001-remove-GetStorage.patch @@ -0,0 +1,84 @@ +From a1d38d78163d84d3506c188e195cd5fa363f4be6 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Thu, 17 Aug 2023 13:00:07 -0600 +Subject: [PATCH] remove GetStorage + +Commit 287b20a8bfc71196cd733625e622b98b2f84bef1 introduced the get_storage +plugin which breaks with the following error when the application is ran: + +Unhandled Exception: MissingPluginException(No implementation found for method +getApplicataionDocumentsDirectory on channel plugins.flutter.io/path_provider) + +Revert the change. + +Upstream: https://github.com/flutter/gallery/issues/994 +Signed-off-by: Adam Duskett +--- + lib/feature_discovery/feature_discovery.dart | 10 ---------- + lib/main.dart | 2 -- + pubspec.yaml | 1 - + 3 files changed, 13 deletions(-) + +diff --git a/lib/feature_discovery/feature_discovery.dart b/lib/feature_discovery/feature_discovery.dart +index 288c78b..965d83c 100644 +--- a/lib/feature_discovery/feature_discovery.dart ++++ b/lib/feature_discovery/feature_discovery.dart +@@ -6,7 +6,6 @@ import 'package:flutter/material.dart'; + import 'package:flutter/scheduler.dart'; + import 'package:gallery/feature_discovery/animation.dart'; + import 'package:gallery/feature_discovery/overlay.dart'; +-import 'package:get_storage/get_storage.dart'; + + const _featureHighlightShownKey = 'feature_highlight_shown'; + +@@ -271,15 +270,6 @@ class _FeatureDiscoveryState extends State + + initAnimationControllers(); + initAnimations(); +- +- final localStorage = GetStorage(); +- final featureHiglightShown = +- localStorage.read(_featureHighlightShownKey) ?? false; +- localStorage.write(_featureHighlightShownKey, true); +- showOverlay = widget.showOverlay && !featureHiglightShown; +- if (showOverlay) { +- localStorage.write(_featureHighlightShownKey, true); +- } + } + + void initAnimationControllers() { +diff --git a/lib/main.dart b/lib/main.dart +index e9f4ff9..8c7a4e3 100644 +--- a/lib/main.dart ++++ b/lib/main.dart +@@ -16,7 +16,6 @@ import 'package:gallery/pages/backdrop.dart'; + import 'package:gallery/pages/splash.dart'; + import 'package:gallery/routes.dart'; + import 'package:gallery/themes/gallery_theme_data.dart'; +-import 'package:get_storage/get_storage.dart'; + import 'package:google_fonts/google_fonts.dart'; + + import 'firebase_options.dart'; +@@ -26,7 +25,6 @@ export 'package:gallery/data/demos.dart' show pumpDeferredLibraries; + + void main() async { + GoogleFonts.config.allowRuntimeFetching = false; +- await GetStorage.init(); + + if (defaultTargetPlatform != TargetPlatform.linux && + defaultTargetPlatform != TargetPlatform.windows && +diff --git a/pubspec.yaml b/pubspec.yaml +index 964edad..4b00e40 100644 +--- a/pubspec.yaml ++++ b/pubspec.yaml +@@ -24,7 +24,6 @@ dependencies: + firebase_core: ^2.7.0 + firebase_crashlytics: ^3.1.1 + firebase_performance: ^0.9.0+14 +- get_storage: ^2.1.1 + google_fonts: ^5.0.0 + intl: any # An exact version pin will be provided by the Flutter SDK + meta: ^1.7.0 +-- +2.41.0 + diff --git a/package/flutter-gallery/Config.in b/package/flutter-gallery/Config.in new file mode 100644 index 0000000000..224457ea6f --- /dev/null +++ b/package/flutter-gallery/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_FLUTTER_GALLERY + bool "flutter-gallery" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE + select BR2_PACKAGE_HOST_FLUTTER_SDK_BIN + help + Flutter Gallery is a resource to help developers evaluate + and use Flutter. It is a collection of Material Design & + Cupertino widgets, behaviors, and vignettes implemented + with Flutter. + + https://github.com/flutter/gallery + +comment "flutter-gallery needs flutter-engine" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on !BR2_PACKAGE_FLUTTER_ENGINE diff --git a/package/flutter-gallery/flutter-gallery.hash b/package/flutter-gallery/flutter-gallery.hash new file mode 100644 index 0000000000..aea1ed39be --- /dev/null +++ b/package/flutter-gallery/flutter-gallery.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 14272aba90b7d26db33bac7b4692f0e3ed1a008286a08eaf2ea79abd478f23e9 flutter-gallery-2.10.2.tar.gz +sha256 c731cf5a33db0e12647e0680ef0bc7839f99749404ac1ba4626cf7192065b3b0 LICENSE diff --git a/package/flutter-gallery/flutter-gallery.mk b/package/flutter-gallery/flutter-gallery.mk new file mode 100644 index 0000000000..acad706dae --- /dev/null +++ b/package/flutter-gallery/flutter-gallery.mk @@ -0,0 +1,57 @@ +################################################################################ +# +# flutter-gallery +# +################################################################################ + +FLUTTER_GALLERY_VERSION = 2.10.2 +FLUTTER_GALLERY_SITE = $(call github,flutter,gallery,v$(FLUTTER_GALLERY_VERSION)) +FLUTTER_GALLERY_LICENSE = BSD-3-Clause +FLUTTER_GALLERY_LICENSE_FILES = LICENSE +FLUTTER_GALLERY_DEPENDENCIES = \ + host-flutter-sdk-bin \ + flutter-engine + +FLUTTER_GALLERY_INSTALL_DIR = $(TARGET_DIR)/usr/share/flutter/gallery/$(FLUTTER_ENGINE_RUNTIME_MODE) + +define FLUTTER_GALLERY_CONFIGURE_CMDS + cd $(@D) && \ + FLUTTER_RUNTIME_MODES=$(FLUTTER_ENGINE_RUNTIME_MODE) \ + $(HOST_FLUTTER_SDK_BIN_FLUTTER) clean && \ + $(HOST_FLUTTER_SDK_BIN_FLUTTER) pub get && \ + $(HOST_FLUTTER_SDK_BIN_FLUTTER) build bundle +endef + +define FLUTTER_GALLERY_BUILD_CMDS + cd $(@D) && \ + FLUTTER_RUNTIME_MODES=$(FLUTTER_ENGINE_RUNTIME_MODE) \ + $(HOST_FLUTTER_SDK_BIN_DART_BIN) \ + -Dflutter.dart_plugin_registrant=file://$(@D)/.dart_tool/flutter_build/dart_plugin_registrant.dart \ + --source file://$(@D)/.dart_tool/flutter_build/dart_plugin_registrant.dart \ + --source package:flutter/src/dart_plugin_registrant.dart \ + --native-assets $(@D)/.dart_tool/flutter_build/*/native_assets.yaml \ + package:gallery/main.dart && \ + $(HOST_FLUTTER_SDK_BIN_ENV) $(FLUTTER_ENGINE_GEN_SNAPSHOT) \ + --deterministic \ + --obfuscate \ + --snapshot_kind=app-aot-elf \ + --elf=libapp.so \ + .dart_tool/flutter_build/*/app.dill +endef + +define FLUTTER_GALLERY_INSTALL_TARGET_CMDS + mkdir -p $(FLUTTER_GALLERY_INSTALL_DIR)/{data,lib} + cp -dprf $(@D)/build/flutter_assets $(FLUTTER_GALLERY_INSTALL_DIR)/data/ + + $(INSTALL) -D -m 0755 $(@D)/libapp.so \ + $(FLUTTER_GALLERY_INSTALL_DIR)/lib/libapp.so + + ln -sf /usr/share/flutter/$(FLUTTER_ENGINE_RUNTIME_MODE)/data/icudtl.dat \ + $(FLUTTER_GALLERY_INSTALL_DIR)/data/ + + ln -sf /usr/lib/libflutter_engine.so $(FLUTTER_GALLERY_INSTALL_DIR)/lib/ + $(RM) $(FLUTTER_GALLERY_INSTALL_DIR)/data/flutter_assets/kernel_blob.bin + touch $(FLUTTER_GALLERY_INSTALL_DIR)/data/flutter_assets/kernel_blob.bin +endef + +$(eval $(generic-package)) diff --git a/package/flutter-pi/Config.in b/package/flutter-pi/Config.in new file mode 100644 index 0000000000..223e29749c --- /dev/null +++ b/package/flutter-pi/Config.in @@ -0,0 +1,112 @@ +menuconfig BR2_PACKAGE_FLUTTER_PI + bool "flutter-pi" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_5 # flutter-engine + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # flutter-engine + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # flutter-engine + depends on BR2_TOOLCHAIN_USES_GLIBC # flutter-engine + depends on BR2_INSTALL_LIBSTDCPP # flutter-engine + depends on !BR2_STATIC_LIBS # flutter-engine, wayland + depends on BR2_USE_WCHAR # flutter-engine + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES # flutter-engine + depends on BR2_PACKAGE_HAS_LIBGBM + depends on BR2_PACKAGE_SYSTEMD # Event loop and dbus support + depends on BR2_PACKAGE_HAS_UDEV # libinput + select BR2_PACKAGE_HOST_FLUTTER_SDK_BIN + select BR2_PACKAGE_FLUTTER_ENGINE + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBINPUT + select BR2_PACKAGE_LIBXKBCOMMON + help + A light-weight Flutter Engine Embedder. Flutter-pi also + runs without X11, so you don't need to boot into a + Desktop & have X11 or Wayland load up; just boot into the + command-line. + + Although flutter-pi is only tested on a Rasberry Pi 4 + 2GB, it should work fine on other linux platforms supported + by Flutter so long as there is support for KMS and DRI. + + https://github.com/ardera/flutter-pi + +if BR2_PACKAGE_FLUTTER_PI + +comment "plugins" + +config BR2_PACKAGE_FLUTTER_PI_CHARSET_CONVERTER_PLUGIN + bool "charset converter" + help + Adds platform-side implementation of charset_converter plugin. + + Encode and decode charsets using platform built-in converter. + This plugin saves app package size as you don't need external + charset maps or whole libraries like iconv. + + https://pub.dev/packages/charset_converter + +config BR2_PACKAGE_FLUTTER_PI_GSTREAMER_AUDIO_PLAYER_PLUGIN + bool "gstreamer audio player" + select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME + help + Include the gstreamer based audio plugins in the finished + binary. + +config BR2_PACKAGE_FLUTTER_PI_GSTREAMER_VIDEO_PLAYER_PLUGIN + bool "gstreamer video player" + depends on BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2 + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE + help + Include the gstreamer based video plugins in the finished + binary. Allows for more stable, hardware accelerated + video playback in flutter using gstreamer. + +comment "gstreamer video player plugin needs an OpenGL ES backend" + depends on !BR2_PACKAGE_HAS_LIBGLES + +config BR2_PACKAGE_FLUTTER_PI_RAW_KEYBOARD_PLUGIN + bool "raw keyboard" + help + Include the raw keyboard plugin in the finished binary. + Enables raw keycode listening in flutter via the flutter + RawKeyboard interface. + +config BR2_PACKAGE_FLUTTER_PI_TEXT_INPUT_PLUGIN + bool "text input" + help + Include the text input plugin in the finished binary. + Enables text input (to flutter text fields, for example) + via attached keyboards. + +endif + +comment "flutter-pi needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || BR2_STATIC_LIBS \ + || !BR2_USE_WCHAR || !BR2_HOST_GCC_AT_LEAST_5 + +comment "flutter-pi needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + +comment "flutter-pi needs an OpenGL or OpenGLES backend" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES + +comment "flutter-pi needs GBM, systemd, and udev" + depends on !BR2_PACKAGE_HAS_LIBGBM || \ + !BR2_PACKAGE_SYSTEMD || \ + !BR2_PACKAGE_HAS_UDEV diff --git a/package/flutter-pi/flutter-pi.hash b/package/flutter-pi/flutter-pi.hash new file mode 100644 index 0000000000..df47d666bd --- /dev/null +++ b/package/flutter-pi/flutter-pi.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 6b11f260567a4589915cf29ce2ffa62b6f80414242a65c616f01983ae3a177b7 flutter-pi-75e72fef8e8ce65ec72a002c00d9c6db4d1479d3-br1.tar.gz +sha256 b34df9d3e1b4e5d1ba70b1740ec74b69f1189b44efd0c96b898b074ef8db1c70 LICENSE diff --git a/package/flutter-pi/flutter-pi.mk b/package/flutter-pi/flutter-pi.mk new file mode 100644 index 0000000000..9edc62e7ac --- /dev/null +++ b/package/flutter-pi/flutter-pi.mk @@ -0,0 +1,97 @@ +################################################################################ +# +# flutter-pi +# +################################################################################ + +FLUTTER_PI_VERSION = 75e72fef8e8ce65ec72a002c00d9c6db4d1479d3 +FLUTTER_PI_SITE = https://github.com/ardera/flutter-pi.git +FLUTTER_PI_SITE_METHOD = git +FLUTTER_PI_LICENSE = MIT +FLUTTER_PI_LICENSE_FILES = LICENSE +FLUTTER_PI_DEPENDENCIES = \ + flutter-engine \ + libinput \ + libxkbcommon \ + systemd + +FLUTTER_PI_CONF_OPTS = \ + -DDEBUG_DRM_PLANE_ALLOCATIONS=OFF \ + -DDUMP_ENGINE_LAYERS=OFF \ + -DENABLE_ASAN=OFF \ + -DENABLE_MTRACE=OFF \ + -DENABLE_SOFTWARE=OFF \ + -DENABLE_TESTS=OFF \ + -DENABLE_TSAN=OFF \ + -DENABLE_UBSAN=OFF \ + -DFILESYSTEM_LAYOUT=meta-flutter \ + -DLINT_EGL_HEADERS=OFF \ + -DTRY_BUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN=OFF \ + -DTRY_BUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN=OFF \ + -DTRY_ENABLE_OPENGL=OFF \ + -DTRY_ENABLE_SESSION_SWITCHING=OFF \ + -DTRY_ENABLE_VULKAN=OFF \ + -DVULKAN_DEBUG="OFF" \ + -DUSE_LEGACY_KMS=OFF \ + -DWARN_MISSING_FIELD_INITIALIZERS=OFF + +ifeq ($(BR2_ENABLE_LTO),y) +FLUTTER_PI_CONF_OPTS += -DLTO=ON +else +FLUTTER_PI_CONF_OPTS += -DLTO=OFF +endif + +ifeq ($(BR2_PACKAGE_FLUTTER_PI_CHARSET_CONVERTER_PLUGIN),y) +FLUTTER_PI_CONF_OPTS += -DBUILD_CHARSET_CONVERTER_PLUGIN=ON +else +FLUTTER_PI_CONF_OPTS += -DBUILD_CHARSET_CONVERTER_PLUGIN=OFF +endif + +ifeq ($(BR2_PACKAGE_FLUTTER_PI_GSTREAMER_AUDIO_PLAYER_PLUGIN),y) +FLUTTER_PI_DEPENDENCIES += gstreamer1 gst1-plugins-base +FLUTTER_PI_CONF_OPTS += -DBUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN=ON +else +FLUTTER_PI_CONF_OPTS += -DBUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN=OFF +endif + +ifeq ($(BR2_PACKAGE_FLUTTER_PI_GSTREAMER_VIDEO_PLAYER_PLUGIN),y) +FLUTTER_PI_DEPENDENCIES += gstreamer1 gst1-plugins-base +FLUTTER_PI_CONF_OPTS += -DBUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN=ON +else +FLUTTER_PI_CONF_OPTS += -DBUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN=OFF +endif + +ifeq ($(BR2_PACKAGE_FLUTTER_PI_RAW_KEYBOARD_PLUGIN),y) +FLUTTER_PI_CONF_OPTS += -DBUILD_RAW_KEYBOARD_PLUGIN=ON +else +FLUTTER_PI_CONF_OPTS += -DBUILD_RAW_KEYBOARD_PLUGIN=OFF +endif + +ifeq ($(BR2_PACKAGE_FLUTTER_PI_TEXT_INPUT_PLUGIN),y) +FLUTTER_PI_DEPENDENCIES += libinput libxkbcommon +FLUTTER_PI_CONF_OPTS += -DBUILD_TEXT_INPUT_PLUGIN=ON +else +FLUTTER_PI_CONF_OPTS += -DBUILD_TEXT_INPUT_PLUGIN=OFF +endif + +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER)$(BR2_PACKAGE_VULKAN_LOADER),yy) +FLUTTER_PI_DEPENDENCIES += mesa3d vulkan-loader +FLUTTER_PI_CONF_OPTS += -DENABLE_VULKAN=ON +else +FLUTTER_PI_CONF_OPTS += -DENABLE_VULKAN=OFF +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) +FLUTTER_PI_CONF_OPTS += -DENABLE_OPENGL=ON +else +FLUTTER_PI_CONF_OPTS += -DENABLE_OPENGL=OFF +endif + +ifeq ($(BR2_PACKAGE_SEATD),y) +FLUTTER_PI_DEPENDENCIES += seatd +FLUTTER_PI_CONF_OPTS += -DENABLE_SESSION_SWITCHING=ON +else +FLUTTER_PI_CONF_OPTS += -DENABLE_SESSION_SWITCHING=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/flutter-sdk-bin/Config.in.host b/package/flutter-sdk-bin/Config.in.host new file mode 100644 index 0000000000..181a2ee6e5 --- /dev/null +++ b/package/flutter-sdk-bin/Config.in.host @@ -0,0 +1,15 @@ +config BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + bool + default y if BR2_HOSTARCH = "x86_64" + +config BR2_PACKAGE_HOST_FLUTTER_SDK_BIN + bool "host flutter-sdk-bin" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + help + Flutter is Google's SDK for crafting beautiful, fast user + experiences for mobile, web, and desktop from a single + codebase. Flutter works with existing code, is used by + developers and organizations around the world, and is + free and open source. + + https://flutter.dev/ diff --git a/package/flutter-sdk-bin/flutter-sdk-bin.hash b/package/flutter-sdk-bin/flutter-sdk-bin.hash new file mode 100644 index 0000000000..48c9c7d7e3 --- /dev/null +++ b/package/flutter-sdk-bin/flutter-sdk-bin.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7cb12032cf615a92a7bc9042100f3f2af62df7df3ca3bee27f4b153fe218b239 flutter_linux_3.16.8-stable.tar.xz +sha256 a598db94b6290ffbe10b5ecf911057b6a943351c727fdda9e5f2891d68700a20 LICENSE diff --git a/package/flutter-sdk-bin/flutter-sdk-bin.mk b/package/flutter-sdk-bin/flutter-sdk-bin.mk new file mode 100644 index 0000000000..0d9a44596d --- /dev/null +++ b/package/flutter-sdk-bin/flutter-sdk-bin.mk @@ -0,0 +1,104 @@ +################################################################################ +# +# host-flutter-sdk-bin +# +################################################################################ + +FLUTTER_SDK_BIN_VERSION = 3.16.8 +FLUTTER_SDK_BIN_SITE = https://storage.googleapis.com/flutter_infra_release/releases/stable/linux +FLUTTER_SDK_BIN_SOURCE = flutter_linux_$(FLUTTER_SDK_BIN_VERSION)-stable.tar.xz +FLUTTER_SDK_BIN_LICENSE = BSD-3-Clause +FLUTTER_SDK_BIN_LICENSE_FILES = LICENSE + +HOST_FLUTTER_SDK_BIN_SDK = $(HOST_DIR)/share/flutter/sdk +HOST_FLUTTER_SDK_BIN_DART_SDK = $(HOST_FLUTTER_SDK_BIN_SDK)/bin/cache/dart-sdk +HOST_FLUTTER_SDK_BIN_SDK_ENGINE = $(HOST_FLUTTER_SDK_BIN_SDK)/bin/cache/artifacts/engine + +# We must set the home directory to the sdk directory or else flutter will +# place .dart, .dart-sdk, and .flutter in ~/. +HOST_FLUTTER_SDK_BIN_ENV = \ + HOME=$(HOST_FLUTTER_SDK_BIN_SDK) \ + PATH=$(BR_PATH):$(HOST_FLUTTER_SDK_BIN_SDK):$(HOST_FLUTTER_SDK_BIN_SDK)/bin \ + PUB_CACHE=$(FLUTTER_SDK_BIN_PUB_CACHE) + +# The following config options must be ran one at a time. +HOST_FLUTTER_SDK_BIN_CONF_OPTS = \ + --clear-features \ + --no-analytics \ + --disable-analytics \ + --enable-custom-devices \ + --enable-linux-desktop \ + --no-enable-android \ + --no-enable-fuchsia \ + --no-enable-ios \ + --no-enable-macos-desktop \ + --no-enable-windows-desktop + +define HOST_FLUTTER_SDK_BIN_CONFIGURE_CMDS + $(foreach i,$(HOST_FLUTTER_SDK_BIN_CONF_OPTS), + $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/flutter config $(i); \ + ) + $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/dart --disable-analytics +endef + +define HOST_FLUTTER_SDK_BIN_BUILD_CMDS + mkdir -p $(HOST_FLUTTER_SDK_BIN_SDK) + cd $(@D) && \ + $(HOST_FLUTTER_SDK_BIN_ENV) $(@D)/bin/flutter precache; +endef + +define HOST_FLUTTER_SDK_BIN_INSTALL_CMDS + cp -rpdT $(@D)/. $(HOST_FLUTTER_SDK_BIN_SDK)/ +endef + +ifeq ($(FLUTTER_ENGINE_RUNTIME_MODE_PROFILE),y) +HOST_FLUTTER_SDK_BIN_PROFILE_FLAGS = --track-widget-creation +HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = false +HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk +HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = true +else ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y) +HOST_FLUTTER_SDK_BIN_DEBUG_FLAGS = --enable-asserts +HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = false +HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk +HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = false +else +HOST_FLUTTER_SDK_BIN_SDK_PRODUCT = true +HOST_FLUTTER_SDK_BIN_SDK_ROOT = $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/common/flutter_patched_sdk_product +HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE = false +endif + +# The Order matters.Taken from: +# https://github.com/meta-flutter/meta-flutter/blob/kirkstone/classes/flutter-app.inc +HOST_FLUTTER_SDK_BIN_DART_ARGS = \ + --verbose \ + --disable-analytics \ + --disable-dart-dev $(HOST_FLUTTER_SDK_BIN_SDK_ENGINE)/linux-x64/frontend_server.dart.snapshot \ + --sdk-root $(HOST_FLUTTER_SDK_BIN_SDK_ROOT) \ + --target=flutter \ + --no-print-incremental-dependencies \ + -Ddart.vm.profile=$(HOST_FLUTTER_SDK_BIN_SDK_VM_PROFILE) \ + -Ddart.vm.product=$(HOST_FLUTTER_SDK_BIN_SDK_PRODUCT) \ + $(HOST_FLUTTER_SDK_BIN_DEBUG_FLAGS) \ + $(HOST_FLUTTER_SDK_BIN_PROFILE_FLAGS) \ + --aot \ + --tfa \ + --target-os linux \ + --packages .dart_tool/package_config.json \ + --output-dill .dart_tool/flutter_build/*/app.dill \ + --depfile .dart_tool/flutter_build/*/kernel_snapshot.d + +# Helper wrapper to run flutter when building flutter applications. +HOST_FLUTTER_SDK_BIN_FLUTTER = \ + $(HOST_FLUTTER_SDK_BIN_ENV) \ + $(HOST_FLUTTER_SDK_BIN_SDK)/bin/flutter + +# Helper wrapper to run dart when building flutter applications. +HOST_FLUTTER_SDK_BIN_DART_BIN = \ + $(HOST_FLUTTER_SDK_BIN_ENV) \ + $(HOST_FLUTTER_SDK_BIN_DART_SDK)/bin/dart \ + $(HOST_FLUTTER_SDK_BIN_DART_ARGS) + +$(eval $(host-generic-package)) + +# For target packages to locate said pub-cache +FLUTTER_SDK_BIN_PUB_CACHE = $(DL_DIR)/br-flutter-pub-cache diff --git a/package/fmc/Config.in b/package/fmc/Config.in index c89a87c99e..1c6ae5e80a 100644 --- a/package/fmc/Config.in +++ b/package/fmc/Config.in @@ -1,14 +1,14 @@ comment "fmc needs a toolchain w/ C++" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on !BR2_INSTALL_LIBSTDCPP comment "fmc needs a Linux kernel to be built" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_FMC bool "fmc" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_LINUX_KERNEL # fmlib select BR2_PACKAGE_TCLAP diff --git a/package/fmlib/Config.in b/package/fmlib/Config.in index 97d55d1250..459d5bf102 100644 --- a/package/fmlib/Config.in +++ b/package/fmlib/Config.in @@ -1,10 +1,10 @@ comment "fmlib needs a Linux kernel to be built" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_FMLIB bool "fmlib" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on BR2_LINUX_KERNEL help The Frame Manager library provides Freescale PowerPC platforms @@ -33,6 +33,10 @@ config BR2_FMLIB_QORIQ_FAMILY_T2080 bool "t208x" depends on BR2_powerpc_e6500 +config BR2_FMLIB_QORIQ_FAMILY_ARM + bool "arm" + depends on BR2_aarch64 + endchoice config BR2_PACKAGE_FMLIB_ARCHTYPE @@ -40,11 +44,13 @@ config BR2_PACKAGE_FMLIB_ARCHTYPE default "ppce500mc" if BR2_powerpc_e500mc default "ppc64e6500" if BR2_powerpc_e6500 && BR2_powerpc64 default "ppc32e6500" if BR2_powerpc_e6500 && BR2_powerpc + default "arm" if BR2_aarch64 config BR2_PACKAGE_FMLIB_PLATFORM string default "P4080" if BR2_FMLIB_QORIQ_FAMILY_P4080 default "T4240" if BR2_FMLIB_QORIQ_FAMILY_T4240 default "FMAN_V3H" if BR2_FMLIB_QORIQ_FAMILY_T2080 + default "arm" if BR2_aarch64 endif diff --git a/package/fmt/fmt.hash b/package/fmt/fmt.hash index 279f071262..5d46b3fe3b 100644 --- a/package/fmt/fmt.hash +++ b/package/fmt/fmt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4943cb165f3f587f26da834d3056ee8733c397e024145ca7d2a8a96bb71ac281 fmt-10.0.0.zip -sha256 07580f2a3b35709ce703d523f447b242f6dfec7582a8c0df102c7fa2849375f8 LICENSE.rst +sha256 312151a2d13c8327f5c9c586ac6cf7cddc1658e8f53edae0ec56509c8fa516c9 fmt-10.2.1.zip +sha256 07580f2a3b35709ce703d523f447b242f6dfec7582a8c0df102c7fa2849375f8 LICENSE diff --git a/package/fmt/fmt.mk b/package/fmt/fmt.mk index f2c94b8231..335efa7edf 100644 --- a/package/fmt/fmt.mk +++ b/package/fmt/fmt.mk @@ -4,11 +4,11 @@ # ################################################################################ -FMT_VERSION = 10.0.0 +FMT_VERSION = 10.2.1 FMT_SITE = https://github.com/fmtlib/fmt/releases/download/$(FMT_VERSION) FMT_SOURCE = fmt-$(FMT_VERSION).zip FMT_LICENSE = MIT with exception -FMT_LICENSE_FILES = LICENSE.rst +FMT_LICENSE_FILES = LICENSE FMT_CPE_ID_VENDOR = fmt FMT_INSTALL_STAGING = YES diff --git a/package/fontconfig/fontconfig.mk b/package/fontconfig/fontconfig.mk index d2eb76e40a..11758a4c80 100644 --- a/package/fontconfig/fontconfig.mk +++ b/package/fontconfig/fontconfig.mk @@ -18,7 +18,7 @@ HOST_FONTCONFIG_DEPENDENCIES = \ host-gettext FONTCONFIG_LICENSE = fontconfig license FONTCONFIG_LICENSE_FILES = COPYING -FONTCONFIG_CPE_ID_VENDOR = fontconfig_project +FONTCONFIG_CPE_ID_VALID = YES FONTCONFIG_CONF_OPTS = \ --with-arch=$(GNU_TARGET_NAME) \ diff --git a/package/foot/Config.in b/package/foot/Config.in new file mode 100644 index 0000000000..b0ec2e3926 --- /dev/null +++ b/package/foot/Config.in @@ -0,0 +1,37 @@ +config BR2_PACKAGE_FOOT + bool "foot" + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # fcft + depends on !BR2_STATIC_LIBS # wayland + select BR2_PACKAGE_FCFT + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LIBXKBCOMMON + select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_TLLIST + select BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS + help + A fast, lightweight and minimalistic Wayland terminal + emulator. + NOTE: foot needs a working UTF-8 locale (BR2_GENERATE_LOCALE) + + https://codeberg.org/dnkl/foot + +if BR2_PACKAGE_FOOT + +config BR2_PACKAGE_FOOT_GRAPHEME_CLUSTERING + bool "grapheme-clustering" + select BR2_PACKAGE_UTF8PROC + help + Enables grapheme clustering. + +config BR2_PACKAGE_FOOT_THEMES + bool "themes" + help + Install themes (predefined color schemes) + +endif # BR2_PACKAGE_FOOT + +comment "foot needs a glibc or musl toolchain w/ dynamic library" + depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \ + BR2_STATIC_LIBS diff --git a/package/foot/foot.hash b/package/foot/foot.hash new file mode 100644 index 0000000000..f3bf0f6058 --- /dev/null +++ b/package/foot/foot.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 8060ec28cbf6e2e3d408665330da4bc48fd094d4f1265d7c58dc75c767463c29 1.16.2.tar.gz +sha256 d534a23a31500a0ac958d9634b84f532bd73ff1aca1bb8f7debbcbebc16ff39a LICENSE diff --git a/package/foot/foot.mk b/package/foot/foot.mk new file mode 100644 index 0000000000..1595e2a718 --- /dev/null +++ b/package/foot/foot.mk @@ -0,0 +1,50 @@ +################################################################################ +# +# foot +# +################################################################################ + +FOOT_VERSION = 1.16.2 +FOOT_SOURCE = $(FOOT_VERSION).tar.gz +FOOT_SITE = https://codeberg.org/dnkl/foot/archive +FOOT_LICENSE = MIT +FOOT_LICENSE_FILES = LICENSE +FOOT_DEPENDENCIES = \ + fcft \ + fontconfig \ + freetype \ + libxkbcommon \ + pixman \ + tllist \ + wayland \ + wayland-protocols + +FOOT_CONF_OPTS = \ + -Ddocs=disabled \ + -Dtests=false + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +FOOT_DEPENDENCIES += systemd +endif + +ifeq ($(BR2_PACKAGE_LIBUTEMPTER),y) +FOOT_DEPENDENCIES += libutempter +FOOT_CONF_OPTS += -Dutmp-backend='libutempter' +else +FOOT_CONF_OPTS += -Dutmp-backend='none' +endif + +ifeq ($(BR2_PACKAGE_FOOT_GRAPHEME_CLUSTERING),y) +FOOT_DEPENDENCIES += utf8proc +FOOT_CONF_OPTS += -Dgrapheme-clustering=enabled +else +FOOT_CONF_OPTS += -Dgrapheme-clustering=disabled +endif + +ifeq ($(BR2_PACKAGE_FOOT_THEMES),y) +FOOT_CONF_OPTS += -Dthemes=true +else +FOOT_CONF_OPTS += -Dthemes=false +endif + +$(eval $(meson-package)) diff --git a/package/freeipmi/0001-add-disable-doc.patch b/package/freeipmi/0001-add-disable-doc.patch deleted file mode 100644 index e410d2b52f..0000000000 --- a/package/freeipmi/0001-add-disable-doc.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 5324c88632c021a87251370b03067d857e9a9892 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 2 Nov 2022 19:02:42 +0100 -Subject: [PATCH] add --disable-doc - -Allow the user to disable documentation through --disable-doc to avoid -the following build failure without makeinfo: - -/home/buildroot/autobuild/instance-0/output-1/build/freeipmi-1.6.10/config/missing: line 81: makeinfo: command not found -WARNING: 'makeinfo' is missing on your system. - You should only need it if you modified a '.texi' file, or - any other file indirectly affecting the aspect of the manual. - You might want to install the Texinfo package: - - The spurious makeinfo call might also be the consequence of - using a buggy 'make' (AIX, DU, IRIX), in which case you might - want to install GNU make: - -Makefile:442: recipe for target 'freeipmi-faq.info' failed - -Fixes: - - http://autobuild.buildroot.org/results/ac6ff1c746a354f885fc1674d10e7bff9e536134 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/chu11/freeipmi-mirror/pull/61] ---- - Makefile.am | 6 +++++- - configure.ac | 4 ++++ - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index cf757f634..d74952e30 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -3,7 +3,6 @@ - ACLOCAL_AMFLAGS = -I config - - SUBDIRS = \ -- doc \ - etc \ - common \ - libfreeipmi \ -@@ -33,6 +32,11 @@ SUBDIRS = \ - rmcpping \ - contrib - -+if ENABLE_DOC -+SUBDIRS += \ -+ doc -+endif -+ - PACKAGE = @PACKAGE@ - VERSION = @VERSION@ - -diff --git a/configure.ac b/configure.ac -index 54fdf6367..7a94b958b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -341,6 +341,10 @@ else - fi - AC_SUBST(WITH_DEBUG) - -+AC_ARG_ENABLE(doc, -+ AC_HELP_STRING([--disable-doc], [turn off documentation])) -+AM_CONDITIONAL(ENABLE_DOC, test "$enable_doc" != "no") -+ - dnl Allow advanced developers to compile with raw dumping - AC_ARG_ENABLE(rawdumps, - AC_HELP_STRING([--enable-rawdumps], [output raw packet dumps when debugging])) --- -2.35.1 - diff --git a/package/freeipmi/freeipmi.hash b/package/freeipmi/freeipmi.hash index bc22d2ff6b..2f81d90c1d 100644 --- a/package/freeipmi/freeipmi.hash +++ b/package/freeipmi/freeipmi.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 fce4a1e401b6189c103d2b1203261d0bfbf45985c6f3fa44c51b186b13fe7a7d freeipmi-1.6.10.tar.gz +sha256 1a3dac5c76b7ccc4d4f86aa12b8ef9b212baef7489bf05e899b89abb7e14edb5 freeipmi-1.6.14.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.bmc-watchdog sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmiconsole diff --git a/package/freeipmi/freeipmi.mk b/package/freeipmi/freeipmi.mk index 3e0ac0ffa9..e28f63f715 100644 --- a/package/freeipmi/freeipmi.mk +++ b/package/freeipmi/freeipmi.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREEIPMI_VERSION = 1.6.10 +FREEIPMI_VERSION = 1.6.14 FREEIPMI_SITE = https://ftp.gnu.org/gnu/freeipmi FREEIPMI_LICENSE = GPL-3.0+, BSD-like (sunbmc) FREEIPMI_LICENSE_FILES = \ @@ -12,8 +12,6 @@ FREEIPMI_LICENSE_FILES = \ COPYING.ipmidetect COPYING.ipmi-fru COPYING.ipmimonitoring \ COPYING.ipmiping COPYING.ipmipower COPYING.ipmiseld COPYING.pstdout \ COPYING.sunbmc COPYING.ZRESEARCH -# We're patching configure.ac -FREEIPMI_AUTORECONF = YES FREEIPMI_DEPENDENCIES = host-pkgconf FREEIPMI_INSTALL_STAGING = YES # Disable checking for /dev/urandom and /dev/random through AC_CHECK_FILE diff --git a/package/freeradius-server/0001-jlibtool-cross-with-host-CC.patch b/package/freeradius-server/0001-jlibtool-cross-with-host-CC.patch index 398f88e4ad..0cd55071c4 100644 --- a/package/freeradius-server/0001-jlibtool-cross-with-host-CC.patch +++ b/package/freeradius-server/0001-jlibtool-cross-with-host-CC.patch @@ -9,6 +9,8 @@ Upstream: Not applicable Signed-off-by: David Gouarin Signed-off-by: Matt Weber +[Fabrice: update for 3.2.3] +SIgned-off-by: Fabrice Fontaine --- scripts/libtool.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) @@ -18,13 +20,14 @@ index 57915e1053..c28260dd7e 100644 --- a/scripts/libtool.mk +++ b/scripts/libtool.mk @@ -43,8 +43,8 @@ ifeq "${LIBTOOL}" "JLIBTOOL" + # binary! ${JLIBTOOL}: ${top_makedir}/jlibtool.c $(Q)mkdir -p $(dir $@) - $(Q)echo CC jlibtool.c -- $(Q)${CC} $< -o $@ +- $(Q)${CC} $< -o $@ ${JLIBTOOL_DEFS} + $(Q)echo HOSTCC jlibtool.c -+ $(Q)${HOSTCC} $< -o $@ ++ $(Q)${HOSTCC} $< -o $@ ${JLIBTOOL_DEFS} clean: jlibtool_clean diff --git a/package/freeradius-server/0003-configure.ac-allow-cross-compilation.patch b/package/freeradius-server/0003-configure.ac-allow-cross-compilation.patch index d6d1bcfc78..a34c872af7 100644 --- a/package/freeradius-server/0003-configure.ac-allow-cross-compilation.patch +++ b/package/freeradius-server/0003-configure.ac-allow-cross-compilation.patch @@ -19,6 +19,8 @@ Fetch from: http://cgit.openembedded.org/meta-openembedded/tree/meta-networking/ Signed-off-by: David Gouarin Signed-off-by: Matt Weber Upstream: https://github.com/FreeRADIUS/freeradius-server/pull/4632 +[Fabrice: update for 3.2.3] +Signed-off-by: Fabrice Fontaine --- src/modules/rlm_krb5/configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) @@ -28,15 +30,15 @@ index efc9f29d7f..98a97e438a 100644 --- a/src/modules/rlm_krb5/configure.ac +++ b/src/modules/rlm_krb5/configure.ac @@ -137,7 +137,8 @@ if test x$with_[]modname != xno; then - FR_SMART_CHECK_LIB(krb5, krb5_is_thread_safe) - if test "x$ac_cv_lib_krb5_krb5_is_thread_safe" = xyes; then - AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], [[return krb5_is_thread_safe() ? 0 : 1]])], -- [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])]) -+ [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])], -+ [AC_MSG_WARN(cross compiling: not checking)]) - fi - else - krb5threadsafe="" + FR_SMART_CHECK_LIB(krb5, krb5_is_thread_safe) + if test "x$ac_cv_lib_krb5_krb5_is_thread_safe" = xyes; then + AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]], [[return krb5_is_thread_safe() ? 0 : 1]])], +- [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])]) ++ [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])], ++ [AC_MSG_WARN(cross compiling: not checking)]) + fi + else + krb5threadsafe="" -- 2.17.1 diff --git a/package/freeradius-server/0008-configure.ac-try-execinfo-in-libc-before-searching-l.patch b/package/freeradius-server/0008-configure.ac-try-execinfo-in-libc-before-searching-l.patch index b4cbc61a89..6633bd2786 100644 --- a/package/freeradius-server/0008-configure.ac-try-execinfo-in-libc-before-searching-l.patch +++ b/package/freeradius-server/0008-configure.ac-try-execinfo-in-libc-before-searching-l.patch @@ -12,6 +12,8 @@ FR_SMART_CHECK_LIB can find an incompatible library. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) Upstream: https://github.com/FreeRADIUS/freeradius-server/pull/4632 +[Fabrice: update for 3.2.3] +Signed-off-by: Fabrice Fontaine --- configure.ac | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) @@ -20,7 +22,7 @@ diff --git a/configure.ac b/configure.ac index f431da6db5..faa7cfc2b4 100644 --- a/configure.ac +++ b/configure.ac -@@ -2165,26 +2165,26 @@ dnl # +@@ -2165,21 +2165,21 @@ dnl # smart_try_dir=$execinfo_include_dir FR_SMART_CHECK_INCLUDE(execinfo.h) if test "x$ac_cv_header_execinfo_h" = "xyes"; then @@ -28,39 +30,29 @@ index f431da6db5..faa7cfc2b4 100644 - FR_SMART_CHECK_LIB(execinfo, backtrace_symbols) + dnl # Might be provided as part of libc + AC_MSG_CHECKING([if execinfo provided as part of libc]) -+ AC_TRY_LINK( -+ [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include -+ ], -+ [ ++ ]], [[ + void *sym[1]; -+ backtrace_symbols(&sym, sizeof(sym)) ], -+ [ ++ backtrace_symbols(&sym, sizeof(sym)) ]])],[ + AC_MSG_RESULT(yes) + ac_cv_lib_execinfo_backtrace_symbols="yes" -+ ], -+ [ ++ ],[ + AC_MSG_RESULT(no) -+ ] -+ ) ++ ]) if test "x$ac_cv_lib_execinfo_backtrace_symbols" != "xyes"; then - dnl # Might be provided as part of libc - AC_MSG_CHECKING([if execinfo provided as part of libc]) -- AC_TRY_LINK( -- [ +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include -- ], -- [ +- ]], [[ - void *sym[1]; -- backtrace_symbols(&sym, sizeof(sym)) ], -- [ +- backtrace_symbols(&sym, sizeof(sym)) ]])],[ - AC_MSG_RESULT(yes) - ac_cv_lib_execinfo_backtrace_symbols="yes" -- ], -- [ +- ],[ - AC_MSG_RESULT(no) -- ] -- ) +- ]) + smart_try_dir=$execinfo_lib_dir + FR_SMART_CHECK_LIB(execinfo, backtrace_symbols) fi diff --git a/package/freeradius-server/0009-src-modules-rlm_python-fix-build-with-Ofast.patch b/package/freeradius-server/0009-src-modules-rlm_python-fix-build-with-Ofast.patch new file mode 100644 index 0000000000..c92b4171d2 --- /dev/null +++ b/package/freeradius-server/0009-src-modules-rlm_python-fix-build-with-Ofast.patch @@ -0,0 +1,49 @@ +From 963edf3f87d34e274885d9cc448651d8a1601a6f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 11 Jan 2024 17:38:41 +0100 +Subject: [PATCH] src/modules/rlm_python: fix build with -Ofast + +Stripping logic wrongly translates -Ofast into ast resulting in the +following build failure: + +configure: /home/fabrice/buildroot/output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/bin/python3-config's cflags were "-I/home/fabrice/buildroot/output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/python3.11 -I/home/fabrice/buildroot/output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/python3.11 -Wsign-compare -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g0 -D_FORTIFY_SOURCE=2 -DNDEBUG -g -fwrapv -O3 -Wall" +configure: Sanitized cflags were " -isystem/home/fabrice/buildroot/output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/python3.11 -isystem/home/fabrice/buildroot/output/host/powerpc64-buildroot-linux-gnu/sysroot/usr/include/python3.11 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 ast -D_FORTIFY_SOURCE=2 -fwrapv " + +[...] + +powerpc64-buildroot-linux-gnu-gcc.br_real: error: ast: linker input file not found: No such file or directory + +Fixes: + - http://autobuild.buildroot.org/results/904c43241b99a8d848c1891cb5af132a291311b4 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/FreeRADIUS/freeradius-server/pull/5263 +--- + src/modules/rlm_python/configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/modules/rlm_python3/configure.ac b/src/modules/rlm_python3/configure.ac +index e2f74574fb..ee30b324d9 100644 +--- a/src/modules/rlm_python3/configure.ac ++++ b/src/modules/rlm_python3/configure.ac +@@ -59,7 +59,7 @@ else + + dnl # Convert -I to -isystem to get rid of warnings about issues in Python headers + dnl # Strip -systemroot +- dnl # Strip optimisation flags (-O[0-9]?). We decide our optimisation level, not python. ++ dnl # Strip optimisation flags (-O[0-9|fast]?). We decide our optimisation level, not python. + dnl # -D_FORTIFY_SOURCE needs -O. + dnl # Strip debug symbol flags (-g[0-9]?). We decide on debugging symbols, not python + dnl # Strip -W*, we decide what warnings are important +@@ -73,7 +73,7 @@ else + mod_cflags=`echo " $python_cflags" | sed -e '\ + s/ -I/ -isystem/g;\ + s/ -isysroot[[ =]]\{0,1\}[[^-]]*/ /g;\ +- s/ -O[[^[[:blank:]]]]*/ /g;\ ++ s/ -O[[^[[:blank:]]*]]*/ /g;\ + s/ -Wp,-D_FORTIFY_SOURCE=[[[:digit:]]]/ /g;\ + s/ -g[[^ ]]*/ /g;\ + s/ -W[[^ ]]*/ /g;\ +-- +2.43.0 + diff --git a/package/freeradius-server/freeradius-server.hash b/package/freeradius-server/freeradius-server.hash index 33ec09e7b0..a267bd6f8c 100644 --- a/package/freeradius-server/freeradius-server.hash +++ b/package/freeradius-server/freeradius-server.hash @@ -1,4 +1,4 @@ # Locally computed, after checking -# ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.2.0.tar.bz2.sig -sha256 a3071cd78ffcb4706217561d822ee4c760daeb277a63f36a9f11d412c3c39e56 freeradius-server-3.2.0.tar.bz2 +# ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.2.3.tar.bz2.sig +sha256 4a16aeffbfa1424e1f317fdf71d17e5523a4fd9564d87c747a60595ef93c5d1f freeradius-server-3.2.3.tar.bz2 sha256 0a0e46014fc2efd5144a30359c0e6e1ea9fa3dd407d3318204150efd7b4caf6a COPYRIGHT diff --git a/package/freeradius-server/freeradius-server.mk b/package/freeradius-server/freeradius-server.mk index af3320eb44..1e8ada6bb9 100644 --- a/package/freeradius-server/freeradius-server.mk +++ b/package/freeradius-server/freeradius-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREERADIUS_SERVER_VERSION = 3.2.0 +FREERADIUS_SERVER_VERSION = 3.2.3 FREERADIUS_SERVER_SOURCE = \ freeradius-server-$(FREERADIUS_SERVER_VERSION).tar.bz2 FREERADIUS_SERVER_SITE = ftp://ftp.freeradius.org/pub/freeradius @@ -16,10 +16,16 @@ FREERADIUS_SERVER_DEPENDENCIES = libtalloc FREERADIUS_SERVER_AUTORECONF = YES # We're patching src/modules/rlm_krb5/configure.ac -define FREERADIUS_SERVER_RUN_KRB5_AUTOCONF - cd $(@D)/src/modules/rlm_krb5; $(AUTOCONF) -I$(@D) +define FREERADIUS_SERVER_RUN_KRB5_AUTORECONF + cd $(@D)/src/modules/rlm_krb5; $(AUTORECONF) -I$(@D)/m4 endef -FREERADIUS_SERVER_PRE_CONFIGURE_HOOKS += FREERADIUS_SERVER_RUN_KRB5_AUTOCONF +FREERADIUS_SERVER_PRE_CONFIGURE_HOOKS += FREERADIUS_SERVER_RUN_KRB5_AUTORECONF + +# We're patching src/modules/rlm_python3/configure.ac +define FREERADIUS_SERVER_RUN_PYTHON3_AUTORECONF + cd $(@D)/src/modules/rlm_python3; $(AUTORECONF) -I$(@D)/m4 +endef +FREERADIUS_SERVER_PRE_CONFIGURE_HOOKS += FREERADIUS_SERVER_RUN_PYTHON3_AUTORECONF # some compiler checks are not supported while cross compiling. # instead of removing those checks, we cache the answers @@ -45,9 +51,8 @@ FREERADIUS_SERVER_CONF_OPTS += \ FREERADIUS_SERVER_CONF_OPTS += \ --without-rlm_eap_ike \ --without-rlm_eap_tnc \ - --without-rlm_mschap \ --without-rlm_perl \ - --without-rlm_realm \ + --without-rlm_python \ --without-rlm_sql_iodbc \ --without-rlm_sql_oracle \ --without-rlm_sql_freetds \ @@ -71,6 +76,19 @@ FREERADIUS_SERVER_CONF_OPTS += \ --without-rlm_ippool endif +ifeq ($(BR2_PACKAGE_HIREDIS),y) +FREERADIUS_SERVER_CONF_OPTS += \ + --with-rlm_cache_redis \ + --with-rlm_redis \ + --with-rlm_rediswho +FREERADIUS_SERVER_DEPENDENCIES += hiredis +else +FREERADIUS_SERVER_CONF_OPTS += \ + --without-rlm_cache_redis \ + --without-rlm_redis \ + --without-rlm_rediswho +endif + ifeq ($(BR2_PACKAGE_JSON_C)$(BR2_PACKAGE_LIBCURL),yy) FREERADIUS_SERVER_CONF_OPTS += --with-rlm_rest FREERADIUS_SERVER_DEPENDENCIES += json-c libcurl @@ -122,9 +140,9 @@ else FREERADIUS_SERVER_CONF_OPTS += --without-rlm_cache_memcached endif -ifeq ($(BR2_PACKAGE_MYSQL),y) +ifeq ($(BR2_PACKAGE_MARIADB),y) FREERADIUS_SERVER_CONF_OPTS += --with-rlm_sql_mysql -FREERADIUS_SERVER_DEPENDENCIES += mysql +FREERADIUS_SERVER_DEPENDENCIES += mariadb else FREERADIUS_SERVER_CONF_OPTS += --without-rlm_sql_mysql endif @@ -137,10 +155,12 @@ FREERADIUS_SERVER_CONF_OPTS += --without-pcre endif ifeq ($(BR2_PACKAGE_PYTHON3),y) -FREERADIUS_SERVER_CONF_OPTS += --with-rlm_python +FREERADIUS_SERVER_CONF_OPTS += \ + --with-rlm_python3 \ + --with-rlm-python3-config-bin=$(STAGING_DIR)/usr/bin/python3-config FREERADIUS_SERVER_DEPENDENCIES += python3 else -FREERADIUS_SERVER_CONF_OPTS += --without-rlm_python +FREERADIUS_SERVER_CONF_OPTS += --without-rlm_python3 endif ifeq ($(BR2_PACKAGE_READLINE),y) @@ -150,13 +170,6 @@ else FREERADIUS_SERVER_CONF_OPTS += --without-readline endif -ifeq ($(BR2_PACKAGE_REDIS),y) -FREERADIUS_SERVER_CONF_OPTS += --with-rlm_redis --with-rlm_rediswho -FREERADIUS_SERVER_DEPENDENCIES += redis -else -FREERADIUS_SERVER_CONF_OPTS += --without-rlm_redis --without-rlm_rediswho -endif - ifeq ($(BR2_PACKAGE_SQLITE),y) FREERADIUS_SERVER_CONF_OPTS += --with-rlm_sql_sqlite FREERADIUS_SERVER_DEPENDENCIES += sqlite diff --git a/package/freerdp/0001-Fix-variable-declaration-in-loop.patch b/package/freerdp/0001-Fix-variable-declaration-in-loop.patch index a391e42ee6..799a92734b 100644 --- a/package/freerdp/0001-Fix-variable-declaration-in-loop.patch +++ b/package/freerdp/0001-Fix-variable-declaration-in-loop.patch @@ -3,8 +3,7 @@ From: Armin Novak Date: Wed, 16 Sep 2020 09:30:37 +0200 Subject: [PATCH] Fix variable declaration in loop -[Retrieved from: -https://github.com/FreeRDP/FreeRDP/commit/ddde652460350b962d32036981ff8ed77ed2f1ed] +Upstream: https://github.com/FreeRDP/FreeRDP/commit/ddde652460350b962d32036981ff8ed77ed2f1ed Signed-off-by: Fabrice Fontaine --- client/X11/xf_graphics.c | 3 ++- diff --git a/package/freerdp/0002-Fixed-variable-declaration-in-loop.patch b/package/freerdp/0002-Fixed-variable-declaration-in-loop.patch index 14e1d6c8f4..1a4e899430 100644 --- a/package/freerdp/0002-Fixed-variable-declaration-in-loop.patch +++ b/package/freerdp/0002-Fixed-variable-declaration-in-loop.patch @@ -3,8 +3,7 @@ From: akallabeth Date: Tue, 22 Sep 2020 07:43:56 +0200 Subject: [PATCH] Fixed variable declaration in loop -[Retrieved from: -https://github.com/FreeRDP/FreeRDP/commit/4f8a48d96e472e43a5f856c449f61669792ce9fa] +Upstream: https://github.com/FreeRDP/FreeRDP/commit/4f8a48d96e472e43a5f856c449f61669792ce9fa Signed-off-by: Fabrice Fontaine --- client/X11/xf_graphics.c | 4 ++-- diff --git a/package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch b/package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch index d8dfe13d1b..63434e58f7 100644 --- a/package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch +++ b/package/freerdp/0003-winpr-include-winpr-file.h-fix-build-on-uclibc.patch @@ -16,7 +16,7 @@ Fixes: - http://autobuild.buildroot.org/results/31e770a330158035e24b7b952bec0030138482b7 Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/FreeRDP/FreeRDP/pull/7205] +Upstream: https://github.com/FreeRDP/FreeRDP/commit/0976cce458f2281cef6e8c417daf4bbd22bcc087 --- winpr/include/winpr/file.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/freerdp/freerdp.hash b/package/freerdp/freerdp.hash index 02268f55ea..daf933e0af 100644 --- a/package/freerdp/freerdp.hash +++ b/package/freerdp/freerdp.hash @@ -1,5 +1,5 @@ -# From https://pub.freerdp.com/releases/freerdp-2.11.0.tar.gz.sha256 -sha256 8d08e638df21e67c3761462b4efb9e596576f58bd6886f902e6021cdd17d396e freerdp-2.11.0.tar.gz +# From https://pub.freerdp.com/releases/freerdp-2.11.5.tar.gz.sha256 +sha256 70785ad9934d75aed1734f8918a05aff95788e58e53081e84651106b24303dc2 freerdp-2.11.5.tar.gz # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk index 6f71ef796f..29b33f61c3 100644 --- a/package/freerdp/freerdp.mk +++ b/package/freerdp/freerdp.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREERDP_VERSION = 2.11.0 +FREERDP_VERSION = 2.11.5 FREERDP_SITE = https://pub.freerdp.com/releases FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index 13d611b696..3211592468 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -35,7 +35,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S bool "imx6sl/imx6sx" config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL - bool "imx6ul/imx6ull" + bool "imx6ul/imx6ull/imx6ulz" config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 bool "imx7d/imx7ulp" @@ -57,6 +57,34 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X bool "imx8x" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL + bool "imx8dxl" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 + bool "imx91" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 + bool "imx93" + +endchoice + +choice + prompt "i.MX Silicon Revision" + default BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93A1 + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 + help + Some packages related to the selected i.MX platform need to + know the silicon revision of the platform they will run on. + + Note - mismatches may result in a failure to boot! + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93A0 + bool "imx93a0" + +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93A1 + bool "imx93a1" + endchoice config BR2_PACKAGE_FREESCALE_IMX_PLATFORM @@ -76,6 +104,8 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM default "IMX8MM" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM default "IMX8MN" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN default "IMX8MP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP + default "IMX91" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 + default "IMX93" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU bool @@ -100,7 +130,13 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP || \ - BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL + +config BR2_PACKAGE_FREESCALE_IMX_HAS_ELE + bool + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 source "package/freescale-imx/imx-alsa-plugins/Config.in" source "package/freescale-imx/imx-codec/Config.in" @@ -112,6 +148,7 @@ source "package/freescale-imx/imx-uuc/Config.in" source "package/freescale-imx/imx-vpu/Config.in" source "package/freescale-imx/imx-vpu-hantro/Config.in" source "package/freescale-imx/imx-vpuwrap/Config.in" +source "package/freescale-imx/firmware-ele-imx/Config.in" source "package/freescale-imx/firmware-imx/Config.in" source "package/freescale-imx/imx-sc-firmware/Config.in" source "package/freescale-imx/imx-seco/Config.in" diff --git a/package/freescale-imx/firmware-ele-imx/Config.in b/package/freescale-imx/firmware-ele-imx/Config.in new file mode 100644 index 0000000000..a99cbc3392 --- /dev/null +++ b/package/freescale-imx/firmware-ele-imx/Config.in @@ -0,0 +1,23 @@ +comment "firmware-ele-imx needs an i.MX platform with EdgeLock Secure Enclave" + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_ELE + +config BR2_PACKAGE_FIRMWARE_ELE_IMX + bool "firmware-ele-imx" + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_ELE + help + Firmware blobs for the EdgeLock Secure Enclave (ELE) + present on i.MX8ULP and i.MX9 SoCs. + + This library is provided by NXP as-is and doesn't have an + upstream. + +if BR2_PACKAGE_FIRMWARE_ELE_IMX + +config BR2_PACKAGE_FIRMWARE_ELE_IMX_AHAB_CONTAINER_IMAGE + string + default "mx93a0-ahab-container.img" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93A0 + default "mx93a1-ahab-container.img" if \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93A1 + +endif # BR2_PACKAGE_FIRMWARE_ELE_IMX diff --git a/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.hash b/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.hash new file mode 100644 index 0000000000..0923e546b0 --- /dev/null +++ b/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 4a0440168d8dfb95989a17be8fafb149589e110e7d4518e5e8a33463dfb5e5ca firmware-ele-imx-0.1.0.bin +sha256 24d7cb3a7e51011466a149bd99acf89387b832be2d0890ce2e183dfbc9d7cb84 COPYING +sha256 3282d88fad766897f93b0827297a70c2707d9358db24cccd5777abf7c997da77 EULA diff --git a/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.mk b/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.mk new file mode 100644 index 0000000000..d493fe4a96 --- /dev/null +++ b/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# firmware-ele-imx +# +################################################################################ + +FIRMWARE_ELE_IMX_VERSION = 0.1.0 +FIRMWARE_ELE_IMX_SITE = $(FREESCALE_IMX_SITE) +FIRMWARE_ELE_IMX_SOURCE = firmware-ele-imx-$(FIRMWARE_ELE_IMX_VERSION).bin + +FIRMWARE_ELE_IMX_LICENSE = NXP Semiconductor Software License Agreement +FIRMWARE_ELE_IMX_LICENSE_FILES = COPYING EULA +FIRMWARE_ELE_IMX_REDISTRIBUTE = NO + +FIRMWARE_ELE_IMX_INSTALL_IMAGES = YES + +define FIRMWARE_ELE_IMX_EXTRACT_CMDS + $(call NXP_EXTRACT_HELPER,$(FIRMWARE_ELE_IMX_DL_DIR)/$(FIRMWARE_ELE_IMX_SOURCE)) +endef + +FIRMWARE_ELE_IMX_AHAB_CONTAINER_IMAGE = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_ELE_IMX_AHAB_CONTAINER_IMAGE)) + +define FIRMWARE_ELE_IMX_INSTALL_IMAGES_CMDS + cp $(@D)/$(FIRMWARE_ELE_IMX_AHAB_CONTAINER_IMAGE) $(BINARIES_DIR)/ahab-container.img +endef + +$(eval $(generic-package)) diff --git a/package/freescale-imx/firmware-imx/Config.in b/package/freescale-imx/firmware-imx/Config.in index 0c1913e227..63990947c8 100644 --- a/package/freescale-imx/firmware-imx/Config.in +++ b/package/freescale-imx/firmware-imx/Config.in @@ -34,6 +34,7 @@ config BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME default "imx6" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q default "imx8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 default "imx8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + default "imx8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW bool @@ -55,6 +56,11 @@ config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP +config BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9 + bool + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 + if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW choice @@ -92,6 +98,10 @@ config BR2_PACKAGE_FIRMWARE_IMX_DDR_VERSION Use a specific version of the imx ddr binaries. Leaving this field empty will select the default version. +endif # BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW + +if BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9 + config BR2_PACKAGE_FIRMWARE_IMX_IMEM_LEN hex "(LP)DDR IMEM padding length" default 0x8000 @@ -104,6 +114,6 @@ config BR2_PACKAGE_FIRMWARE_IMX_DMEM_LEN help The DMEM firmware will be padded to this length -endif # BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW +endif # BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9 endif # BR2_PACKAGE_FIRMWARE_IMX diff --git a/package/freescale-imx/firmware-imx/firmware-imx.hash b/package/freescale-imx/firmware-imx/firmware-imx.hash index eb0c387af3..0b3561a927 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.hash +++ b/package/freescale-imx/firmware-imx/firmware-imx.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 937e196476b8e95b4b7f2501a14c8326d8a0649f8a3f9228b72373770a08deb3 firmware-imx-8.15.bin -sha256 35188e65dbb9c7da4bbcb77c7726e835607f9f41b8b44149806ea51429ca9a31 COPYING -sha256 30f61825583b4c26d29a798ad7e4c8ef2f2f390b1e964af302d2dc40e93cb0a4 EULA +sha256 f6dc6a5c8fd9b913a15360d3ccd53d188db05a08a8594c518e57622478c72383 firmware-imx-8.20.bin +sha256 913ba38d4be97361c3d0fa9bf2f6dbe7b1c0c41213dd268fb6738db9704dbe32 COPYING +sha256 4fd8bb45a2ec22117d20cfea84370e2a3a2cd99e8e177138bed0938137b1aeb3 EULA sha256 40d02f6d6b4e94d9307529408f372f5a9908cf3d156ec533a4e54274b40f271e SCR.txt diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk index 4cceb67019..2a74f58aa6 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.mk +++ b/package/freescale-imx/firmware-imx/firmware-imx.mk @@ -4,7 +4,7 @@ # ################################################################################ -FIRMWARE_IMX_VERSION = 8.15 +FIRMWARE_IMX_VERSION = 8.20 FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE) FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin @@ -45,6 +45,33 @@ ifneq ($(FIRMWARE_IMX_DDR_VERSION),) FIRMWARE_IMX_DDR_VERSION_SUFFIX = _$(FIRMWARE_IMX_DDR_VERSION) endif +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW_IMX9),y) +FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys + +define FIRMWARE_IMX_INSTALL_IMAGE_DDR_FW + # Create padded versions of lpddr4_{d,i}mem_{1,2}d_* and generate lpddr4_fw.bin. + # lpddr4_fw.bin is needed when generating imx9-boot-sd.bin + # which is done in post-image script. + $(call FIRMWARE_IMX_PREPARE_DDR_FW, \ + lpddr4_imem_1d_v202201, + lpddr4_dmem_1d_v202201, + lpddr4_1d_fw) + $(call FIRMWARE_IMX_PREPARE_DDR_FW, \ + lpddr4_imem_2d_v202201, + lpddr4_dmem_2d_v202201, + lpddr4_2d_fw) + cat $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_1d_fw.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_2d_fw.bin > \ + $(BINARIES_DIR)/lpddr4_fw.bin + ln -sf $(BINARIES_DIR)/lpddr4_fw.bin $(BINARIES_DIR)/ddr_fw.bin + + # U-Boot supports creation of the combined flash.bin image. To make + # sure that U-Boot can access all available files copy them to + # the binary dir. + cp $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4*.bin $(BINARIES_DIR)/ +endef +endif + ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),y) FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys diff --git a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash index 8bb6a6fe32..580b31e453 100644 --- a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash +++ b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 65427c12b43c7bb3838ec2bc91a5853c310652b920a65b2b52bacad8e761a8e4 imx-gpu-g2d-6.4.11.p1.0-arm.bin -sha256 9bf8ebbfc85245d75ab7d133c3e135a4c5f23a0430c75883af9700e9cb82c151 imx-gpu-g2d-6.4.11.p1.0-aarch64.bin -sha256 e17419ff1c87b5754282227f651745bd7b3986aed983e2d494505828022db4a8 COPYING -sha256 eff6daec54c4f86eb4682eeecd3dd24ffe90398c9460c2e573dd4141bcd28652 EULA +sha256 1ed29a4818161198b658ffc428dff7c154c38f5ba48d7358ed9b0be261d72b99 imx-gpu-g2d-6.4.11.p1.2-arm.bin +sha256 cdf096c9b15c773ad600b24ec8888c1c4a33711c195c655e9411d4b66a992c25 imx-gpu-g2d-6.4.11.p1.2-aarch64.bin +sha256 913ba38d4be97361c3d0fa9bf2f6dbe7b1c0c41213dd268fb6738db9704dbe32 COPYING +sha256 4fd8bb45a2ec22117d20cfea84370e2a3a2cd99e8e177138bed0938137b1aeb3 EULA diff --git a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk index a93c51cba3..87fe08ebe3 100644 --- a/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk +++ b/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk @@ -5,9 +5,9 @@ ################################################################################ ifeq ($(BR2_aarch64),y) -IMX_GPU_G2D_VERSION = 6.4.11.p1.0-aarch64 +IMX_GPU_G2D_VERSION = 6.4.11.p1.2-aarch64 else -IMX_GPU_G2D_VERSION = 6.4.11.p1.0-arm +IMX_GPU_G2D_VERSION = 6.4.11.p1.2-arm endif IMX_GPU_G2D_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_G2D_SOURCE = imx-gpu-g2d-$(IMX_GPU_G2D_VERSION).bin diff --git a/package/freescale-imx/imx-gpu-viv/Config.in b/package/freescale-imx/imx-gpu-viv/Config.in index 3e095b730c..b8dff8f9ab 100644 --- a/package/freescale-imx/imx-gpu-viv/Config.in +++ b/package/freescale-imx/imx-gpu-viv/Config.in @@ -45,8 +45,8 @@ choice config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB bool "Framebuffer" - # The i.MX8 blob doesn't support FB output - depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + # The i.MX8 aarch64 blob doesn't support FB output + depends on BR2_arm config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL bool "Wayland" diff --git a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash index 8f5708898d..a380e1b712 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 6e2f3fb43d16c30fd0b23027f5205818e9d4c74d4903f1c63f265ccf8269f01d imx-gpu-viv-6.4.11.p1.0-aarch32.bin -sha256 4a5f2235500dc4bdfaaeaffa0e4c13cdd28436cc0d859e5be222bce990fda461 imx-gpu-viv-6.4.11.p1.0-aarch64.bin -sha256 e17419ff1c87b5754282227f651745bd7b3986aed983e2d494505828022db4a8 COPYING -sha256 eff6daec54c4f86eb4682eeecd3dd24ffe90398c9460c2e573dd4141bcd28652 EULA +sha256 491ac012d691e27856769296e2334ad1b6f45e31ffe7313fcdb028c75b3b69ae imx-gpu-viv-6.4.11.p1.2-aarch32-1e0c396.bin +sha256 d5904cbbe33a3c1160e9cd15c44d78df25d0dbd7b251add796673af53d3046f6 imx-gpu-viv-6.4.11.p1.2-aarch64-1e0c396.bin +sha256 913ba38d4be97361c3d0fa9bf2f6dbe7b1c0c41213dd268fb6738db9704dbe32 COPYING +sha256 4fd8bb45a2ec22117d20cfea84370e2a3a2cd99e8e177138bed0938137b1aeb3 EULA diff --git a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk index 57a6a90d6d..5a13419e3e 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk @@ -5,9 +5,9 @@ ################################################################################ ifeq ($(BR2_aarch64),y) -IMX_GPU_VIV_VERSION = 6.4.11.p1.0-aarch64 +IMX_GPU_VIV_VERSION = 6.4.11.p1.2-aarch64-1e0c396 else -IMX_GPU_VIV_VERSION = 6.4.11.p1.0-aarch32 +IMX_GPU_VIV_VERSION = 6.4.11.p1.2-aarch32-1e0c396 endif IMX_GPU_VIV_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_VIV_SOURCE = imx-gpu-viv-$(IMX_GPU_VIV_VERSION).bin diff --git a/package/freescale-imx/imx-kobs/imx-kobs.hash b/package/freescale-imx/imx-kobs/imx-kobs.hash index 39f02ea04a..39ab2b6545 100644 --- a/package/freescale-imx/imx-kobs/imx-kobs.hash +++ b/package/freescale-imx/imx-kobs/imx-kobs.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 5855c8964f908ad30e5d4500180ee57c51af68186289ef1bdf8553ee60d3b1f5 imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 e83c9bca2706a33832174fc609b434d513a39b54ca90a714a6d0bb6f7a0386f7 imx-kobs-ff13a99a22aa73cca0e09a33c2ebb6a94ad698da.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/freescale-imx/imx-kobs/imx-kobs.mk b/package/freescale-imx/imx-kobs/imx-kobs.mk index 91b39f6fa4..d33d3a1b77 100644 --- a/package/freescale-imx/imx-kobs/imx-kobs.mk +++ b/package/freescale-imx/imx-kobs/imx-kobs.mk @@ -4,9 +4,9 @@ # ################################################################################ -IMX_KOBS_VERSION = a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b -IMX_KOBS_SITE = $(call github,NXPmicro,imx-kobs,$(IMX_KOBS_VERSION)) +IMX_KOBS_VERSION = ff13a99a22aa73cca0e09a33c2ebb6a94ad698da +IMX_KOBS_SITE = $(call github,nxp-imx,imx-kobs,$(IMX_KOBS_VERSION)) IMX_KOBS_LICENSE = GPL-2.0+ -IMX_KOBS_LICENSE_FILES = COPYING +IMX_KOBS_LICENSE_FILES = LICENSE $(eval $(autotools-package)) diff --git a/package/freescale-imx/imx-sc-firmware/Config.in b/package/freescale-imx/imx-sc-firmware/Config.in index 4932e62dd2..016f9739bf 100644 --- a/package/freescale-imx/imx-sc-firmware/Config.in +++ b/package/freescale-imx/imx-sc-firmware/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_IMX_SC_FIRMWARE bool "imx-sc-firmware" depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \ - BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL help System Control Unit Firmware blobs for the Freescale i.MX8 SoCs. diff --git a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash index ed83e757af..a5bbe11268 100644 --- a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash +++ b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 24a647237c0077ce0172563d67fcbc5e8f231bad7cf55a2436848c89579c5a06 imx-sc-firmware-1.8.0.bin -sha256 a07e8df685161553d7e0b78b8b93ebe9086d95bb8635abff0ed3247992181e85 EULA -sha256 4f3cc2dcbe3b7369bd4a51df749f432b69d8189fc2bde88f9fadbec73c686683 COPYING +sha256 1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f imx-sc-firmware-1.15.0.bin +sha256 654f0c4ce6d08f9a6d74e29c58206742cb7469a6a7c25413028a9bdbe647aa13 EULA +sha256 5bd7aab9dc380a6f9577443b2e90bd5ca73d9528175fad04b6d17da43a05a48e COPYING diff --git a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk index 6a304c0c8c..55b6fb00e3 100644 --- a/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk +++ b/package/freescale-imx/imx-sc-firmware/imx-sc-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_SC_FIRMWARE_VERSION = 1.8.0 +IMX_SC_FIRMWARE_VERSION = 1.15.0 IMX_SC_FIRMWARE_SITE = $(FREESCALE_IMX_SITE) IMX_SC_FIRMWARE_SOURCE = imx-sc-firmware-$(IMX_SC_FIRMWARE_VERSION).bin @@ -25,6 +25,10 @@ define IMX_SC_FIRMWARE_INSTALL_IMAGES_CMDS cp $(@D)/mx8qx-mek-scfw-tcm.bin $(BINARIES_DIR)/mx8qx-mek-scfw-tcm.bin cp $(@D)/mx8qx-val-scfw-tcm.bin $(BINARIES_DIR)/mx8qx-val-scfw-tcm.bin endef +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL),y) +define IMX_SC_FIRMWARE_INSTALL_IMAGES_CMDS + cp $(@D)/mx8dxl-evk-scfw-tcm.bin $(BINARIES_DIR)/ +endef else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8),y) define IMX_SC_FIRMWARE_INSTALL_IMAGES_CMDS cp $(@D)/mx8qm-*-scfw-tcm.bin $(BINARIES_DIR)/ diff --git a/package/freescale-imx/imx-seco/Config.in b/package/freescale-imx/imx-seco/Config.in index 41f8444651..7abdd7eb0d 100644 --- a/package/freescale-imx/imx-seco/Config.in +++ b/package/freescale-imx/imx-seco/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_IMX_SECO bool "imx-seco" depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \ - BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL help Firmware file for the i.MX8 and i.MX8X Security Controller. @@ -14,6 +15,7 @@ choice prompt "i.MX Seco Firmware Release" default BR2_PACKAGE_IMX_SECO_MX8QMB0 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 default BR2_PACKAGE_IMX_SECO_MX8QXC0 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + default BR2_PACKAGE_IMX_SECO_MX8DXLB0 if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL help Select the appropriate ahab container image to install to match the iMX asics revision. @@ -30,7 +32,7 @@ config BR2_PACKAGE_IMX_SECO_MX8DXLA1 config BR2_PACKAGE_IMX_SECO_MX8DXLB0 bool "imx-seco-mx8dxlb0" - depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL config BR2_PACKAGE_IMX_SECO_MX8QMB0 bool "imx-seco-mx8qmb0" diff --git a/package/freescale-imx/imx-seco/imx-seco.hash b/package/freescale-imx/imx-seco/imx-seco.hash index 378c24bc54..e02e30886f 100644 --- a/package/freescale-imx/imx-seco/imx-seco.hash +++ b/package/freescale-imx/imx-seco/imx-seco.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 08cf25a4be6841ca7264a50b29c311b386eae1c02fced8a3b55fd04213acb4bc imx-seco-3.7.5.bin -sha256 72edc2072c86d93aa1993d15d4d19d96270af3749b0108995ad50c81d1461f52 EULA -sha256 9c16421e7c702f56756650b8ac954d34556327e598a8666e6e8f4eb3a1aa95f1 COPYING +sha256 c3bd761f457e939035b01a0ab36e79064a2a1bc6c3cdb3cd847f7f38df0964df imx-seco-5.9.0.bin +sha256 654f0c4ce6d08f9a6d74e29c58206742cb7469a6a7c25413028a9bdbe647aa13 EULA +sha256 5bd7aab9dc380a6f9577443b2e90bd5ca73d9528175fad04b6d17da43a05a48e COPYING diff --git a/package/freescale-imx/imx-seco/imx-seco.mk b/package/freescale-imx/imx-seco/imx-seco.mk index 987f24658d..3788f1e404 100644 --- a/package/freescale-imx/imx-seco/imx-seco.mk +++ b/package/freescale-imx/imx-seco/imx-seco.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_SECO_VERSION = 3.7.5 +IMX_SECO_VERSION = 5.9.0 IMX_SECO_SITE = $(FREESCALE_IMX_SITE) IMX_SECO_SOURCE = imx-seco-$(IMX_SECO_VERSION).bin diff --git a/package/freescale-imx/imx-vpu-hantro-daemon/imx-vpu-hantro-daemon.hash b/package/freescale-imx/imx-vpu-hantro-daemon/imx-vpu-hantro-daemon.hash index e952491a60..2992baead8 100644 --- a/package/freescale-imx/imx-vpu-hantro-daemon/imx-vpu-hantro-daemon.hash +++ b/package/freescale-imx/imx-vpu-hantro-daemon/imx-vpu-hantro-daemon.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 83ba2798564702d74ab65f6238f95f59247d983b846de1de4c19bdfaf6dabeb8 imx-vpu-hantro-daemon-1.1.4.tar.gz +sha256 111cb6d5970f76aa3619cfd1a59a251d590fc474f84aad2d4d4083c2a4264fc8 imx-vpu-hantro-daemon-1.1.7.tar.gz sha256 bb645f02b260955f333348100e40af76253e2cd8b116bac047230439dd53ec5a LICENSE.txt diff --git a/package/freescale-imx/imx-vpu-hantro-daemon/imx-vpu-hantro-daemon.mk b/package/freescale-imx/imx-vpu-hantro-daemon/imx-vpu-hantro-daemon.mk index 4f6f166b60..ab4746beb4 100644 --- a/package/freescale-imx/imx-vpu-hantro-daemon/imx-vpu-hantro-daemon.mk +++ b/package/freescale-imx/imx-vpu-hantro-daemon/imx-vpu-hantro-daemon.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_VPU_HANTRO_DAEMON_VERSION = 1.1.4 +IMX_VPU_HANTRO_DAEMON_VERSION = 1.1.7 IMX_VPU_HANTRO_DAEMON_SITE = $(FREESCALE_IMX_SITE) IMX_VPU_HANTRO_DAEMON_LICENSE = NXP Semiconductor Software License Agreement IMX_VPU_HANTRO_DAEMON_LICENSE_FILES = LICENSE.txt diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash index 637d7898cf..879b82f7bd 100644 --- a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 7e9bcdbd067ce66a1247373cbf088945346feb0027deb61af541ebc1256277c3 imx-vpu-hantro-1.27.0.bin -sha256 5bd7aab9dc380a6f9577443b2e90bd5ca73d9528175fad04b6d17da43a05a48e COPYING -sha256 654f0c4ce6d08f9a6d74e29c58206742cb7469a6a7c25413028a9bdbe647aa13 EULA +sha256 2fc836e0ca9a5994c6237ee20b91ccc327fb2529a4ea057e4aedbce3326b6c97 imx-vpu-hantro-1.29.0.bin +sha256 913ba38d4be97361c3d0fa9bf2f6dbe7b1c0c41213dd268fb6738db9704dbe32 COPYING +sha256 4fd8bb45a2ec22117d20cfea84370e2a3a2cd99e8e177138bed0938137b1aeb3 EULA diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk index 4cfc8f41ff..0987551c42 100644 --- a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_VPU_HANTRO_VERSION = 1.27.0 +IMX_VPU_HANTRO_VERSION = 1.29.0 IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE) IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin IMX_VPU_HANTRO_DEPENDENCIES = linux diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash index 528a4d4d9d..1411c8d3ef 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash @@ -1,3 +1,3 @@ # locally computed -sha256 7d5102dfb99172f440e957ea23bb755d99655d179efb348c3f17a4ae387ffd56 kernel-module-imx-gpu-viv-8c864975607cf455c5e95d5313aa00e69f48d32f.tar.gz -sha256 0754114b3088a46b9fee9a5bd1c7b9ec94b6ca656ed930c4cad9e04382e8e372 COPYING +sha256 ce32d7f9e16daa0ac87a41bd6da2f96743cd5b28b7bc324ca642e985a29a4e48 kernel-module-imx-gpu-viv-1e65746bb15628ccbe88e3ee7a0a1d2becc48e79.tar.gz +sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk index 56724a4a98..13df35dcc0 100644 --- a/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk +++ b/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk @@ -4,7 +4,7 @@ # ################################################################################ -KERNEL_MODULE_IMX_GPU_VIV_VERSION = 8c864975607cf455c5e95d5313aa00e69f48d32f +KERNEL_MODULE_IMX_GPU_VIV_VERSION = 1e65746bb15628ccbe88e3ee7a0a1d2becc48e79 KERNEL_MODULE_IMX_GPU_VIV_SITE = \ $(call github,Freescale,kernel-module-imx-gpu-viv,$(KERNEL_MODULE_IMX_GPU_VIV_VERSION)) KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPL-2.0 diff --git a/package/freeswitch/freeswitch.hash b/package/freeswitch/freeswitch.hash index 504be12090..3f16467e22 100644 --- a/package/freeswitch/freeswitch.hash +++ b/package/freeswitch/freeswitch.hash @@ -1,5 +1,5 @@ -# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.10.-release.tar.xz.sha256 -sha256 d2c702c7f4bd6eca539c3981cf859ad5c1846d9283829e24cd75686f2322b9df freeswitch-1.10.10.-release.tar.xz +# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.11.-release.tar.xz.sha256 +sha256 7f9603a691220d9f47da42f3b19290b629b69dceb2eee56448f0a7cefcf9d1a1 freeswitch-1.10.11.-release.tar.xz # Locally computed sha256 75c933202f40939cdc3827fce20a1efdaa38291e2b5a65d234eb16e2cffda66a COPYING sha256 c3e3388768dae8bf4edcc4108f95be815b8a05c0b0aef6e4c3d8df81affdfa34 docs/OPENH264_BINARY_LICENSE.txt diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index 07d436cf0b..5b9dc49c9b 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESWITCH_VERSION = 1.10.10 +FREESWITCH_VERSION = 1.10.11 FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).-release.tar.xz FREESWITCH_SITE = https://files.freeswitch.org/freeswitch-releases # External modules need headers/libs from staging diff --git a/package/freetype/freetype.hash b/package/freetype/freetype.hash index ea03526c99..e7331d5ba0 100644 --- a/package/freetype/freetype.hash +++ b/package/freetype/freetype.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/freetype/files/freetype2/2.13.1/ -sha1 af9b6b754320a0526179f166e3f8cffce78526ca freetype-2.13.1.tar.xz -sha256 ea67e3b019b1104d1667aa274f5dc307d8cbd606b399bc32df308a77f1a564bf freetype-2.13.1.tar.xz +# From https://sourceforge.net/projects/freetype/files/freetype2/2.13.2/ +sha1 2d8d5917a1983ebd04921f2993a88858d6f72dec freetype-2.13.2.tar.xz +sha256 12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d freetype-2.13.2.tar.xz # Locally calculated sha256 2e3bbb7d7c5c396368dd0853a790ec29ce5b8647163dde42a0493fb0d6556b2b LICENSE.TXT diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index c6bc0673f6..5032414d63 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -4,12 +4,12 @@ # ################################################################################ -FREETYPE_VERSION = 2.13.1 +FREETYPE_VERSION = 2.13.2 FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.xz FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype FREETYPE_INSTALL_STAGING = YES FREETYPE_MAKE_OPTS = CCexe="$(HOSTCC)" -FREETYPE_LICENSE = Dual FTL/GPL-2.0+ +FREETYPE_LICENSE = FTL or GPL-2.0+ FREETYPE_LICENSE_FILES = LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT FREETYPE_CPE_ID_VENDOR = freetype FREETYPE_DEPENDENCIES = host-pkgconf diff --git a/package/frr/Config.in b/package/frr/Config.in index c2e9577a27..f6c058e6df 100644 --- a/package/frr/Config.in +++ b/package/frr/Config.in @@ -7,7 +7,6 @@ config BR2_PACKAGE_FRR select BR2_PACKAGE_BASH select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash select BR2_PACKAGE_LIBYANG - select BR2_PACKAGE_LIBNL select BR2_PACKAGE_READLINE select BR2_PACKAGE_JSON_C help diff --git a/package/frr/frr.hash b/package/frr/frr.hash index 836f130b93..4a61084bae 100644 --- a/package/frr/frr.hash +++ b/package/frr/frr.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8a6b0e0fa1e89493ba84cf176674e55c7a814821fd02a7188095b76c37c3935f frr-8.4.2.tar.gz +sha256 7ae9d8bafc65bb5d0f21061ac61dbc6cf93b2b05a5dae9e5eec72ed42388551e frr-8.5.4.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/frr/frr.mk b/package/frr/frr.mk index abae784c40..a4b4bccaf9 100644 --- a/package/frr/frr.mk +++ b/package/frr/frr.mk @@ -4,7 +4,7 @@ # ################################################################################ -FRR_VERSION = 8.4.2 +FRR_VERSION = 8.5.4 FRR_SITE = $(call github,FRRouting,frr,frr-$(FRR_VERSION)) FRR_LICENSE = GPL-2.0 FRR_LICENSE_FILES = COPYING @@ -12,7 +12,7 @@ FRR_CPE_ID_VENDOR = linuxfoundation FRR_CPE_ID_PRODUCT = free_range_routing FRR_AUTORECONF = YES -FRR_DEPENDENCIES = host-frr readline json-c libyang libnl \ +FRR_DEPENDENCIES = host-frr readline json-c libyang \ $(if $(BR2_PACKAGE_C_ARES),c-ares) HOST_FRR_DEPENDENCIES = host-flex host-bison host-elfutils host-python3 diff --git a/package/gawk/gawk.hash b/package/gawk/gawk.hash index 852a815d04..3ff0a90030 100644 --- a/package/gawk/gawk.hash +++ b/package/gawk/gawk.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/gawk/gawk-5.2.2.tar.xz.sig +# https://ftp.gnu.org/gnu/gawk/gawk-5.3.0.tar.xz.sig # Primary key fingerprint: D196 7C63 7887 1317 7D86 1ED7 DF59 7815 937E C0D2 -sha256 3c1fce1446b4cbee1cd273bd7ec64bc87d89f61537471cd3e05e33a965a250e9 gawk-5.2.2.tar.xz +sha256 ca9c16d3d11d0ff8c69d79dc0b47267e1329a69b39b799895604ed447d3ca90b gawk-5.3.0.tar.xz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gawk/gawk.mk b/package/gawk/gawk.mk index 62270cea9c..ff1b9920af 100644 --- a/package/gawk/gawk.mk +++ b/package/gawk/gawk.mk @@ -4,7 +4,7 @@ # ################################################################################ -GAWK_VERSION = 5.2.2 +GAWK_VERSION = 5.3.0 GAWK_SOURCE = gawk-$(GAWK_VERSION).tar.xz GAWK_SITE = $(BR2_GNU_MIRROR)/gawk GAWK_DEPENDENCIES = host-gawk diff --git a/package/gcc-bare-metal/13.2.0 b/package/gcc-bare-metal/13.2.0 new file mode 120000 index 0000000000..b7a75dc7dd --- /dev/null +++ b/package/gcc-bare-metal/13.2.0 @@ -0,0 +1 @@ +../gcc/13.2.0/ \ No newline at end of file diff --git a/package/gcc-bare-metal/gcc-bare-metal.hash b/package/gcc-bare-metal/gcc-bare-metal.hash new file mode 120000 index 0000000000..d417b0dc77 --- /dev/null +++ b/package/gcc-bare-metal/gcc-bare-metal.hash @@ -0,0 +1 @@ +../gcc/gcc.hash \ No newline at end of file diff --git a/package/gcc-bare-metal/gcc-bare-metal.mk b/package/gcc-bare-metal/gcc-bare-metal.mk new file mode 100644 index 0000000000..f391f094fe --- /dev/null +++ b/package/gcc-bare-metal/gcc-bare-metal.mk @@ -0,0 +1,61 @@ +################################################################################ +# +# gcc-bare-metal +# +################################################################################ + +HOST_GCC_BARE_METAL_VERSION = 13.2.0 +HOST_GCC_BARE_METAL_SITE = \ + https://ftp.gnu.org/gnu/gcc/gcc-$(HOST_GCC_BARE_METAL_VERSION) +HOST_GCC_BARE_METAL_SOURCE = gcc-$(HOST_GCC_BARE_METAL_VERSION).tar.xz + +HOST_GCC_BARE_METAL_LICENSE = GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0 +HOST_GCC_BARE_METAL_LICENSE_FILES = COPYING COPYING3 COPYING.LIB COPYING3.LIB + +HOST_GCC_BARE_METAL_DEPENDENCIES = \ + host-binutils-bare-metal \ + host-gmp \ + host-mpc \ + host-mpfr \ + host-isl + +# gcc doesn't support in-tree build, so we create a 'build' +# subdirectory in the gcc sources, and build from there. +define GCC_BARE_METAL_CONFIGURE_SYMLINK + mkdir -p $(@D)/build + ln -sf ../configure $(@D)/build/configure +endef + +HOST_GCC_BARE_METAL_PRE_CONFIGURE_HOOKS += GCC_BARE_METAL_CONFIGURE_SYMLINK +HOST_GCC_BARE_METAL_SUBDIR = build + +HOST_GCC_BARE_METAL_MAKE_OPTS = \ + $(HOST_GCC_COMMON_MAKE_OPTS) \ + all-gcc \ + all-target-libgcc + +HOST_GCC_BARE_METAL_INSTALL_OPTS = install-gcc install-target-libgcc + +HOST_GCC_BARE_METAL_CONF_OPTS = \ + --target=$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE) \ + --disable-initfini_array \ + --disable-__cxa_atexit \ + --disable-libstdcxx-pch \ + --with-newlib \ + --disable-threads \ + --enable-plugins \ + --with-gnu-as \ + --disable-libitm \ + --without-long-double-128 \ + --without-headers \ + --enable-languages=c \ + --disable-multilib \ + --with-gmp=$(HOST_DIR) \ + --with-mpc=$(HOST_DIR) \ + --with-mpfr=$(HOST_DIR) \ + --with-isl=$(HOST_DIR) \ + --with-sysroot=$(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT) \ + AR_FOR_TARGET=$(HOST_DIR)/bin/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)-ar \ + RANLIB_FOR_TARGET=$(HOST_DIR)/bin/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)-ranlib + +$(eval $(host-autotools-package)) diff --git a/package/gcc/10.4.0/0007-or1k-Only-define-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch b/package/gcc/10.4.0/0007-or1k-Only-define-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch deleted file mode 100644 index 7e9714e9cb..0000000000 --- a/package/gcc/10.4.0/0007-or1k-Only-define-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch +++ /dev/null @@ -1,49 +0,0 @@ -From ca01d2526917ec6e54b30472d3aedfd46d4ca585 Mon Sep 17 00:00:00 2001 -From: Stafford Horne -Date: Thu, 29 Sep 2022 15:32:39 +0100 -Subject: [PATCH] or1k: Only define TARGET_HAVE_TLS when HAVE_AS_TLS - -This was found when testing buildroot with linuxthreads enabled. In -this case, the build passes --disable-tls to the toolchain during -configuration. After building the OpenRISC toolchain it was still -generating TLS code sequences and causing linker failures such as: - - ..../or1k-buildroot-linux-uclibc-gcc -o gpsd-3.24/gpsctl .... -lusb-1.0 -lm -lrt -lnsl - ..../ld: ..../sysroot/usr/lib/libusb-1.0.so: undefined reference to `__tls_get_addr' - -This patch fixes this by disabling tls for the OpenRISC target when requested -via --disable-tls. - -gcc/ChangeLog: - - * config/or1k/or1k.c (TARGET_HAVE_TLS): Only define if - HAVE_AS_TLS is defined. - -Tested-by: Yann E. MORIN - -Upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=ca01d2526917ec6e54b30472d3aedfd46d4ca585 - -[Bernd: backported to 10.4.0] -Signed-off-by: Bernd Kuhls ---- - gcc/config/or1k/or1k.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gcc/config/or1k/or1k.c b/gcc/config/or1k/or1k.c -index da2f59062ba..0ce7b234417 100644 ---- a/gcc/config/or1k/or1k.c -+++ b/gcc/config/or1k/or1k.c -@@ -2175,8 +2175,10 @@ or1k_output_mi_thunk (FILE *file, tree thunk_fndecl, - #undef TARGET_LEGITIMATE_ADDRESS_P - #define TARGET_LEGITIMATE_ADDRESS_P or1k_legitimate_address_p - -+#ifdef HAVE_AS_TLS - #undef TARGET_HAVE_TLS - #define TARGET_HAVE_TLS true -+#endif - - #undef TARGET_HAVE_SPECULATION_SAFE_VALUE - #define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed --- -2.39.3 - diff --git a/package/gcc/Config.in b/package/gcc/Config.in new file mode 100644 index 0000000000..d2a26abba1 --- /dev/null +++ b/package/gcc/Config.in @@ -0,0 +1,3 @@ +config BR2_PACKAGE_GCC_FINAL + bool + default y if BR2_TOOLCHAIN_BUILDROOT diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index 4f2e47b9ea..d294e8da30 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -4,22 +4,22 @@ choice prompt "GCC compiler Version" default BR2_GCC_VERSION_ARC if BR2_GCC_VERSION_4_8_ARC # legacy default BR2_GCC_VERSION_ARC if BR2_arc - default BR2_GCC_VERSION_POWERPC_SPE if BR2_powerpc_SPE + default BR2_GCC_VERSION_POWERPC_SPE if BR2_POWERPC_CPU_HAS_SPE default BR2_GCC_VERSION_12_X help Select the version of gcc you wish to use. config BR2_GCC_VERSION_ARC - bool "gcc arc (10.x)" + bool "gcc arc (13.1)" # Only supported architecture depends on BR2_arc - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 config BR2_GCC_VERSION_POWERPC_SPE bool "gcc powerpc spe" # powerpc spe support has been deprecated since gcc 8.x. # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html - depends on BR2_powerpc_SPE + depends on BR2_POWERPC_CPU_HAS_SPE select BR2_TOOLCHAIN_GCC_AT_LEAST_8 config BR2_GCC_VERSION_11_X @@ -27,7 +27,7 @@ config BR2_GCC_VERSION_11_X depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 # powerpc spe support has been deprecated since gcc 8.x. # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html - depends on !BR2_powerpc_SPE + depends on !BR2_POWERPC_CPU_HAS_SPE # ARC HS48 rel 31 only supported by gcc arc fork. depends on !BR2_archs4x_rel31 select BR2_TOOLCHAIN_GCC_AT_LEAST_11 @@ -37,7 +37,7 @@ config BR2_GCC_VERSION_12_X depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 # powerpc spe support has been deprecated since gcc 8.x. # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html - depends on !BR2_powerpc_SPE + depends on !BR2_POWERPC_CPU_HAS_SPE # ARC HS48 rel 31 only supported by gcc arc fork. depends on !BR2_archs4x_rel31 select BR2_TOOLCHAIN_GCC_AT_LEAST_12 @@ -46,9 +46,7 @@ config BR2_GCC_VERSION_13_X bool "gcc 13.x" # powerpc spe support has been deprecated since gcc 8.x. # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html - depends on !BR2_powerpc_SPE - # ARC HS48 rel 31 only supported by gcc arc fork. - depends on !BR2_archs4x_rel31 + depends on !BR2_POWERPC_CPU_HAS_SPE select BR2_TOOLCHAIN_GCC_AT_LEAST_13 endchoice @@ -81,7 +79,7 @@ config BR2_GCC_VERSION default "11.4.0" if BR2_GCC_VERSION_11_X default "12.3.0" if BR2_GCC_VERSION_12_X default "13.2.0" if BR2_GCC_VERSION_13_X - default "arc-2020.09-release" if BR2_GCC_VERSION_ARC + default "arc-2023.09-release" if BR2_GCC_VERSION_ARC config BR2_EXTRA_GCC_CONFIG_OPTIONS string "Additional gcc options" diff --git a/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch b/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch deleted file mode 100644 index 3292b26a4e..0000000000 --- a/package/gcc/arc-2020.09-release/0001-arc-Refurbish-adc-sbc-patterns.patch +++ /dev/null @@ -1,243 +0,0 @@ -From b92c22b144d063c4436a6693045ceb57d344c495 Mon Sep 17 00:00:00 2001 -From: Claudiu Zissulescu -Date: Wed, 11 Nov 2020 12:31:10 +0200 -Subject: [PATCH] arc: Refurbish adc/sbc patterns - -The adc/sbc patterns were unecessary spliting, remove that and -associated functions. - -gcc/ChangeLog: - -2020-10-11 Claudiu Zissulescu - - * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove - it. - (arc_sets_cc_p): Likewise. - (arc_need_delay): Likewise. - * config/arc/arc.c (arc_sets_cc_p): Likewise. - (arc_need_delay): Likewise. - (arc_scheduling_not_expected): Likewise. - * config/arc/arc.md: Convert adc/sbc patterns to simple - instruction definitions. - -Signed-off-by: Claudiu Zissulescu - -Downloaded from upstream commit -https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/b92c22b144d063c4436a6693045ceb57d344c495 - -Signed-off-by: Bernd Kuhls ---- - gcc/config/arc/arc-protos.h | 3 -- - gcc/config/arc/arc.c | 53 --------------------- - gcc/config/arc/arc.md | 95 +++++++++++-------------------------- - 3 files changed, 29 insertions(+), 122 deletions(-) - -diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h -index c72d78e3b9e..de4cf47c818 100644 ---- a/gcc/config/arc/arc-protos.h -+++ b/gcc/config/arc/arc-protos.h -@@ -90,10 +90,7 @@ extern void split_subsi (rtx *); - extern void arc_split_move (rtx *); - extern const char *arc_short_long (rtx_insn *insn, const char *, const char *); - extern rtx arc_regno_use_in (unsigned int, rtx); --extern bool arc_scheduling_not_expected (void); --extern bool arc_sets_cc_p (rtx_insn *insn); - extern int arc_label_align (rtx_insn *label); --extern bool arc_need_delay (rtx_insn *insn); - extern bool arc_text_label (rtx_insn *insn); - - extern bool arc_short_comparison_p (rtx, int); -diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c -index 5a7b0cb6696..c3ee9181f93 100644 ---- a/gcc/config/arc/arc.c -+++ b/gcc/config/arc/arc.c -@@ -10341,59 +10341,6 @@ arc_attr_type (rtx_insn *insn) - return get_attr_type (insn); - } - --/* Return true if insn sets the condition codes. */ -- --bool --arc_sets_cc_p (rtx_insn *insn) --{ -- if (NONJUMP_INSN_P (insn)) -- if (rtx_sequence *seq = dyn_cast (PATTERN (insn))) -- insn = seq->insn (seq->len () - 1); -- return arc_attr_type (insn) == TYPE_COMPARE; --} -- --/* Return true if INSN is an instruction with a delay slot we may want -- to fill. */ -- --bool --arc_need_delay (rtx_insn *insn) --{ -- rtx_insn *next; -- -- if (!flag_delayed_branch) -- return false; -- /* The return at the end of a function needs a delay slot. */ -- if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE -- && (!(next = next_active_insn (insn)) -- || ((!NONJUMP_INSN_P (next) || GET_CODE (PATTERN (next)) != SEQUENCE) -- && arc_attr_type (next) == TYPE_RETURN)) -- && (!TARGET_PAD_RETURN -- || (prev_active_insn (insn) -- && prev_active_insn (prev_active_insn (insn)) -- && prev_active_insn (prev_active_insn (prev_active_insn (insn)))))) -- return true; -- if (NONJUMP_INSN_P (insn) -- ? (GET_CODE (PATTERN (insn)) == USE -- || GET_CODE (PATTERN (insn)) == CLOBBER -- || GET_CODE (PATTERN (insn)) == SEQUENCE) -- : JUMP_P (insn) -- ? (GET_CODE (PATTERN (insn)) == ADDR_VEC -- || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC) -- : !CALL_P (insn)) -- return false; -- return num_delay_slots (insn) != 0; --} -- --/* Return true if the scheduling pass(es) has/have already run, -- i.e. where possible, we should try to mitigate high latencies -- by different instruction selection. */ -- --bool --arc_scheduling_not_expected (void) --{ -- return cfun->machine->arc_reorg_started; --} -- - /* Code has a minimum p2 alignment of 1, which we must restore after - an ADDR_DIFF_VEC. */ - -diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md -index f91adbc0d94..c635b69ddd5 100644 ---- a/gcc/config/arc/arc.md -+++ b/gcc/config/arc/arc.md -@@ -2847,43 +2847,25 @@ archs4x, archs4xd" - (set_attr "type" "compare") - (set_attr "length" "4,4,8")]) - --; w/c/c comes first (rather than w/0/C_0) to prevent the middle-end --; needlessly prioritizing the matching constraint. --; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional --; execution is used where possible. --(define_insn_and_split "adc" -- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") -- (plus:SI (plus:SI (ltu:SI (reg:CC_C CC_REG) (const_int 0)) -- (match_operand:SI 1 "nonmemory_operand" -- "%c,0,c,0,cCal")) -- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] -+(define_insn "adc" -+ [(set (match_operand:SI 0 "register_operand" "=r, r,r,r, r,r") -+ (plus:SI -+ (plus:SI -+ (ltu:SI (reg:CC_C CC_REG) (const_int 0)) -+ (match_operand:SI 1 "nonmemory_operand" "%r, 0,r,0,Cal,r")) -+ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I, r,Cal")))] - "register_operand (operands[1], SImode) - || register_operand (operands[2], SImode)" - "@ -- adc %0,%1,%2 -- add.cs %0,%1,1 -- adc %0,%1,%2 -- adc %0,%1,%2 -- adc %0,%1,%2" -- ; if we have a bad schedule after sched2, split. -- "reload_completed -- && !optimize_size && (!TARGET_ARC600_FAMILY) -- && arc_scheduling_not_expected () -- && arc_sets_cc_p (prev_nonnote_insn (insn)) -- /* If next comes a return or other insn that needs a delay slot, -- expect the adc to get into the delay slot. */ -- && next_nonnote_insn (insn) -- && !arc_need_delay (next_nonnote_insn (insn)) -- /* Restore operands before emitting. */ -- && (extract_insn_cached (insn), 1)" -- [(set (match_dup 0) (match_dup 3)) -- (cond_exec -- (ltu (reg:CC_C CC_REG) (const_int 0)) -- (set (match_dup 0) (plus:SI (match_dup 0) (const_int 1))))] -- "operands[3] = simplify_gen_binary (PLUS, SImode, operands[1], operands[2]);" -+ adc\\t%0,%1,%2 -+ add.cs\\t%0,%1,1 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2 -+ adc\\t%0,%1,%2" - [(set_attr "cond" "use") - (set_attr "type" "cc_arith") -- (set_attr "length" "4,4,4,4,8")]) -+ (set_attr "length" "4,4,4,4,8,8")]) - - ; combiner-splitter cmp / scc -> cmp / adc - (define_split -@@ -3015,7 +2997,7 @@ archs4x, archs4xd" - DONE; - } - emit_insn (gen_sub_f (l0, l1, l2)); -- emit_insn (gen_sbc (h0, h1, h2, gen_rtx_REG (CCmode, CC_REG))); -+ emit_insn (gen_sbc (h0, h1, h2)); - DONE; - ") - -@@ -3030,44 +3012,25 @@ archs4x, archs4xd" - (set_attr "type" "cc_arith") - (set_attr "length" "4")]) - --; w/c/c comes first (rather than Rcw/0/C_0) to prevent the middle-end --; needlessly prioritizing the matching constraint. --; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional execution --; is used where possible. --(define_insn_and_split "sbc" -- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") -- (minus:SI (minus:SI (match_operand:SI 1 "nonmemory_operand" -- "c,0,c,0,cCal") -- (ltu:SI (match_operand:CC_C 3 "cc_use_register") -- (const_int 0))) -- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] -+(define_insn "sbc" -+ [(set (match_operand:SI 0 "dest_reg_operand" "=r,r,r,r,r,r") -+ (minus:SI -+ (minus:SI -+ (match_operand:SI 1 "nonmemory_operand" "r, 0,r,0, r,Cal") -+ (ltu:SI (reg:CC_C CC_REG) (const_int 0))) -+ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I,Cal,r")))] - "register_operand (operands[1], SImode) - || register_operand (operands[2], SImode)" - "@ -- sbc %0,%1,%2 -- sub.cs %0,%1,1 -- sbc %0,%1,%2 -- sbc %0,%1,%2 -- sbc %0,%1,%2" -- ; if we have a bad schedule after sched2, split. -- "reload_completed -- && !optimize_size && (!TARGET_ARC600_FAMILY) -- && arc_scheduling_not_expected () -- && arc_sets_cc_p (prev_nonnote_insn (insn)) -- /* If next comes a return or other insn that needs a delay slot, -- expect the adc to get into the delay slot. */ -- && next_nonnote_insn (insn) -- && !arc_need_delay (next_nonnote_insn (insn)) -- /* Restore operands before emitting. */ -- && (extract_insn_cached (insn), 1)" -- [(set (match_dup 0) (match_dup 4)) -- (cond_exec -- (ltu (reg:CC_C CC_REG) (const_int 0)) -- (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1))))] -- "operands[4] = simplify_gen_binary (MINUS, SImode, operands[1], operands[2]);" -+ sbc\\t%0,%1,%2 -+ sub.cs\\t%0,%1,1 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2 -+ sbc\\t%0,%1,%2" - [(set_attr "cond" "use") - (set_attr "type" "cc_arith") -- (set_attr "length" "4,4,4,4,8")]) -+ (set_attr "length" "4,4,4,4,8,8")]) - - (define_insn "sub_f" - [(set (reg:CC CC_REG) diff --git a/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch b/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch deleted file mode 100644 index 051d4db341..0000000000 --- a/package/gcc/arc-2020.09-release/0002-libsanitizer-Remove-cyclades-from-libsanitizer.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 1557c3d919623a95c2aa090d3018c31401f63f88 Mon Sep 17 00:00:00 2001 -From: Tamar Christina -Date: Fri, 21 May 2021 12:16:56 +0100 -Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer - -The Linux kernel has removed the interface to cyclades from -the latest kernel headers[1] due to them being orphaned for the -past 13 years. - -libsanitizer uses this header when compiling against glibc, but -glibcs itself doesn't seem to have any references to cyclades. - -Further more it seems that the driver is broken in the kernel and -the firmware doesn't seem to be available anymore. - -As such since this is breaking the build of libsanitizer (and so the -GCC bootstrap[2]) I propose to remove this. - -[1] https://lkml.org/lkml/2021/3/2/153 -[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 - -libsanitizer/ChangeLog: - - PR sanitizer/100379 - * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick - llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. - * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise. - * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. ---- - .../sanitizer_common_interceptors_ioctl.inc | 9 --------- - .../sanitizer_platform_limits_posix.cpp | 11 ----------- - .../sanitizer_platform_limits_posix.h | 10 ---------- - 3 files changed, 30 deletions(-) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -index 490a04b2181..42e43a04441 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -@@ -366,15 +366,6 @@ static void ioctl_table_fill() { - - #if SANITIZER_LINUX && !SANITIZER_ANDROID - // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE -- _(CYGETDEFTHRESH, WRITE, sizeof(int)); -- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); -- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); -- _(CYGETTHRESH, WRITE, sizeof(int)); -- _(CYGETTIMEOUT, WRITE, sizeof(int)); -- _(CYSETDEFTHRESH, NONE, 0); -- _(CYSETDEFTIMEOUT, NONE, 0); -- _(CYSETTHRESH, NONE, 0); -- _(CYSETTIMEOUT, NONE, 0); - _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); - _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); - _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -index aa845df4dde..badf6a401cc 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -130,7 +130,6 @@ typedef struct user_fpregs elf_fpregset_t; - # include - #endif - #include --#include - #include - #include - #include -@@ -443,7 +442,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - - #if SANITIZER_LINUX && !SANITIZER_ANDROID - unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); -- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); - #if EV_VERSION > (0x010000) - unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); - #else -@@ -809,15 +807,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - #endif // SANITIZER_LINUX - - #if SANITIZER_LINUX && !SANITIZER_ANDROID -- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; -- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; -- unsigned IOCTL_CYGETMON = CYGETMON; -- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; -- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; -- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; -- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; -- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; -- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; - unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; - unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; - unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -index d82fd5e4005..dc6423bc297 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -974,7 +974,6 @@ extern unsigned struct_vt_mode_sz; - - #if SANITIZER_LINUX && !SANITIZER_ANDROID - extern unsigned struct_ax25_parms_struct_sz; --extern unsigned struct_cyclades_monitor_sz; - extern unsigned struct_input_keymap_entry_sz; - extern unsigned struct_ipx_config_data_sz; - extern unsigned struct_kbdiacrs_sz; -@@ -1319,15 +1318,6 @@ extern unsigned IOCTL_VT_WAITACTIVE; - #endif // SANITIZER_LINUX - - #if SANITIZER_LINUX && !SANITIZER_ANDROID --extern unsigned IOCTL_CYGETDEFTHRESH; --extern unsigned IOCTL_CYGETDEFTIMEOUT; --extern unsigned IOCTL_CYGETMON; --extern unsigned IOCTL_CYGETTHRESH; --extern unsigned IOCTL_CYGETTIMEOUT; --extern unsigned IOCTL_CYSETDEFTHRESH; --extern unsigned IOCTL_CYSETDEFTIMEOUT; --extern unsigned IOCTL_CYSETTHRESH; --extern unsigned IOCTL_CYSETTIMEOUT; - extern unsigned IOCTL_EQL_EMANCIPATE; - extern unsigned IOCTL_EQL_ENSLAVE; - extern unsigned IOCTL_EQL_GETMASTRCFG; --- -2.31.1 - diff --git a/package/gcc/arc-2020.09-release/0003-fixinc-don-t-fix-machine-names-in-__has_include-.-PR.patch b/package/gcc/arc-2020.09-release/0003-fixinc-don-t-fix-machine-names-in-__has_include-.-PR.patch deleted file mode 100644 index 8b6be49e68..0000000000 --- a/package/gcc/arc-2020.09-release/0003-fixinc-don-t-fix-machine-names-in-__has_include-.-PR.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 65754c50a57e5a891cee75bb744eb93fdb3c443e Mon Sep 17 00:00:00 2001 -From: Xi Ruoyao -Date: Mon, 28 Jun 2021 13:54:58 +0800 -Subject: [PATCH] fixinc: don't "fix" machine names in __has_include(...) - [PR91085] - -fixincludes/ - - PR other/91085 - * fixfixes.c (check_has_inc): New static function. - (machine_name_fix): Don't replace header names in - __has_include(...). - * inclhack.def (machine_name): Adjust test. - * tests/base/testing.h: Update. - -Upstream: 6bf383c37e6131a8e247e8a0997d55d65c830b6d -Signed-off-by: Thomas Petazzoni ---- - fixincludes/fixfixes.c | 45 ++++++++++++++++++++++++++++++-- - fixincludes/inclhack.def | 3 ++- - fixincludes/tests/base/testing.h | 2 +- - 3 files changed, 46 insertions(+), 4 deletions(-) - -diff --git a/fixincludes/fixfixes.c b/fixincludes/fixfixes.c -index 034e15d9985..3ff87812036 100644 ---- a/fixincludes/fixfixes.c -+++ b/fixincludes/fixfixes.c -@@ -477,6 +477,39 @@ FIX_PROC_HEAD( char_macro_def_fix ) - fputs (text, stdout); - } - -+/* Check if the pattern at pos is actually in a "__has_include(...)" -+ directive. Return the pointer to the ')' of this -+ "__has_include(...)" if it is, NULL otherwise. */ -+static const char * -+check_has_inc (const char *begin, const char *pos, const char *end) -+{ -+ static const char has_inc[] = "__has_include"; -+ const size_t has_inc_len = sizeof (has_inc) - 1; -+ const char *p; -+ -+ for (p = memmem (begin, pos - begin, has_inc, has_inc_len); -+ p != NULL; -+ p = memmem (p, pos - p, has_inc, has_inc_len)) -+ { -+ p += has_inc_len; -+ while (p < end && ISSPACE (*p)) -+ p++; -+ -+ /* "__has_include" may appear as "defined(__has_include)", -+ search for the next appearance then. */ -+ if (*p != '(') -+ continue; -+ -+ /* To avoid too much complexity, just hope there is never a -+ ')' in a header name. */ -+ p = memchr (p, ')', end - p); -+ if (p == NULL || p > pos) -+ return p; -+ } -+ -+ return NULL; -+} -+ - /* Fix for machine name #ifdefs that are not in the namespace reserved - by the C standard. They won't be defined if compiling with -ansi, - and the headers will break. We go to some trouble to only change -@@ -524,7 +557,7 @@ FIX_PROC_HEAD( machine_name_fix ) - /* If the 'name_pat' matches in between base and limit, we have - a bogon. It is not worth the hassle of excluding comments - because comments on #if/#ifdef lines are rare, and strings on -- such lines are illegal. -+ such lines are only legal in a "__has_include" directive. - - REG_NOTBOL means 'base' is not at the beginning of a line, which - shouldn't matter since the name_re has no ^ anchor, but let's -@@ -544,8 +577,16 @@ FIX_PROC_HEAD( machine_name_fix ) - break; - - p = base + match[0].rm_so; -- base += match[0].rm_eo; - -+ /* Check if the match is in __has_include(...) (PR 91085). */ -+ q = check_has_inc (base, p, limit); -+ if (q) -+ { -+ base = q + 1; -+ goto again; -+ } -+ -+ base += match[0].rm_eo; - /* One more test: if on the same line we have the same string - with the appropriate underscores, then leave it alone. - We want exactly two leading and trailing underscores. */ -diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def -index f58e7771e1c..71bd717c233 100644 ---- a/fixincludes/inclhack.def -+++ b/fixincludes/inclhack.def -@@ -3114,7 +3114,8 @@ fix = { - c_fix = machine_name; - - test_text = "/* MACH_DIFF: */\n" -- "#if defined( i386 ) || defined( sparc ) || defined( vax )" -+ "#if defined( i386 ) || defined( sparc ) || defined( vax ) || " -+ "defined( linux ) || __has_include ( )" - "\n/* no uniform test, so be careful :-) */"; - }; - -diff --git a/fixincludes/tests/base/testing.h b/fixincludes/tests/base/testing.h -index cf95321fb86..8b3accaf04e 100644 ---- a/fixincludes/tests/base/testing.h -+++ b/fixincludes/tests/base/testing.h -@@ -64,7 +64,7 @@ BSD43__IOWR('T', 1) /* Some are multi-line */ - - #if defined( MACHINE_NAME_CHECK ) - /* MACH_DIFF: */ --#if defined( i386 ) || defined( sparc ) || defined( vax ) -+#if defined( i386 ) || defined( sparc ) || defined( vax ) || defined( linux ) || __has_include ( ) - /* no uniform test, so be careful :-) */ - #endif /* MACHINE_NAME_CHECK */ - --- -2.37.3 - diff --git a/package/gcc/arc-2020.09-release/0100-uclibc-conf.patch b/package/gcc/arc-2020.09-release/0100-uclibc-conf.patch deleted file mode 100644 index d354baf81f..0000000000 --- a/package/gcc/arc-2020.09-release/0100-uclibc-conf.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 2 May 2017 22:36:15 +0200 -Subject: [PATCH] uclibc-conf - -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh -index 60b0497..6dc7ead 100755 ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ] - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 --- -2.9.3 - diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index aa883beb7b..99d7047b5f 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -7,7 +7,16 @@ GCC_FINAL_VERSION = $(GCC_VERSION) GCC_FINAL_SITE = $(GCC_SITE) GCC_FINAL_SOURCE = $(GCC_SOURCE) +GCC_FINAL_LICENSE = GPL-3.0-with-GCC-exception +GCC_FINAL_LICENSE_FILES = COPYING.RUNTIME +HOST_GCC_FINAL_LICENSE = $(HOST_GCC_LICENSE) +HOST_GCC_FINAL_LICENSE_FILES = $(HOST_GCC_LICENSE_FILES) +GCC_FINAL_DEPENDENCIES = host-gcc-final +GCC_FINAL_ADD_TOOLCHAIN_DEPENDENCY = NO +GCC_FINAL_INSTALL_STAGING = YES + +GCC_FINAL_DL_SUBDIR = gcc HOST_GCC_FINAL_DL_SUBDIR = gcc HOST_GCC_FINAL_DEPENDENCIES = \ @@ -135,85 +144,71 @@ HOST_GCC_FINAL_POST_INSTALL_HOOKS += TOOLCHAIN_WRAPPER_INSTALL # -cc symlink to the wrapper is not created. HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_INSTALL_WRAPPER_AND_SIMPLE_SYMLINKS -# coldfire is not working without removing these object files from libgcc.a -ifeq ($(BR2_m68k_cf),y) -define HOST_GCC_FINAL_M68K_LIBGCC_FIXUP - find $(STAGING_DIR) -name libgcc.a -print | \ - while read t; do $(GNU_TARGET_NAME)-ar dv "$t" _ctors.o; done -endef -HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_M68K_LIBGCC_FIXUP +GCC_FINAL_LIBS = + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GCC_FINAL_LIBS += libatomic endif -# Cannot use the HOST_GCC_FINAL_USR_LIBS mechanism below, because we want -# libgcc_s to be installed in /lib and not /usr/lib. -define HOST_GCC_FINAL_INSTALL_LIBGCC - -cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/libgcc_s* \ - $(STAGING_DIR)/lib/ - -cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/libgcc_s* \ - $(TARGET_DIR)/lib/ -endef - -HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_LIBGCC - -define HOST_GCC_FINAL_INSTALL_LIBATOMIC - -cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/libatomic* \ - $(STAGING_DIR)/lib/ - -cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/libatomic* \ - $(TARGET_DIR)/lib/ -endef - -HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_LIBATOMIC - -# Handle the installation of libraries in /usr/lib -HOST_GCC_FINAL_USR_LIBS = +ifeq ($(BR2_STATIC_LIBS),) +GCC_FINAL_LIBS += libgcc_s +endif ifeq ($(BR2_INSTALL_LIBSTDCPP),y) -HOST_GCC_FINAL_USR_LIBS += libstdc++ +GCC_FINAL_USR_LIBS += libstdc++ endif ifeq ($(BR2_TOOLCHAIN_BUILDROOT_DLANG),y) -HOST_GCC_FINAL_USR_LIBS += libgdruntime libgphobos +GCC_FINAL_USR_LIBS += libgdruntime libgphobos endif ifeq ($(BR2_TOOLCHAIN_BUILDROOT_FORTRAN),y) -HOST_GCC_FINAL_USR_LIBS += libgfortran +GCC_FINAL_USR_LIBS += libgfortran # fortran needs quadmath on x86 and x86_64 ifeq ($(BR2_TOOLCHAIN_HAS_LIBQUADMATH),y) -HOST_GCC_FINAL_USR_LIBS += libquadmath +GCC_FINAL_USR_LIBS += libquadmath endif endif ifeq ($(BR2_GCC_ENABLE_OPENMP),y) -HOST_GCC_FINAL_USR_LIBS += libgomp +GCC_FINAL_USR_LIBS += libgomp endif -HOST_GCC_FINAL_USR_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_LIBS)) +GCC_FINAL_USR_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_LIBS)) -ifneq ($(HOST_GCC_FINAL_USR_LIBS),) -define HOST_GCC_FINAL_INSTALL_STATIC_LIBS - for i in $(HOST_GCC_FINAL_USR_LIBS) ; do \ - cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/$${i}.a \ - $(STAGING_DIR)/usr/lib/ ; \ - done +define GCC_FINAL_INSTALL_STAGING_CMDS + $(foreach lib,$(GCC_FINAL_LIBS), \ + cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/$(lib)* \ + $(STAGING_DIR)/lib/ + ) + $(foreach lib,$(GCC_FINAL_USR_LIBS), \ + cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/$(lib)* \ + $(STAGING_DIR)/usr/lib/ + ) endef ifeq ($(BR2_STATIC_LIBS),) -define HOST_GCC_FINAL_INSTALL_SHARED_LIBS - for i in $(HOST_GCC_FINAL_USR_LIBS) ; do \ - cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/$${i}.so* \ - $(STAGING_DIR)/usr/lib/ ; \ - cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/$${i}.so* \ - $(TARGET_DIR)/usr/lib/ ; \ - done +define GCC_FINAL_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/lib $(TARGET_DIR)/usr/lib + $(foreach lib,$(GCC_FINAL_LIBS), \ + cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/$(lib).so* \ + $(TARGET_DIR)/lib/ + ) + $(foreach lib,$(GCC_FINAL_USR_LIBS), \ + cp -dpf $(HOST_GCC_FINAL_GCC_LIB_DIR)/$(lib).so* \ + $(TARGET_DIR)/usr/lib/ + ) endef endif -define HOST_GCC_FINAL_INSTALL_USR_LIBS - mkdir -p $(TARGET_DIR)/usr/lib - $(HOST_GCC_FINAL_INSTALL_STATIC_LIBS) - $(HOST_GCC_FINAL_INSTALL_SHARED_LIBS) +# coldfire is not working without removing these object files from libgcc.a +ifeq ($(BR2_m68k_cf),y) +define GCC_FINAL_M68K_LIBGCC_FIXUP + find $(STAGING_DIR) -name libgcc.a -print | \ + while read t; do $(GNU_TARGET_NAME)-ar dv "$t" _ctors.o; done endef -HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_USR_LIBS +GCC_FINAL_POST_INSTALL_STAGING_HOOKS += HOST_GCC_FINAL_M68K_LIBGCC_FIXUP endif +$(eval $(generic-package)) $(eval $(host-autotools-package)) diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index a8ac20c5d8..1f8b76a942 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -7,6 +7,8 @@ GCC_INITIAL_VERSION = $(GCC_VERSION) GCC_INITIAL_SITE = $(GCC_SITE) GCC_INITIAL_SOURCE = $(GCC_SOURCE) +HOST_GCC_INITIAL_LICENSE = $(HOST_GCC_LICENSE) +HOST_GCC_INITIAL_LICENSE_FILES = $(HOST_GCC_LICENSE_FILES) # We do not have a 'gcc' package per-se; we only have two incarnations, # gcc-initial and gcc-final. gcc-initial is just an internal step that diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index d5f8135ff6..5061a603bc 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -10,6 +10,13 @@ sha512 8fb799dfa2e5de5284edf8f821e3d40c2781e4c570f5adfdb1ca0671fcae3fb7f794ea78 sha512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 gcc-13.2.0.tar.xz # Locally calculated (fetched from Github) -sha512 b0853e2b1c5998044392023fa653e399e74118c46e616504ac59e1a2cf27620f94434767ce06b6cf4ca3dfb57f81d6eda92752befaf095ea5e564a9181b4659c gcc-arc-2020.09-release.tar.gz +sha512 4dca20f517a42bb027fec605965b09fb917a535eebf3fe3e811d93476b02b1962df5ad4665f117bd44c2ec8e8015d51a44c00591761fe5f259c201ac5c7d920f gcc-arc-2023.09-release.tar.gz # Locally calculated (fetched from Github) sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz + +# Locally calculated +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING3 +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING3.LIB +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB +sha256 9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74 COPYING.RUNTIME diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 5d023d725f..94935d79a2 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -18,6 +18,9 @@ GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION) GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz endif +HOST_GCC_LICENSE = GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0 +HOST_GCC_LICENSE_FILES = COPYING COPYING3 COPYING.LIB COPYING3.LIB + # # Xtensa special hook # @@ -88,27 +91,31 @@ HOST_GCC_COMMON_CONF_OPTS += --with-debug-prefix-map=$(BASE_DIR)=buildroot endif # Don't build documentation. It takes up extra space / build time, -# and sometimes needs specific makeinfo versions to work +# and sometimes needs specific makeinfo versions to work. Override the check +# for a modern makeinfo otherwise the configure scripts will still enable it. HOST_GCC_COMMON_CONF_ENV = \ MAKEINFO=missing +HOST_GCC_COMMON_MAKE_OPTS = \ + gcc_cv_prog_makeinfo_modern=no -GCC_COMMON_TARGET_CFLAGS = $(TARGET_CFLAGS) -GCC_COMMON_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS) +# Target binaries and libraries which are being built as a part of GCC +# don't use Buildroot toolchain wrapper because, instead its very own "xgcc" +# binary is used. And so we need to explicitly propagate ALL the flags +# directly to "xgcc" and that is done via configure-time environment +# variables, see below setup of HOST_GCC_COMMON_CONF_ENV. +GCC_COMMON_TARGET_CFLAGS = $(TARGET_CFLAGS) $(ARCH_TOOLCHAIN_WRAPPER_OPTS) +GCC_COMMON_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS) $(ARCH_TOOLCHAIN_WRAPPER_OPTS) +GCC_COMMON_TARGET_LDFLAGS = $(TARGET_LDFLAGS) $(ARCH_TOOLCHAIN_WRAPPER_OPTS) # used to fix ../../../../libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized] ifeq ($(BR2_ENABLE_DEBUG),y) GCC_COMMON_TARGET_CFLAGS += -Wno-error endif -# Make sure libgcc & libstdc++ always get built with -matomic on ARC700 -ifeq ($(GCC_TARGET_CPU):$(BR2_ARC_ATOMIC_EXT),arc700:y) -GCC_COMMON_TARGET_CFLAGS += -matomic -GCC_COMMON_TARGET_CXXFLAGS += -matomic -endif - # Propagate options used for target software building to GCC target libs HOST_GCC_COMMON_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS)" HOST_GCC_COMMON_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS)" +HOST_GCC_COMMON_CONF_ENV += LDFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_LDFLAGS)" HOST_GCC_COMMON_CONF_ENV += AR_FOR_TARGET=gcc-ar NM_FOR_TARGET=gcc-nm RANLIB_FOR_TARGET=gcc-ranlib # libitm needs sparc V9+ @@ -249,7 +256,7 @@ HOST_GCC_COMMON_CONF_OPTS += --with-mode=$(GCC_TARGET_MODE) endif # Enable proper double/long double for SPE ABI -ifeq ($(BR2_powerpc_SPE),y) +ifeq ($(BR2_POWERPC_CPU_HAS_SPE),y) HOST_GCC_COMMON_CONF_OPTS += \ --enable-obsolete \ --enable-e500_double \ @@ -295,7 +302,7 @@ HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_CROSS_PATH_SUFFIX='".br_real"' # For gcc-final, the gcc logic to detect whether SSP support is # available or not in the C library is not working properly for # uClibc, so let's be explicit as well. -HOST_GCC_COMMON_MAKE_OPTS = \ +HOST_GCC_COMMON_MAKE_OPTS += \ gcc_cv_libc_provides_ssp=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) ifeq ($(BR2_CCACHE),y) diff --git a/package/gcnano-binaries/gcnano-binaries.hash b/package/gcnano-binaries/gcnano-binaries.hash index 7bb942e6da..3192b0d854 100644 --- a/package/gcnano-binaries/gcnano-binaries.hash +++ b/package/gcnano-binaries/gcnano-binaries.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b122a0cd7a1bd2cee8c6117b259ef977a765d24e48655f639694cbef471da99b gcnano-binaries-0ac1a89d7a59d040a69745a85f0da7e98644cc4b.tar.gz -sha256 7d209718473d18f69f75adb7caf9cb5d4b0a31da068756aa011bea617de3dc57 EULA +sha256 8bb1f6ee633f3c30e16b33ff6913286edf31f77b69105a14d147509beba3ea94 gcnano-binaries-5d02efd5cb4cfa85307633891f3cf87550a8bc1d.tar.gz +sha256 29c78804b097b5cfee0e802bef9f60348a635640eadd8a91b7ce82ddf17fbf5a EULA diff --git a/package/gcnano-binaries/gcnano-binaries.mk b/package/gcnano-binaries/gcnano-binaries.mk index 83261f3b7c..c3aa5d48d2 100644 --- a/package/gcnano-binaries/gcnano-binaries.mk +++ b/package/gcnano-binaries/gcnano-binaries.mk @@ -4,10 +4,10 @@ # ################################################################################ -GCNANO_BINARIES_LIB_VERSION = 6.4.9 +GCNANO_BINARIES_LIB_VERSION = 6.4.13 GCNANO_BINARIES_DRIVER_VERSION = $(GCNANO_BINARIES_LIB_VERSION) -GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_VERSION)-20221206 -GCNANO_BINARIES_VERSION = 0ac1a89d7a59d040a69745a85f0da7e98644cc4b +GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_VERSION)-20230517 +GCNANO_BINARIES_VERSION = 5d02efd5cb4cfa85307633891f3cf87550a8bc1d GCNANO_BINARIES_SITE = $(call github,STMicroelectronics,gcnano-binaries,$(GCNANO_BINARIES_VERSION)) GCNANO_BINARIES_LICENSE = MIT, Vivante End User Software License Terms @@ -25,7 +25,6 @@ GCNANO_BINARIES_PROVIDES = libegl libgles libgbm # self-extractible binary for the user-space parts. So we extract both # below, and also extract the EULA text from the self-extractible binary define GCNANO_BINARIES_EXTRACT_HELPER - tar --strip-components=1 -xJf $(@D)/gcnano-driver-$(GCNANO_BINARIES_DRIVER_VERSION).tar.xz -C $(@D) awk 'BEGIN { start = 0; } \ /^EOEULA/ { start = 0; } \ { if (start) print; } \ @@ -36,10 +35,12 @@ endef GCNANO_BINARIES_POST_EXTRACT_HOOKS += GCNANO_BINARIES_EXTRACT_HELPER +GCNANO_BINARIES_MODULE_SUBDIRS = gcnano-driver-stm32mp + GCNANO_BINARIES_MODULE_MAKE_OPTS = \ KERNEL_DIR=$(LINUX_DIR) \ SOC_PLATFORM=st-mp1 \ - AQROOT=$(@D) \ + AQROOT=$(@D)/gcnano-driver-stm32mp \ DEBUG=0 GCNANO_BINARIES_USERLAND_SUBDIR = gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION) @@ -55,8 +56,11 @@ define GCNANO_BINARIES_INSTALL done mkdir -p $(1)/usr/include cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/release/include/* $(1)/usr/include/ - mkdir -p $(1)/usr/lib/pkgconfig/ - cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/pkgconfig/* $(1)/usr/lib/pkgconfig/ + cd $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/pkgconfig/ ; \ + for file in *.pc ; do \ + sed -e "s|#PREFIX#|/usr|" -e "s|#VERSION#|22.0.3|" $$file > $$file.temp ; \ + $(INSTALL) -D -m 0644 $$file.temp $(1)/usr/lib/pkgconfig/$$file ; \ + done endef define GCNANO_BINARIES_INSTALL_TARGET_CMDS diff --git a/package/gdal/0001-fix-uclibc-build-without-NPTL.patch b/package/gdal/0001-fix-uclibc-build-without-NPTL.patch deleted file mode 100644 index 6ecbfc7f95..0000000000 --- a/package/gdal/0001-fix-uclibc-build-without-NPTL.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0d3ee8a7661dcd85a9d7b636124af32de8d1b2f1 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 26 Feb 2023 11:31:23 +0100 -Subject: [PATCH] fix uclibc build without NPTL - -Check for pthread_spin_lock instead of pthread_spin_lock_t to avoid the -following uclibc build failure: - -/tmp/instance-7/output-1/build/gdal-3.5.2/port/cpl_multiproc.cpp: In function 'CPLSpinLock* CPLCreateSpinLock()': -/tmp/instance-7/output-1/build/gdal-3.5.2/port/cpl_multiproc.cpp:2265:9: error: 'pthread_spin_init' was not declared in this scope; did you mean 'pthread_cond_init'? - 2265 | pthread_spin_init(&(psSpin->spin), PTHREAD_PROCESS_PRIVATE) == 0 ) - | ^~~~~~~~~~~~~~~~~ - | pthread_cond_init -/tmp/instance-7/output-1/build/gdal-3.5.2/port/cpl_multiproc.cpp: In function 'int CPLAcquireSpinLock(CPLSpinLock*)': -/tmp/instance-7/output-1/build/gdal-3.5.2/port/cpl_multiproc.cpp:2283:12: error: 'pthread_spin_lock' was not declared in this scope; did you mean 'pthread_spinlock_t'? - 2283 | return pthread_spin_lock( &(psSpin->spin) ) == 0; - | ^~~~~~~~~~~~~~~~~ - | pthread_spinlock_t - -Fixes: - - http://autobuild.buildroot.org/results/aa2a88990a07e551c40efb0c2180768add600c4f - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/OSGeo/gdal/pull/7318] ---- - cmake/helpers/configure.cmake | 4 ++-- - cmake/template/cpl_config.h.in | 4 ++-- - port/cpl_config.h.in | 4 ++-- - port/cpl_multiproc.cpp | 4 ++-- - 4 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/cmake/helpers/configure.cmake b/cmake/helpers/configure.cmake -index 08549df434..62a4f636ba 100644 ---- a/cmake/helpers/configure.cmake -+++ b/cmake/helpers/configure.cmake -@@ -110,9 +110,9 @@ else () - " - #define _GNU_SOURCE - #include -- int main() { pthread_spinlock_t spin; return 1; } -+ int main() { pthread_spinlock_t spin; return pthread_spin_lock(&spin); } - " -- HAVE_PTHREAD_SPINLOCK) -+ HAVE_PTHREAD_SPIN_LOCK) - - check_c_source_compiles( - " -diff --git a/cmake/template/cpl_config.h.in b/cmake/template/cpl_config.h.in -index cfa7da94aa..d1fd80bda9 100644 ---- a/cmake/template/cpl_config.h.in -+++ b/cmake/template/cpl_config.h.in -@@ -61,8 +61,8 @@ - /* Define to 1 if you have the `PTHREAD_MUTEX_ADAPTIVE_NP' constant. */ - #cmakedefine HAVE_PTHREAD_MUTEX_ADAPTIVE_NP 1 - --/* Define to 1 if you have the `pthread_spinlock_t' type. */ --#cmakedefine HAVE_PTHREAD_SPINLOCK 1 -+/* Define to 1 if you have the `pthread_spin_lock' function. */ -+#cmakedefine HAVE_PTHREAD_SPIN_LOCK 1 - - /* Define to 1 if you have the `pthread_atfork' function. */ - #cmakedefine HAVE_PTHREAD_ATFORK 1 -diff --git a/port/cpl_config.h.in b/port/cpl_config.h.in -index ea28efb3f0..09a48f242d 100644 ---- a/port/cpl_config.h.in -+++ b/port/cpl_config.h.in -@@ -51,8 +51,8 @@ - /* Define to 1 if you have the `PTHREAD_MUTEX_ADAPTIVE_NP' constant. */ - #undef HAVE_PTHREAD_MUTEX_ADAPTIVE_NP - --/* Define to 1 if you have the `pthread_spinlock_t' type. */ --#undef HAVE_PTHREAD_SPINLOCK -+/* Define to 1 if you have the `pthread_spin_lock' function. */ -+#undef HAVE_PTHREAD_SPIN_LOCK - - /* Define to 1 if you have the 5 args `mremap' function. */ - #undef HAVE_5ARGS_MREMAP -diff --git a/port/cpl_multiproc.cpp b/port/cpl_multiproc.cpp -index 7f5bcd9127..474ff5bb29 100644 ---- a/port/cpl_multiproc.cpp -+++ b/port/cpl_multiproc.cpp -@@ -2232,7 +2232,7 @@ void CPLCleanupTLS() - /* CPLCreateSpinLock() */ - /************************************************************************/ - --#if defined(HAVE_PTHREAD_SPINLOCK) -+#if defined(HAVE_PTHREAD_SPIN_LOCK) - #define HAVE_SPINLOCK_IMPL - - struct _CPLSpinLock -@@ -2310,7 +2310,7 @@ void CPLDestroySpinLock(CPLSpinLock *psSpin) - pthread_spin_destroy(&(psSpin->spin)); - free(psSpin); - } --#endif // HAVE_PTHREAD_SPINLOCK -+#endif // HAVE_PTHREAD_SPIN_LOCK - - #endif // def CPL_MULTIPROC_PTHREAD - --- -2.39.1 - diff --git a/package/gdal/Config.in b/package/gdal/Config.in index ee7209566a..24a1f06af2 100644 --- a/package/gdal/Config.in +++ b/package/gdal/Config.in @@ -1,18 +1,20 @@ config BR2_PACKAGE_GDAL bool "gdal" depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c - depends on BR2_INSTALL_LIBSTDCPP # proj + depends on BR2_INSTALL_LIBSTDCPP # proj, qhull # configure can't find proj, when linking statically depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11, proj depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 depends on BR2_TOOLCHAIN_HAS_THREADS # proj depends on BR2_USE_WCHAR # proj + select BR2_PACKAGE_GIFLIB select BR2_PACKAGE_JPEG select BR2_PACKAGE_JSON_C select BR2_PACKAGE_LIBGEOTIFF select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_PROJ + select BR2_PACKAGE_QHULL select BR2_PACKAGE_ZLIB help GDAL is a translator library for raster and vector geospatial diff --git a/package/gdal/gdal.hash b/package/gdal/gdal.hash index d0b08b4535..baec7c910e 100644 --- a/package/gdal/gdal.hash +++ b/package/gdal/gdal.hash @@ -1,6 +1,6 @@ -# md5 from: https://download.osgeo.org/gdal/3.6.2/gdal-3.6.2.tar.gz.md5, sha256 locally computed: -md5 6f22ffdbd8e00059ddb2b825c5920c4c gdal-3.6.2.tar.xz -sha256 35f40d2e08061b342513cdcddc2b997b3814ef8254514f0ef1e8bc7aa56cf681 gdal-3.6.2.tar.xz +# md5 from: https://download.osgeo.org/gdal/3.8.2/gdal-3.8.2.tar.gz.md5, sha256 locally computed: +md5 178461c9c1cd4503e36559a1063bb752 gdal-3.8.2.tar.xz +sha256 dc2921ee1cf7a5c0498e94d15fb9ab9c9689c296363a1d021fc3293dd242b4db gdal-3.8.2.tar.xz # Hashes of license files: sha256 1dae3468e81d00da56e2936f74d33b8b3ad09d726437f19ce209a5dabea41f77 LICENSE.TXT diff --git a/package/gdal/gdal.mk b/package/gdal/gdal.mk index ce67399c32..77ffb514c2 100644 --- a/package/gdal/gdal.mk +++ b/package/gdal/gdal.mk @@ -4,7 +4,7 @@ # ################################################################################ -GDAL_VERSION = 3.6.2 +GDAL_VERSION = 3.8.2 GDAL_SITE = https://download.osgeo.org/gdal/$(GDAL_VERSION) GDAL_SOURCE = gdal-$(GDAL_VERSION).tar.xz GDAL_LICENSE = Apache-2.0, ISC, MIT, many others @@ -14,39 +14,41 @@ GDAL_INSTALL_STAGING = YES GDAL_CONFIG_SCRIPTS = gdal-config GDAL_SUPPORTS_IN_SOURCE_BUILD = NO -# Using 'make' with CMake's Makefile generator will not work, as -# 'make' uses GNUmakefile first, but GNUmakefile is provided by -# autotools in gdal. We need to force 'make' to use the Makefile, -# which is generated by CMake. GNUmakefile and autoconf are dropped in -# 3.6 so this can be dropped in future version. -GDAL_MAKE_OPTS += -f Makefile - # gdal at its core only needs host-pkgconf, libgeotiff, proj and tiff # but since by default mrf driver support is enabled, it also needs # jpeg, libpng and zlib. By default there are also many other drivers # enabled but it seems, in contrast to mrf driver support, that they # can be implicitly disabled, by configuring gdal without their # respectively needed dependencies. -GDAL_DEPENDENCIES = host-pkgconf jpeg json-c libgeotiff libpng proj tiff zlib +GDAL_DEPENDENCIES = \ + giflib \ + host-pkgconf \ + jpeg \ + json-c \ + libgeotiff \ + libpng \ + proj \ + qhull \ + tiff \ + zlib # Yes, even though they have -DDGDAL_USE options, a few libraries are # mandatory. If we don't provide them, bundled versions are used. GDAL_CONF_OPTS = \ -DGDAL_USE_GEOTIFF=ON \ + -DGDAL_USE_GIF=ON \ -DGDAL_USE_JPEG=ON \ -DGDAL_USE_JSONC=ON \ -DGDAL_USE_ZLIB=ON \ -DGDAL_USE_PNG=ON \ + -DGDAL_USE_QHULL=ON \ -DGDAL_USE_ARMADILLO=OFF \ -DGDAL_USE_BLOSC=OFF \ -DGDAL_USE_BRUNSLI=OFF \ -DGDAL_USE_CFITSIO=OFF \ - -DGDAL_USE_OPENSSL=OFF \ -DGDAL_USE_CRYPTOPP=OFF \ -DGDAL_USE_CRNLIB=OFF \ - -DGDAL_USE_CURL=OFF \ -DGDAL_USE_ECW=OFF \ - -DGDAL_USE_EXPAT=OFF \ -DGDAL_USE_FILEGDB=OFF \ -DGDAL_USE_FREEXL=OFF \ -DGDAL_USE_GEOS=OFF \ @@ -64,8 +66,6 @@ GDAL_CONF_OPTS = \ -DGDAL_USE_KDU=OFF \ -DGDAL_USE_KEA=OFF \ -DGDAL_USE_LERC=OFF \ - -DGDAL_USE_GIF=OFF \ - -DGDAL_USE_LIBLZMA=OFF \ -DGDAL_USE_DEFLATE=OFF \ -DGDAL_USE_MONGOCXX=OFF \ -DGDAL_USE_MRSID=OFF \ @@ -83,14 +83,11 @@ GDAL_CONF_OPTS = \ -DGDAL_USE_PDFIUM=OFF \ -DGDAL_USE_PODOFO=OFF \ -DGDAL_USE_POPPLER=OFF \ - -DGDAL_USE_QHULL=OFF \ - -DGDAL_USE_RASDAMAN=OFF \ -DGDAL_USE_RASTERLITE2=OFF \ -DGDAL_USE_RDB=OFF \ -DGDAL_USE_SFCGAL=OFF \ -DGDAL_USE_FYBA=OFF \ -DGDAL_USE_SPATIALITE=OFF \ - -DGDAL_USE_SQLITE3=OFF \ -DGDAL_USE_TEIGHA=OFF \ -DGDAL_USE_TILEDB=OFF \ -DGDAL_USE_WEBP=OFF \ @@ -105,6 +102,20 @@ GDAL_CONF_OPTS = \ -DBUILD_JAVA_BINDINGS=OFF \ -DBUILD_PYTHON_BINDINGS=OFF +ifeq ($(BR2_PACKAGE_EXPAT),y) +GDAL_DEPENDENCIES += expat +GDAL_CONF_OPTS += -DGDAL_USE_EXPAT=ON +else +GDAL_CONF_OPTS += -DGDAL_USE_EXPAT=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +GDAL_DEPENDENCIES += libcurl +GDAL_CONF_OPTS += -DGDAL_USE_CURL=ON +else +GDAL_CONF_OPTS += -DGDAL_USE_CURL=OFF +endif + ifeq ($(BR2_PACKAGE_LIBXML2),y) GDAL_DEPENDENCIES += libxml2 GDAL_CONF_OPTS += -DGDAL_USE_LIBXML2=ON @@ -112,6 +123,19 @@ else GDAL_CONF_OPTS += -DGDAL_USE_LIBXML2=OFF endif +ifeq ($(BR2_PACKAGE_LIBZLIB),y) +GDAL_CONF_OPTS += -DENABLE_DEFLATE64=ON +else +GDAL_CONF_OPTS += -DENABLE_DEFLATE64=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +GDAL_DEPENDENCIES += openssl +GDAL_CONF_OPTS += -DGDAL_USE_OPENSSL=ON +else +GDAL_CONF_OPTS += -DGDAL_USE_OPENSSL=OFF +endif + ifeq ($(BR2_PACKAGE_POSTGRESQL),y) GDAL_DEPENDENCIES += postgresql GDAL_CONF_OPTS += -DGDAL_USE_POSTGRESQL=ON @@ -119,4 +143,18 @@ else GDAL_CONF_OPTS += -DGDAL_USE_POSTGRESQL=OFF endif +ifeq ($(BR2_PACKAGE_SQLITE),y) +GDAL_DEPENDENCIES += sqlite +GDAL_CONF_OPTS += -DGDAL_USE_SQLITE3=ON +else +GDAL_CONF_OPTS += -DGDAL_USE_SQLITE3=OFF +endif + +ifeq ($(BR2_PACKAGE_XZ),y) +GDAL_DEPENDENCIES += xz +GDAL_CONF_OPTS += -DGDAL_USE_LIBLZMA=ON +else +GDAL_CONF_OPTS += -DGDAL_USE_LIBLZMA=OFF +endif + $(eval $(cmake-package)) diff --git a/package/gdb/10.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/13.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch similarity index 89% rename from package/gdb/10.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch rename to package/gdb/13.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index 9369a14d2c..adf605203e 100644 --- a/package/gdb/10.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/package/gdb/13.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,4 +1,4 @@ -From 64b8ab56118d2fea027adfb7ebbc01668b29528e Mon Sep 17 00:00:00 2001 +From 2edb66509607289ea7462db99e247de1200454c1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Aug 2016 17:32:50 -0700 Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems @@ -15,7 +15,7 @@ Signed-off-by: Romain Naour 2 files changed, 12 insertions(+) diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index d937a65b69c..1fd54b4a0e0 100644 +index c84f9146bbd..8c8580c95e1 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@ @@ -33,7 +33,7 @@ index d937a65b69c..1fd54b4a0e0 100644 /* This sometimes isn't defined. */ diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc -index 337d555aee7..5d518f37268 100644 +index fdf74727e39..f64afd09b7a 100644 --- a/gdbserver/linux-ppc-low.cc +++ b/gdbserver/linux-ppc-low.cc @@ -23,7 +23,13 @@ @@ -51,5 +51,5 @@ index 337d555aee7..5d518f37268 100644 #include "arch/ppc-linux-common.h" #include "arch/ppc-linux-tdesc.h" -- -2.29.2 +2.41.0 diff --git a/package/gdb/10.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/13.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch similarity index 91% rename from package/gdb/10.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch rename to package/gdb/13.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch index 2f96d29820..30bffea6dc 100644 --- a/package/gdb/10.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch +++ b/package/gdb/13.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -1,4 +1,4 @@ -From d205f398e1e36f9673f50f368a3f29fd1dfaa794 Mon Sep 17 00:00:00 2001 +From 2dd3ed43936f26d2929d0e42b200f29e128d4f0d Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 3 Jun 2017 21:23:52 +0200 Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC @@ -19,7 +19,7 @@ Signed-off-by: Romain Naour 1 file changed, 8 insertions(+) diff --git a/gdbserver/linux-sh-low.cc b/gdbserver/linux-sh-low.cc -index a6d3fc60047..b83cce6b9fe 100644 +index 782b8292010..e42f29b845a 100644 --- a/gdbserver/linux-sh-low.cc +++ b/gdbserver/linux-sh-low.cc @@ -76,7 +76,15 @@ extern const struct target_desc *tdesc_sh; @@ -39,5 +39,5 @@ index a6d3fc60047..b83cce6b9fe 100644 #define sh_num_regs 41 -- -2.29.2 +2.41.0 diff --git a/package/gdb/10.2/0003-use-asm-sgidefs.h.patch b/package/gdb/13.2/0003-use-asm-sgidefs.h.patch similarity index 90% rename from package/gdb/10.2/0003-use-asm-sgidefs.h.patch rename to package/gdb/13.2/0003-use-asm-sgidefs.h.patch index e04ebd1dd5..acb80e6f33 100644 --- a/package/gdb/10.2/0003-use-asm-sgidefs.h.patch +++ b/package/gdb/13.2/0003-use-asm-sgidefs.h.patch @@ -1,4 +1,4 @@ -From 65acc8800dba7e10da882871d4648241805c47ce Mon Sep 17 00:00:00 2001 +From 7f05121278d5d5a1939276cfd9f913a0bbe004e1 Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Sat, 30 Apr 2016 15:29:06 -0700 Subject: [PATCH] use @@ -23,7 +23,7 @@ Signed-off-by: Vicente Olivert Riera 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index 38ff461a35b..b6cf194b2bf 100644 +index 972b5db8e76..e3d838dd9a4 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@ @@ -36,5 +36,5 @@ index 38ff461a35b..b6cf194b2bf 100644 #include #include "inf-ptrace.h" -- -2.29.2 +2.41.0 diff --git a/package/gdb/10.2/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/13.2/0004-gdbserver-fix-build-for-m68k.patch similarity index 94% rename from package/gdb/10.2/0004-gdbserver-fix-build-for-m68k.patch rename to package/gdb/13.2/0004-gdbserver-fix-build-for-m68k.patch index 846f7ed293..d4c417375b 100644 --- a/package/gdb/10.2/0004-gdbserver-fix-build-for-m68k.patch +++ b/package/gdb/13.2/0004-gdbserver-fix-build-for-m68k.patch @@ -1,4 +1,4 @@ -From 90ebe548922538b854de52e8b687384f44360984 Mon Sep 17 00:00:00 2001 +From e1eef0a642f7aa8aa6071b99b7c0119c436dec11 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 22 Jun 2018 22:40:26 +0200 Subject: [PATCH] gdbserver: fix build for m68k @@ -32,7 +32,7 @@ Signed-off-by: Romain Naour 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gdbserver/linux-m68k-low.cc b/gdbserver/linux-m68k-low.cc -index 838ba353b0b..36679682b9a 100644 +index 6094fd914f5..3613d9f642a 100644 --- a/gdbserver/linux-m68k-low.cc +++ b/gdbserver/linux-m68k-low.cc @@ -17,6 +17,11 @@ @@ -59,5 +59,5 @@ index 838ba353b0b..36679682b9a 100644 #define m68k_num_gregs 18 -- -2.29.2 +2.41.0 diff --git a/package/gdb/10.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/13.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch similarity index 94% rename from package/gdb/10.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch rename to package/gdb/13.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch index 33dce4d940..e898645982 100644 --- a/package/gdb/10.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch +++ b/package/gdb/13.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch @@ -1,4 +1,4 @@ -From c8454711eca2e79437e17ed1e1e68b48b4c8d927 Mon Sep 17 00:00:00 2001 +From 1527c8a790f50be8386eef413483248ff281ed28 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 24 Jun 2018 23:33:55 +0200 Subject: [PATCH] nat/fork-inferior: include linux-ptrace.h @@ -37,7 +37,7 @@ Signed-off-by: Romain Naour 1 file changed, 1 insertion(+) diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c -index 7ba0126871d..53e1ec72f09 100644 +index 968983b2021..8ef620c7193 100644 --- a/gdb/nat/fork-inferior.c +++ b/gdb/nat/fork-inferior.c @@ -27,6 +27,7 @@ @@ -49,5 +49,5 @@ index 7ba0126871d..53e1ec72f09 100644 extern char **environ; -- -2.29.2 +2.41.0 diff --git a/package/gdb/10.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch b/package/gdb/13.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch similarity index 90% rename from package/gdb/10.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch rename to package/gdb/13.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch index 4b212e2d03..27ff834215 100644 --- a/package/gdb/10.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch +++ b/package/gdb/13.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch @@ -1,4 +1,4 @@ -From bb894a9cfb1c3cf0e0a174c496ad848f589ee7da Mon Sep 17 00:00:00 2001 +From a9a4213216d95b4e7cbe4f96d993233bfa2f21e6 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Sat, 6 Nov 2021 10:06:25 +0100 Subject: [PATCH] Fix getrandom compile for uclibc < v1.0.35 @@ -23,7 +23,7 @@ Signed-off-by: Peter Seiderer 1 file changed, 1 insertion(+) diff --git a/gnulib/import/getrandom.c b/gnulib/import/getrandom.c -index 030a78b..7b24350 100644 +index e1468730933..3948d8d552a 100644 --- a/gnulib/import/getrandom.c +++ b/gnulib/import/getrandom.c @@ -19,6 +19,7 @@ @@ -35,5 +35,5 @@ index 030a78b..7b24350 100644 #include -- -2.33.1 +2.41.0 diff --git a/package/gdb/10.2/0007-fix-musl-build-on-riscv.patch b/package/gdb/13.2/0007-fix-musl-build-on-riscv.patch similarity index 92% rename from package/gdb/10.2/0007-fix-musl-build-on-riscv.patch rename to package/gdb/13.2/0007-fix-musl-build-on-riscv.patch index 34ab08a97a..9b494f6b71 100644 --- a/package/gdb/10.2/0007-fix-musl-build-on-riscv.patch +++ b/package/gdb/13.2/0007-fix-musl-build-on-riscv.patch @@ -1,4 +1,4 @@ -From c3fdbc0a24c83246f951ba79c7167547da979ae5 Mon Sep 17 00:00:00 2001 +From dcadf89351e1944986d3f8c96081142b65f131eb Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Wed, 10 Nov 2021 23:14:54 +0100 Subject: [PATCH] fix musl build on riscv @@ -24,7 +24,7 @@ Signed-off-by: Fabrice Fontaine 2 files changed, 10 insertions(+) diff --git a/gdb/nat/riscv-linux-tdesc.c b/gdb/nat/riscv-linux-tdesc.c -index 837b1707e0f..667c013006a 100644 +index d676233cc31..b620aab5b72 100644 --- a/gdb/nat/riscv-linux-tdesc.c +++ b/gdb/nat/riscv-linux-tdesc.c @@ -31,6 +31,11 @@ @@ -40,7 +40,7 @@ index 837b1707e0f..667c013006a 100644 struct riscv_gdbarch_features diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc -index 8bf97ea4aa3..1142dbc7b16 100644 +index 129bc3b138b..a813a897de4 100644 --- a/gdbserver/linux-riscv-low.cc +++ b/gdbserver/linux-riscv-low.cc @@ -30,6 +30,11 @@ @@ -56,5 +56,5 @@ index 8bf97ea4aa3..1142dbc7b16 100644 class riscv_target : public linux_process_target -- -2.33.0 +2.41.0 diff --git a/package/gdb/11.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch b/package/gdb/13.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch similarity index 90% rename from package/gdb/11.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch rename to package/gdb/13.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch index 903dc61df8..c8a40ab5e5 100644 --- a/package/gdb/11.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch +++ b/package/gdb/13.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch @@ -1,4 +1,4 @@ -From c098500aee945ee7a3021649eb0a2655b004103c Mon Sep 17 00:00:00 2001 +From a4535ce245a0675399877c62a9a12fb0fd36b510 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Thu, 18 Nov 2021 22:52:08 +0100 Subject: [PATCH] gdbserver/Makefile.in: fix NLS build @@ -21,10 +21,10 @@ https://sourceware.org/pipermail/gdb-patches/2021-November/183580.html] 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in -index 71c3c4ad959..e69fbc4dae4 100644 +index 040f0b6faa0..07ca24cef5c 100644 --- a/gdbserver/Makefile.in +++ b/gdbserver/Makefile.in -@@ -383,7 +383,7 @@ $(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS} +@@ -389,7 +389,7 @@ $(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS} $(ECHO_CXXLD) $(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) \ -Wl,--no-undefined $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ $(CXXFLAGS) \ @@ -34,5 +34,5 @@ index 71c3c4ad959..e69fbc4dae4 100644 # Put the proper machine-specific files first, so M-. on a machine # specific routine gets the one for the correct machine. -- -2.33.0 +2.41.0 diff --git a/package/gdb/11.2/0009-gdb-Fix-native-build-on-xtensa.patch b/package/gdb/13.2/0009-gdb-Fix-native-build-on-xtensa.patch similarity index 95% rename from package/gdb/11.2/0009-gdb-Fix-native-build-on-xtensa.patch rename to package/gdb/13.2/0009-gdb-Fix-native-build-on-xtensa.patch index bf4d617fc1..553ef2785b 100644 --- a/package/gdb/11.2/0009-gdb-Fix-native-build-on-xtensa.patch +++ b/package/gdb/13.2/0009-gdb-Fix-native-build-on-xtensa.patch @@ -1,4 +1,4 @@ -From d3bb361eb0b6cbf0257f515f9d5e64add89e6bfa Mon Sep 17 00:00:00 2001 +From ed34c23325270b3eada8202f5478b8d53fb5846a Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Sun, 28 Aug 2022 23:21:37 +0200 Subject: [PATCH] gdb: Fix native build on xtensa @@ -41,7 +41,7 @@ Signed-off-by: Romain Naour 1 file changed, 1 insertion(+) diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c -index ec33f4a10f2..73f35eac683 100644 +index e3da3c6a7a5..61834bc28d0 100644 --- a/gdb/xtensa-linux-nat.c +++ b/gdb/xtensa-linux-nat.c @@ -36,6 +36,7 @@ @@ -53,5 +53,5 @@ index ec33f4a10f2..73f35eac683 100644 /* Defines ps_err_e, struct ps_prochandle. */ #include "gdb_proc_service.h" -- -2.37.2 +2.41.0 diff --git a/package/gdb/11.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/14.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch similarity index 89% rename from package/gdb/11.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch rename to package/gdb/14.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index 9369a14d2c..b213ba5a09 100644 --- a/package/gdb/11.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/package/gdb/14.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,4 +1,4 @@ -From 64b8ab56118d2fea027adfb7ebbc01668b29528e Mon Sep 17 00:00:00 2001 +From ee74f5a6fa98b43c45c9c56a26c00abc21aeeaa1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Aug 2016 17:32:50 -0700 Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems @@ -15,7 +15,7 @@ Signed-off-by: Romain Naour 2 files changed, 12 insertions(+) diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index d937a65b69c..1fd54b4a0e0 100644 +index c84f9146bbd..8c8580c95e1 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@ @@ -33,7 +33,7 @@ index d937a65b69c..1fd54b4a0e0 100644 /* This sometimes isn't defined. */ diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc -index 337d555aee7..5d518f37268 100644 +index 86fbc8f5d96..8a1a39bc750 100644 --- a/gdbserver/linux-ppc-low.cc +++ b/gdbserver/linux-ppc-low.cc @@ -23,7 +23,13 @@ @@ -51,5 +51,5 @@ index 337d555aee7..5d518f37268 100644 #include "arch/ppc-linux-common.h" #include "arch/ppc-linux-tdesc.h" -- -2.29.2 +2.43.0 diff --git a/package/gdb/11.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/14.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch similarity index 91% rename from package/gdb/11.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch rename to package/gdb/14.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch index 2f96d29820..b070c4fc05 100644 --- a/package/gdb/11.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch +++ b/package/gdb/14.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -1,4 +1,4 @@ -From d205f398e1e36f9673f50f368a3f29fd1dfaa794 Mon Sep 17 00:00:00 2001 +From 57b2606e39b2ac90a3810baccbd73161ffdb5f2d Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 3 Jun 2017 21:23:52 +0200 Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC @@ -19,7 +19,7 @@ Signed-off-by: Romain Naour 1 file changed, 8 insertions(+) diff --git a/gdbserver/linux-sh-low.cc b/gdbserver/linux-sh-low.cc -index a6d3fc60047..b83cce6b9fe 100644 +index 782b8292010..e42f29b845a 100644 --- a/gdbserver/linux-sh-low.cc +++ b/gdbserver/linux-sh-low.cc @@ -76,7 +76,15 @@ extern const struct target_desc *tdesc_sh; @@ -39,5 +39,5 @@ index a6d3fc60047..b83cce6b9fe 100644 #define sh_num_regs 41 -- -2.29.2 +2.43.0 diff --git a/package/gdb/11.2/0003-use-asm-sgidefs.h.patch b/package/gdb/14.1/0003-use-asm-sgidefs.h.patch similarity index 90% rename from package/gdb/11.2/0003-use-asm-sgidefs.h.patch rename to package/gdb/14.1/0003-use-asm-sgidefs.h.patch index e04ebd1dd5..12f0885b34 100644 --- a/package/gdb/11.2/0003-use-asm-sgidefs.h.patch +++ b/package/gdb/14.1/0003-use-asm-sgidefs.h.patch @@ -1,4 +1,4 @@ -From 65acc8800dba7e10da882871d4648241805c47ce Mon Sep 17 00:00:00 2001 +From 5288e2a3dcb2928e1367cd1d4c31da3b8310f3a0 Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Sat, 30 Apr 2016 15:29:06 -0700 Subject: [PATCH] use @@ -23,7 +23,7 @@ Signed-off-by: Vicente Olivert Riera 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index 38ff461a35b..b6cf194b2bf 100644 +index 8a7cc95f2a4..3686f43abfd 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@ @@ -36,5 +36,5 @@ index 38ff461a35b..b6cf194b2bf 100644 #include #include "inf-ptrace.h" -- -2.29.2 +2.43.0 diff --git a/package/gdb/11.2/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/14.1/0004-gdbserver-fix-build-for-m68k.patch similarity index 94% rename from package/gdb/11.2/0004-gdbserver-fix-build-for-m68k.patch rename to package/gdb/14.1/0004-gdbserver-fix-build-for-m68k.patch index 846f7ed293..21509b3283 100644 --- a/package/gdb/11.2/0004-gdbserver-fix-build-for-m68k.patch +++ b/package/gdb/14.1/0004-gdbserver-fix-build-for-m68k.patch @@ -1,4 +1,4 @@ -From 90ebe548922538b854de52e8b687384f44360984 Mon Sep 17 00:00:00 2001 +From 5e352184c2fc696c5b7aff1985098c460686a638 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 22 Jun 2018 22:40:26 +0200 Subject: [PATCH] gdbserver: fix build for m68k @@ -32,7 +32,7 @@ Signed-off-by: Romain Naour 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gdbserver/linux-m68k-low.cc b/gdbserver/linux-m68k-low.cc -index 838ba353b0b..36679682b9a 100644 +index 6094fd914f5..3613d9f642a 100644 --- a/gdbserver/linux-m68k-low.cc +++ b/gdbserver/linux-m68k-low.cc @@ -17,6 +17,11 @@ @@ -59,5 +59,5 @@ index 838ba353b0b..36679682b9a 100644 #define m68k_num_gregs 18 -- -2.29.2 +2.43.0 diff --git a/package/gdb/11.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/14.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch similarity index 94% rename from package/gdb/11.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch rename to package/gdb/14.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch index 33dce4d940..43ed3778ca 100644 --- a/package/gdb/11.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch +++ b/package/gdb/14.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch @@ -1,4 +1,4 @@ -From c8454711eca2e79437e17ed1e1e68b48b4c8d927 Mon Sep 17 00:00:00 2001 +From 3e55ad5448f5379e3d7e079f17a18904e905cebf Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 24 Jun 2018 23:33:55 +0200 Subject: [PATCH] nat/fork-inferior: include linux-ptrace.h @@ -37,7 +37,7 @@ Signed-off-by: Romain Naour 1 file changed, 1 insertion(+) diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c -index 7ba0126871d..53e1ec72f09 100644 +index 968983b2021..8ef620c7193 100644 --- a/gdb/nat/fork-inferior.c +++ b/gdb/nat/fork-inferior.c @@ -27,6 +27,7 @@ @@ -49,5 +49,5 @@ index 7ba0126871d..53e1ec72f09 100644 extern char **environ; -- -2.29.2 +2.43.0 diff --git a/package/gdb/11.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch b/package/gdb/14.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch similarity index 90% rename from package/gdb/11.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch rename to package/gdb/14.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch index b02d63fc0c..7fed8266df 100644 --- a/package/gdb/11.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch +++ b/package/gdb/14.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch @@ -1,4 +1,4 @@ -From 879008ef9a48aa1363671f5c1736b49f30c5a379 Mon Sep 17 00:00:00 2001 +From c87940ff1c2efd22c3dab9cd712531281144ed89 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Sat, 6 Nov 2021 10:06:25 +0100 Subject: [PATCH] Fix getrandom compile for uclibc < v1.0.35 @@ -23,7 +23,7 @@ Signed-off-by: Peter Seiderer 1 file changed, 1 insertion(+) diff --git a/gnulib/import/getrandom.c b/gnulib/import/getrandom.c -index 41212fb..0ad3f96 100644 +index e1468730933..3948d8d552a 100644 --- a/gnulib/import/getrandom.c +++ b/gnulib/import/getrandom.c @@ -19,6 +19,7 @@ @@ -35,5 +35,5 @@ index 41212fb..0ad3f96 100644 #include -- -2.33.1 +2.43.0 diff --git a/package/gdb/11.2/0007-fix-musl-build-on-riscv.patch b/package/gdb/14.1/0007-fix-musl-build-on-riscv.patch similarity index 92% rename from package/gdb/11.2/0007-fix-musl-build-on-riscv.patch rename to package/gdb/14.1/0007-fix-musl-build-on-riscv.patch index 34ab08a97a..ca6af2522f 100644 --- a/package/gdb/11.2/0007-fix-musl-build-on-riscv.patch +++ b/package/gdb/14.1/0007-fix-musl-build-on-riscv.patch @@ -1,4 +1,4 @@ -From c3fdbc0a24c83246f951ba79c7167547da979ae5 Mon Sep 17 00:00:00 2001 +From f297ef653008b47fdaa4eebbccf2705f3d0996a8 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Wed, 10 Nov 2021 23:14:54 +0100 Subject: [PATCH] fix musl build on riscv @@ -24,7 +24,7 @@ Signed-off-by: Fabrice Fontaine 2 files changed, 10 insertions(+) diff --git a/gdb/nat/riscv-linux-tdesc.c b/gdb/nat/riscv-linux-tdesc.c -index 837b1707e0f..667c013006a 100644 +index d676233cc31..b620aab5b72 100644 --- a/gdb/nat/riscv-linux-tdesc.c +++ b/gdb/nat/riscv-linux-tdesc.c @@ -31,6 +31,11 @@ @@ -40,7 +40,7 @@ index 837b1707e0f..667c013006a 100644 struct riscv_gdbarch_features diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc -index 8bf97ea4aa3..1142dbc7b16 100644 +index 4c251bb179c..77a48ac9ee1 100644 --- a/gdbserver/linux-riscv-low.cc +++ b/gdbserver/linux-riscv-low.cc @@ -30,6 +30,11 @@ @@ -56,5 +56,5 @@ index 8bf97ea4aa3..1142dbc7b16 100644 class riscv_target : public linux_process_target -- -2.33.0 +2.43.0 diff --git a/package/gdb/10.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch b/package/gdb/14.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch similarity index 81% rename from package/gdb/10.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch rename to package/gdb/14.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch index 3d7534a48a..05fedfc960 100644 --- a/package/gdb/10.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch +++ b/package/gdb/14.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch @@ -1,4 +1,4 @@ -From c098500aee945ee7a3021649eb0a2655b004103c Mon Sep 17 00:00:00 2001 +From 49cc0d8a7a930eab1eb8c848101150ca83145334 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Thu, 18 Nov 2021 22:52:08 +0100 Subject: [PATCH] gdbserver/Makefile.in: fix NLS build @@ -21,18 +21,18 @@ https://sourceware.org/pipermail/gdb-patches/2021-November/183580.html] 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in -index 71c3c4ad959..e69fbc4dae4 100644 +index b597515d428..54cc7ccb0f6 100644 --- a/gdbserver/Makefile.in +++ b/gdbserver/Makefile.in -@@ -383,7 +383,7 @@ $(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS} - $(SILENCE) rm -f $(IPA_LIB) +@@ -389,7 +389,7 @@ $(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS} $(ECHO_CXXLD) $(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) \ -Wl,--no-undefined $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ -- -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread -+ -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread $(INTL) + $(CXXFLAGS) \ +- -o $(IPA_LIB) ${IPA_OBJS} $(LIBIBERTY_FOR_SHLIB) -ldl -pthread ++ -o $(IPA_LIB) ${IPA_OBJS} $(LIBIBERTY_FOR_SHLIB) -ldl -pthread $(INTL) # Put the proper machine-specific files first, so M-. on a machine # specific routine gets the one for the correct machine. -- -2.33.0 +2.43.0 diff --git a/package/gdb/10.2/0009-gdb-Fix-native-build-on-xtensa.patch b/package/gdb/14.1/0009-gdb-Fix-native-build-on-xtensa.patch similarity index 95% rename from package/gdb/10.2/0009-gdb-Fix-native-build-on-xtensa.patch rename to package/gdb/14.1/0009-gdb-Fix-native-build-on-xtensa.patch index 927bf20de5..10302a4bb6 100644 --- a/package/gdb/10.2/0009-gdb-Fix-native-build-on-xtensa.patch +++ b/package/gdb/14.1/0009-gdb-Fix-native-build-on-xtensa.patch @@ -1,4 +1,4 @@ -From 02d9e6a3bc47dfe138ef4511aaeeae26b7dbd1ba Mon Sep 17 00:00:00 2001 +From 0533122983d2ac973453915cb1331b87d8d7fc0a Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Sun, 28 Aug 2022 23:21:37 +0200 Subject: [PATCH] gdb: Fix native build on xtensa @@ -41,7 +41,7 @@ Signed-off-by: Romain Naour 1 file changed, 1 insertion(+) diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c -index b2b3db182bc..b230e08b69f 100644 +index e3da3c6a7a5..61834bc28d0 100644 --- a/gdb/xtensa-linux-nat.c +++ b/gdb/xtensa-linux-nat.c @@ -36,6 +36,7 @@ @@ -53,5 +53,5 @@ index b2b3db182bc..b230e08b69f 100644 /* Defines ps_err_e, struct ps_prochandle. */ #include "gdb_proc_service.h" -- -2.37.2 +2.43.0 diff --git a/package/gdb/Config.in b/package/gdb/Config.in index 6986a6441a..574ad5462f 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -58,7 +58,8 @@ config BR2_PACKAGE_GDB_DEBUGGER bool "full debugger" depends on BR2_USE_WCHAR depends on !BR2_sh - select BR2_PACKAGE_GMP if !BR2_GDB_VERSION_10 && !BR2_arc + select BR2_PACKAGE_GMP + select BR2_PACKAGE_MPFR if (BR2_GDB_VERSION_14 || BR2_arc) select BR2_PACKAGE_NCURSES select BR2_PACKAGE_ZLIB diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index e8a34e0834..53706cd3ee 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -41,24 +41,20 @@ config BR2_PACKAGE_HOST_GDB_SIM choice prompt "GDB debugger Version" - default BR2_GDB_VERSION_11 + default BR2_GDB_VERSION_13 depends on !BR2_arc help Select the version of gdb you wish to use. -config BR2_GDB_VERSION_10 - bool "gdb 10.x" - # gdbserver support missing - depends on !BR2_or1k - -config BR2_GDB_VERSION_11 - bool "gdb 11.x" - # gdbserver support missing - depends on !BR2_or1k - config BR2_GDB_VERSION_12 bool "gdb 12.x" +config BR2_GDB_VERSION_13 + bool "gdb 13.x" + +config BR2_GDB_VERSION_14 + bool "gdb 14.x" + endchoice endif @@ -66,8 +62,10 @@ endif # If cross-gdb is not enabled, the latest stable version is chosen. config BR2_GDB_VERSION string - default "arc-2020.09-release-gdb" if BR2_arc - default "10.2" if BR2_GDB_VERSION_10 - default "11.2" if BR2_GDB_VERSION_11 || (!BR2_PACKAGE_HOST_GDB && !BR2_or1k) - default "12.1" if BR2_GDB_VERSION_12 || (!BR2_PACKAGE_HOST_GDB && BR2_or1k) + default "arc-2023.09-release" if BR2_arc + default "12.1" if BR2_GDB_VERSION_12 + default "13.2" if BR2_GDB_VERSION_13 || !BR2_PACKAGE_HOST_GDB + # When making 14.x the default, or 14.x becomes the oldest version, + # be sure to update the target variant to properly select mpfr. + default "14.2" if BR2_GDB_VERSION_14 depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB diff --git a/package/gdb/arc-2020.09-release-gdb/0001-Do-not-define-basic_string_view-to_string.patch b/package/gdb/arc-2020.09-release-gdb/0001-Do-not-define-basic_string_view-to_string.patch deleted file mode 100644 index 210ba6d609..0000000000 --- a/package/gdb/arc-2020.09-release-gdb/0001-Do-not-define-basic_string_view-to_string.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 5ac588997c3c2d032d5d5145d9245eb37354c23b Mon Sep 17 00:00:00 2001 -From: Tom Tromey -Date: Tue, 30 Jun 2020 07:53:03 -0600 -Subject: [PATCH] Do not define basic_string_view::to_string - -gdb's copy of basic_string_view includes a to_string method. However, -according to cppreference, this is not a method on the real -std::basic_string_view: - -https://en.cppreference.com/w/cpp/string/basic_string_view - -This difference matters because gdb_string_view.h will use the -standard implementation when built with a C++17 or later. This caused -PR build/26183. - -This patch fixes the problem by changing the method to be a standalone -helper function, and then rewriting the uses. Tested by rebuilding -with a version of GCC that defaults to C++17. - -(Note that the build still is not clean; and also I noticed that the -libstdc++ string_view forbids the use of nullptr ... I wonder if gdb -violates that.) - -gdb/ChangeLog -2020-06-30 Tom Tromey - - PR build/26183: - * ada-lang.c (ada_lookup_name_info::ada_lookup_name_info): Use - gdb::to_string. - -gdbsupport/ChangeLog -2020-06-30 Tom Tromey - - PR build/26183: - * gdb_string_view.h (basic_string_view::to_string): Remove. - (gdb::to_string): New function. - -Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5ac588997c3c2d032d5d5145d9245eb37354c23b -Bug report: https://sourceware.org/bugzilla/show_bug.cgi?id=26183 - -Signed-off-by: Bernd Kuhls ---- - gdb/ChangeLog | 6 ++++++ - gdb/ada-lang.c | 8 ++++---- - gdbsupport/ChangeLog | 6 ++++++ - gdbsupport/gdb_string_view.h | 17 ++++++++++------- - 4 files changed, 26 insertions(+), 11 deletions(-) - -diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c -index 9b0c2efbfe2..98508c168bc 100644 ---- a/gdb/ada-lang.c -+++ b/gdb/ada-lang.c -@@ -13553,10 +13553,10 @@ ada_lookup_name_info::ada_lookup_name_info (const lookup_name_info &lookup_name) - { - if (user_name.back () == '>') - m_encoded_name -- = user_name.substr (1, user_name.size () - 2).to_string (); -+ = gdb::to_string (user_name.substr (1, user_name.size () - 2)); - else - m_encoded_name -- = user_name.substr (1, user_name.size () - 1).to_string (); -+ = gdb::to_string (user_name.substr (1, user_name.size () - 1)); - m_encoded_p = true; - m_verbatim_p = true; - m_wild_match_p = false; -@@ -13575,10 +13575,10 @@ ada_lookup_name_info::ada_lookup_name_info (const lookup_name_info &lookup_name) - if (encoded != NULL) - m_encoded_name = encoded; - else -- m_encoded_name = user_name.to_string (); -+ m_encoded_name = gdb::to_string (user_name); - } - else -- m_encoded_name = user_name.to_string (); -+ m_encoded_name = gdb::to_string (user_name); - - /* Handle the 'package Standard' special case. See description - of m_standard_p. */ -diff --git a/gdbsupport/gdb_string_view.h b/gdbsupport/gdb_string_view.h -index c0ae7a8a2d9..65124e67e54 100644 ---- a/gdbsupport/gdb_string_view.h -+++ b/gdbsupport/gdb_string_view.h -@@ -245,13 +245,6 @@ namespace gdb { - return { this->_M_str, this->_M_len }; - } - -- template> -- std::basic_string<_CharT, _Traits, _Allocator> -- to_string(const _Allocator& __alloc = _Allocator()) const -- { -- return { this->_M_str, this->_M_len, __alloc }; -- } -- - size_type - copy(_CharT* __str, size_type __n, size_type __pos = 0) const - { -@@ -560,4 +553,14 @@ namespace gdb { - - #endif // __cplusplus < 201703L - -+namespace gdb { -+ -+static inline std::string -+to_string(const gdb::string_view &view) -+{ -+ return { view.data (), view.size () }; -+} -+ -+} -+ - #endif /* COMMON_GDB_STRING_VIEW_H */ --- -2.39.3 - diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash index 36e2685a25..144f6da296 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -2,6 +2,8 @@ sha512 3653762ac008e065c37cd641653184c9ff7ce51ee2222ade1122bec9d6cc64dffd4fb74888ef11ac1942064a08910e96b7865112ad37f4602eb0a16bed074caa gdb-10.2.tar.xz sha512 07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127 gdb-11.2.tar.xz sha512 425568d2e84672177d0fb87b1ad7daafdde097648d605e30cf0656970f66adc6a82ca2d83375ea4be583e9683a340e5bfdf5819668ddf66728200141ae50ff2d gdb-12.1.tar.xz +sha512 8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f29492c7d2aee57076f52be33e289f4c6b414a4b870d4b3004909f4c34 gdb-13.2.tar.xz +sha512 7e07941f1fe661288cc571b4964012ceabc1760624fce20320db2f470c01439b2386f859b5288da13204b758e2e3b22a74c68c012178db93b9529b06f1e22ede gdb-14.2.tar.xz # Locally calculated (fetched from Github) -sha512 5a2acf2fd33ab2ff589e1037ca40abda54328997dcff26b2b49b874bd3be980be5a63342962254f3c3bda98e32ce7a33af704d37353352833dee193135600458 gdb-arc-2020.09-release-gdb.tar.gz +sha512 3518b47d5c11d1fb478ee152bde1719363f9391db73f3b9f5491217c17742bef8ebca6a51a40302dfaa9476c5a32a8b8f70a4bf64289422dea5f750ae53ab88d gdb-arc-2023.09-release.tar.gz diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index 7de8a09048..141fcfc005 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -8,7 +8,7 @@ GDB_VERSION = $(call qstrip,$(BR2_GDB_VERSION)) GDB_SITE = $(BR2_GNU_MIRROR)/gdb GDB_SOURCE = gdb-$(GDB_VERSION).tar.xz -ifeq ($(BR2_arc),y) +ifeq ($(GDB_VERSION),arc-2023.09-release) GDB_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(GDB_VERSION)) GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz GDB_FROM_GIT = y @@ -56,11 +56,8 @@ GDB_DEPENDENCIES += host-flex host-bison HOST_GDB_DEPENDENCIES += host-flex host-bison endif -# All newer versions of GDB need host-gmp, so it's only for older -# versions that the dependency can be avoided. -ifeq ($(BR2_GDB_VERSION_10)$(BR2_arc),) +# All newer versions of GDB need host-gmp HOST_GDB_DEPENDENCIES += host-gmp -endif # When gdb sources are fetched from the binutils-gdb repository, they # also contain the binutils sources, but binutils shouldn't be built, @@ -121,8 +118,10 @@ GDB_MAKE_ENV += \ GDB_CONF_ENV += gdb_cv_prfpregset_t_broken=no GDB_MAKE_ENV += gdb_cv_prfpregset_t_broken=no -# The shared only build is not supported by gdb, so enable static build for -# build-in libraries with --enable-static. +# We want the built-in libraries of gdb (libbfd, libopcodes) to be +# built and linked statically, as we do not install them on the +# target, to not clash with the ones potentially installed by +# binutils. This is why we pass --enable-static --disable-shared. GDB_CONF_OPTS = \ --without-uiout \ --disable-gdbtk \ @@ -132,7 +131,7 @@ GDB_CONF_OPTS = \ --without-included-gettext \ --disable-werror \ --enable-static \ - --without-mpfr \ + --disable-shared \ --disable-source-highlight ifeq ($(BR2_PACKAGE_GDB_DEBUGGER),y) @@ -156,14 +155,24 @@ GDB_CONF_OPTS += \ endif # Starting from GDB 11.x, gmp is needed as a dependency to build full -# gdb. So we avoid the dependency only for GDB 10.x and the special -# version used on ARC. -ifeq ($(BR2_GDB_VERSION_10)$(BR2_arc):$(BR2_PACKAGE_GDB_DEBUGGER),:y) +# gdb. +ifeq ($(BR2_PACKAGE_GDB_DEBUGGER),y) GDB_CONF_OPTS += \ --with-libgmp-prefix=$(STAGING_DIR)/usr GDB_DEPENDENCIES += gmp endif +# Starting from GDB 14.x, mpfr is needed as a dependency to build full +# gdb. +# GDB fork from ARC GNU tools 2023.09 is based on GDB14 branch and so +# requires MPFR as well. +ifeq ($(BR2_GDB_VERSION_14)$(BR2_arc):$(BR2_PACKAGE_GDB_DEBUGGER),y:y) +GDB_DEPENDENCIES += mpfr +GDB_CONF_OPTS += --with-mpfr=$(STAGING_DIR) +else +GDB_CONF_OPTS += --without-mpfr +endif + ifeq ($(BR2_PACKAGE_GDB_SERVER),y) GDB_CONF_OPTS += --enable-gdbserver GDB_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) @@ -171,13 +180,6 @@ else GDB_CONF_OPTS += --disable-gdbserver endif -# When gdb is built as C++ application for ARC it segfaults at runtime -# So we pass --disable-build-with-cxx config option to force gdb not to -# be built as C++ app. -ifeq ($(BR2_arc),y) -GDB_CONF_OPTS += --disable-build-with-cxx -endif - # gdb 7.12+ by default builds with a C++ compiler, which doesn't work # when we don't have C++ support in the toolchain ifneq ($(BR2_INSTALL_LIBSTDCPP),y) @@ -248,10 +250,14 @@ endif # A few notes: # * --target, because we're doing a cross build rather than a real # host build. -# * --enable-static because gdb really wants to use libbfd.a +# * --enable-static --disable-shared because we want host gdb to +# build and link against a static version of libbfd and +# libopcodes, because we don't install the shared variants of +# those libraries in $(HOST_DIR), as it might clash with binutils HOST_GDB_CONF_OPTS = \ --target=$(GNU_TARGET_NAME) \ --enable-static \ + --disable-shared \ --without-uiout \ --disable-gdbtk \ --without-x \ @@ -260,10 +266,19 @@ HOST_GDB_CONF_OPTS = \ --without-included-gettext \ --with-system-zlib \ --with-curses \ - --without-mpfr \ --disable-source-highlight \ $(GDB_DISABLE_BINUTILS_CONF_OPTS) +# GDB newer than 14.x need host-mpfr +# GDB fork from ARC GNU tools 2023.09 is based on GDB14 branch and so +# requires MPFR as well. +ifeq ($(BR2_GDB_VERSION_14)$(BR2_arc),y) +HOST_GDB_DEPENDENCIES += host-mpfr +HOST_GDB_CONF_OPTS += --with-mpfr=$(HOST_DIR) +else +HOST_GDB_CONF_OPTS += --without-mpfr +endif + ifeq ($(BR2_PACKAGE_HOST_GDB_TUI),y) HOST_GDB_CONF_OPTS += --enable-tui else diff --git a/package/genimage/genimage.hash b/package/genimage/genimage.hash index 7ea8f99fda..e09ffd82be 100644 --- a/package/genimage/genimage.hash +++ b/package/genimage/genimage.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 869f9662d3b778c69b1d1fe70df658e1c9e90aeda26abb753f6fe55e8b0c6e73 genimage-16.tar.xz +sha256 a8756e3567a0d4d82c36b08ccc1e088250b9006d5670c6b2b014185e6ec60671 genimage-17.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/genimage/genimage.mk b/package/genimage/genimage.mk index d1671f335d..2be8e1137e 100644 --- a/package/genimage/genimage.mk +++ b/package/genimage/genimage.mk @@ -4,7 +4,7 @@ # ################################################################################ -GENIMAGE_VERSION = 16 +GENIMAGE_VERSION = 17 GENIMAGE_SOURCE = genimage-$(GENIMAGE_VERSION).tar.xz GENIMAGE_SITE = https://github.com/pengutronix/genimage/releases/download/v$(GENIMAGE_VERSION) HOST_GENIMAGE_DEPENDENCIES = host-pkgconf host-libconfuse diff --git a/package/gerbera/gerbera.mk b/package/gerbera/gerbera.mk index c60d49b0f9..6616a83e74 100644 --- a/package/gerbera/gerbera.mk +++ b/package/gerbera/gerbera.mk @@ -89,8 +89,8 @@ GERBERA_DEPENDENCIES += libupnp GERBERA_CONF_OPTS += -DWITH_NPUPNP=OFF endif -ifeq ($(BR2_PACKAGE_MYSQL),y) -GERBERA_DEPENDENCIES += mysql +ifeq ($(BR2_PACKAGE_MARIADB),y) +GERBERA_DEPENDENCIES += mariadb GERBERA_CONF_OPTS += -DWITH_MYSQL=ON else GERBERA_CONF_OPTS += -DWITH_MYSQL=OFF diff --git a/package/gesftpserver/gesftpserver.mk b/package/gesftpserver/gesftpserver.mk index 5a3ab0536c..5a7106d707 100644 --- a/package/gesftpserver/gesftpserver.mk +++ b/package/gesftpserver/gesftpserver.mk @@ -12,7 +12,7 @@ GESFTPSERVER_LICENSE_FILES = COPYING # "Missing prototype" warning treated as error GESFTPSERVER_CONF_OPTS = --disable-warnings-as-errors -GESFTPSERVER_CPE_ID_VENDOR = green_end +GESFTPSERVER_CPE_ID_VENDOR = greenend GESFTPSERVER_CPE_ID_PRODUCT = sftpserver # forgets to link against pthread when cross compiling diff --git a/package/gettext-gnu/0001-error_print_progname.patch b/package/gettext-gnu/0001-error_print_progname.patch deleted file mode 100644 index 7e1d3c55cf..0000000000 --- a/package/gettext-gnu/0001-error_print_progname.patch +++ /dev/null @@ -1,20 +0,0 @@ -[Updated to apply cleanly with 0.20.1] -Signed-off-by: Adam Duskett ---- -diff --git a/gettext-tools/gnulib-lib/error.h b/gettext-tools/gnulib-lib/error.h -index 61771cc..4221684 100644 ---- a/gettext-tools/gnulib-lib/error.h -+++ b/gettext-tools/gnulib-lib/error.h -@@ -68,7 +68,10 @@ extern void error_at_line (int __status, int __errnum, const char *__fname, - /* If NULL, error will flush stdout, then print on stderr the program - name, a colon and a space. Otherwise, error will call this - function without parameters instead. */ --extern DLL_VARIABLE void (*error_print_progname) (void); -+#ifndef __UCLIBC__ -+extern DLL_VARIABLE -+#endif -+void (*error_print_progname) (void); - - /* This variable is incremented each time 'error' is called. */ - extern DLL_VARIABLE unsigned int error_message_count; --- diff --git a/package/gettext-gnu/0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch b/package/gettext-gnu/0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch deleted file mode 100644 index 5334a36bb7..0000000000 --- a/package/gettext-gnu/0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch +++ /dev/null @@ -1,142 +0,0 @@ -From e4b3a3f56fa6fc2a51769e286545f0631bb4837c Mon Sep 17 00:00:00 2001 -From: Bruno Haible -Date: Sat, 18 May 2019 23:33:06 +0200 -Subject: [PATCH] build: Restore the ability to build gettext-tools separately, part 1. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reported by Hanspeter Niederstrasser -in . - -Code based on patch by Miguel Ãngel Arruga Vivas . - -* autogen.sh: Copy libtextstyle.m4 for use by gettext-tools. -* gettext-tools/configure.ac: New option --with-installed-libtextstyle. -(USE_INSTALLED_LIBTEXTSTYLE): New conditional. -* gettext-tools/src/Makefile.am (textstyle.h): Disable rule if -USE_INSTALLED_LIBTEXTSTYLE is true. -(LT_LIBTEXTSTYLE): New variable. -(libgettextsrc_la_LDFLAGS): Use it instead of hardcoding a relative filename of -libtextstyle.la. -* configure.ac: Filter out --with-installed-libtextstyle from inherited --help -output. -* Makefile.am (distcheck-hook): Compare different copies of libtextstyle.m4. -* PACKAGING: Document that gettext-tools's configure needs to be invoked with ---with-installed-libtextstyle. - -Upstream-status: committed. -https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=e4b3a3f56fa6fc2a51769e286545f0631bb4837c - -Signed-off-by: Bruno Haible -[Backported to 0.20.1] -Signed-off-by: Adam Duskett ---- - PACKAGING | 2 +- - autogen.sh | 1 + - configure.ac | 2 +- - gettext-tools/configure.ac | 16 ++++++++++++++++ - gettext-tools/src/Makefile.am | 8 +++++++- - 5 files changed, 26 insertions(+), 3 deletions(-) - -diff --git a/PACKAGING b/PACKAGING -index a8ce979..52b80ac 100644 ---- a/PACKAGING -+++ b/PACKAGING -@@ -42,7 +42,7 @@ The 'libtextstyle' binary package can be installed by doing - The 'gettext-tools' binary package can be installed by doing - - cd gettext-tools -- ./configure -+ ./configure --with-installed-libtextstyle - make - make install - -diff --git a/autogen.sh b/autogen.sh -index 5c28b6f..2ccf373 100755 ---- a/autogen.sh -+++ b/autogen.sh -@@ -268,6 +268,7 @@ if ! $skip_gnulib; then - $GNULIB_TOOL --dir=gettext-tools --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --tests-base=gnulib-tests --makefile-name=Makefile.gnulib --libtool --with-tests --local-dir=gnulib-local --local-symlink \ - --import --avoid=array-list-tests --avoid=linkedhash-list-tests --avoid=hash-tests --avoid=fdutimensat-tests --avoid=futimens-tests --avoid=utime-tests --avoid=utimens-tests --avoid=utimensat-tests \ - `for m in $GNULIB_MODULES_TOOLS_LIBUNISTRING_TESTS; do echo --avoid=$m; done` $GNULIB_MODULES_TOOLS_FOR_SRC $GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES $GNULIB_MODULES_TOOLS_OTHER || exit $? -+ $GNULIB_TOOL --copy-file m4/libtextstyle.m4 gettext-tools/gnulib-m4/libtextstyle.m4 || exit $? - # In gettext-tools/libgrep: - GNULIB_MODULES_TOOLS_FOR_LIBGREP=' - mbrlen -diff --git a/configure.ac b/configure.ac -index 38db6fd..0c84bdd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -49,7 +49,7 @@ AC_CANONICAL_HOST - dnl Optional Features: AC_ARG_ENABLE calls - dnl Optional Packages: AC_ARG_WITH calls - dnl Some influential environment variables: AC_ARG_VAR calls --esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | sed -f build-aux/ac-help.sed ]) -+esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.libtextstyle; } | sed -f build-aux/ac-help.sed ]) - - AC_CONFIG_FILES([Makefile]) - -diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac -index cf1dd73..a6816b8 100644 ---- a/gettext-tools/configure.ac -+++ b/gettext-tools/configure.ac -@@ -121,6 +121,22 @@ AM_CONDITIONAL([PACKAGE_IS_GETTEXT_TOOLS], [true]) - AM_CONDITIONAL([PRELOADABLE_LIBINTL], - [test $USE_INCLUDED_LIBINTL = no && test $GLIBC2 = yes]) - -+dnl This option allows to build gettext-tools without (re)building libtextstyle. -+AC_ARG_WITH([installed-libtextstyle], -+ [AS_HELP_STRING([--with-installed-libtextstyle], -+ [Use an already installed libtextstyle.])], -+ [gt_use_installed_libtextstyle=$withval], -+ [gt_use_installed_libtextstyle=no]) -+if test "$gt_use_installed_libtextstyle" != no; then -+ gl_LIBTEXTSTYLE -+else -+ test -f ../libtextstyle/Makefile || { -+ AC_MSG_ERROR([When building the gettext-tools package without building the entire gettext package, you need to pass the --with-installed-libtextstyle option to configure.]) -+ } -+fi -+AM_CONDITIONAL([USE_INSTALLED_LIBTEXTSTYLE], -+ [test "$gt_use_installed_libtextstyle" != no]) -+ - dnl This line internationalizes the bison generated parsers. - BISON_I18N - -diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am -index b98b7ab..af3dcee 100644 ---- a/gettext-tools/src/Makefile.am -+++ b/gettext-tools/src/Makefile.am -@@ -250,6 +250,9 @@ cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c - cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML) - cldr_plurals_LDADD = libgettextsrc.la $(LDADD) - -+if USE_INSTALLED_LIBTEXTSTYLE -+LT_LIBTEXTSTYLE = @LTLIBTEXTSTYLE@ -+else - # How to get the include files of libtextstyle. - textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h: - here=`pwd`; \ -@@ -257,6 +260,9 @@ textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h: - $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here" - BUILT_SOURCES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h - MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h -+# Where to find the built libtextstyle library. -+LT_LIBTEXTSTYLE = ../../libtextstyle/lib/libtextstyle.la -+endif - - # How to build libgettextsrc.la. - # Need ../gnulib-lib/libgettextlib.la. -@@ -268,7 +274,7 @@ MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyl - # use iconv(). - libgettextsrc_la_LDFLAGS = \ - -release @VERSION@ \ -- ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) ../../libtextstyle/lib/libtextstyle.la @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined -+ ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) $(LT_LIBTEXTSTYLE) @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined - - # OS/2 does not support a DLL name longer than 8 characters. - if OS2 --- -2.24.1 - diff --git a/package/gettext-gnu/gettext-gnu.hash b/package/gettext-gnu/gettext-gnu.hash index 4c17fb3e04..7c649843f4 100644 --- a/package/gettext-gnu/gettext-gnu.hash +++ b/package/gettext-gnu/gettext-gnu.hash @@ -1,7 +1,5 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2019-05/msg00011.html -sha1 62f4a6a2fd5f80bfd0e66c497a04094fa3e07b90 gettext-0.20.1.tar.xz - +# Please keep in sync with package/gettext-tiny/gettext-tiny.hash # Locally calculated -sha256 53f02fbbec9e798b0faaf7c73272f83608e835c6288dd58be6c9bb54624a3800 gettext-0.20.1.tar.xz +sha256 29217f1816ee2e777fa9a01f9956a14139c0c23cc1b20368f06b2888e8a34116 gettext-0.22.4.tar.xz sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING sha256 3fe5361f24b7c49ba12911c08f5a33f9cb18871d95d9fb881f5b8a4793e04288 gettext-runtime/intl/COPYING.LIB diff --git a/package/gettext-gnu/gettext-gnu.mk b/package/gettext-gnu/gettext-gnu.mk index 9a1eabd0df..b7d0cf213c 100644 --- a/package/gettext-gnu/gettext-gnu.mk +++ b/package/gettext-gnu/gettext-gnu.mk @@ -4,8 +4,9 @@ # ################################################################################ -# Please keep in sync with package/libtextstyle/libtextstyle.mk -GETTEXT_GNU_VERSION = 0.20.1 +# Please keep in sync with GETTEXT_TINY_ARCHIVE_VERSION in +# gettext-tiny/gettext-tiny.mk +GETTEXT_GNU_VERSION = 0.22.4 GETTEXT_GNU_SITE = $(BR2_GNU_MIRROR)/gettext GETTEXT_GNU_SOURCE = gettext-$(GETTEXT_GNU_VERSION).tar.xz GETTEXT_GNU_INSTALL_STAGING = YES @@ -13,13 +14,11 @@ GETTEXT_GNU_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest) GETTEXT_GNU_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB GETTEXT_GNU_CPE_ID_VENDOR = gnu GETTEXT_GNU_CPE_ID_PRODUCT = gettext -# 0002-restore-the-ability-to-buld-gettext-tools-seperately-part1.patch -GETTEXT_GNU_AUTORECONF = YES GETTEXT_GNU_PROVIDES = gettext GETTEXT_GNU_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) # Avoid using the bundled subset of libxml2 -HOST_GETTEXT_GNU_DEPENDENCIES = host-libxml2 host-libtextstyle +HOST_GETTEXT_GNU_DEPENDENCIES = host-libxml2 GETTEXT_GNU_CONF_OPTS += \ --disable-libasprintf \ @@ -41,8 +40,7 @@ HOST_GETTEXT_GNU_CONF_OPTS = \ --disable-native-java \ --disable-csharp \ --disable-relocatable \ - --without-emacs \ - --with-installed-libtextstyle + --without-emacs # Force the build of libintl, even if the C library provides a stub # gettext implementation @@ -52,10 +50,13 @@ else GETTEXT_GNU_CONF_OPTS += --without-included-gettext endif -# For the target version, we only need the runtime, and for the host -# version, we only need the tools. +# For the target version, we only need the runtime. GETTEXT_GNU_SUBDIR = gettext-runtime -HOST_GETTEXT_GNU_SUBDIR = gettext-tools +# For the host variant, we only need the tools, but those need the +# runtime, so it is much simpler to build the whole package. _SUBDIR +# for the host is inherited from the target if not set or empty, so +# we need to explicitly set it to build the whole package. +HOST_GETTEXT_GNU_SUBDIR = . # Disable the build of documentation and examples of gettext-tools, # and the build of documentation and tests of gettext-runtime. @@ -89,15 +90,5 @@ define HOST_GETTEXT_GNU_GETTEXTIZE_CONFIRMATION endef HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_GETTEXTIZE_CONFIRMATION -# autoreconf expects gettextize to install ABOUT-NLS, but it only gets -# installed by gettext-runtime which we don't build/install for the -# host, so do it manually -define HOST_GETTEXT_GNU_ADD_ABOUT_NLS - $(INSTALL) -m 0644 $(@D)/$(HOST_GETTEXT_GNU_SUBDIR)/ABOUT-NLS \ - $(HOST_DIR)/share/gettext/ABOUT-NLS -endef - -HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_ADD_ABOUT_NLS - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/gettext-tiny/gettext-tiny.hash b/package/gettext-tiny/gettext-tiny.hash index 5155b41910..f7ed50b49f 100644 --- a/package/gettext-tiny/gettext-tiny.hash +++ b/package/gettext-tiny/gettext-tiny.hash @@ -2,5 +2,5 @@ sha256 29cc165e27e83d2bb3760118c2368eadab550830d962d758e51bd36eb860f383 gettext-tiny-0.3.2.tar.gz sha256 4c938aa3d8fa3c184bba5e87a8a2febc89560627c9d0567536879e3eca1a7b4f LICENSE sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b extra/COPYING -# From https://lists.gnu.org/archive/html/info-gnu/2019-05/msg00011.html -sha1 62f4a6a2fd5f80bfd0e66c497a04094fa3e07b90 gettext-0.20.1.tar.xz +# Locally Computed: +sha256 29217f1816ee2e777fa9a01f9956a14139c0c23cc1b20368f06b2888e8a34116 gettext-0.22.4.tar.xz diff --git a/package/gettext-tiny/gettext-tiny.mk b/package/gettext-tiny/gettext-tiny.mk index e2dc563667..3fe8a781d9 100644 --- a/package/gettext-tiny/gettext-tiny.mk +++ b/package/gettext-tiny/gettext-tiny.mk @@ -14,7 +14,8 @@ HOST_GETTEXT_TINY_LICENSE_FILES = LICENSE extra/COPYING GETTEXT_TINY_PROVIDES = gettext # needed for gettextize -GETTEXT_TINY_ARCHIVE_VERSION = 0.20.1 +# Please keep in sync with package/gettext-gnu/gettext-gnu.mk +GETTEXT_TINY_ARCHIVE_VERSION = 0.22.4 GETTEXT_TINY_EXTRA_GETTEXT_FILES = \ gettext-tools/misc/gettextize.in \ diff --git a/package/ghostscript/ghostscript.hash b/package/ghostscript/ghostscript.hash index 77c8faccbe..849f6c64ba 100644 --- a/package/ghostscript/ghostscript.hash +++ b/package/ghostscript/ghostscript.hash @@ -1,5 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10020/SHA512SUMS -sha512 c49344151063e915add55a0a842c2a645d8362a5cbca663bd07638f4bd3699a08cade37a9efe905ad5a41e014353e5e1b1268b7925e43128ad30d5b031396b71 ghostscript-10.02.0.tar.xz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10021/SHA512SUMS +sha512 ee0f754c1bd8a18428ad14eaa3ead80ff8b96275af5012e7a8384f1f10490da056eec9ae3cc791a7a13a24e16e54df5bccdd109c7d53a14534bbd7360a300b11 ghostscript-10.02.1.tar.xz # Hash for license file: sha256 8ce064f423b7c24a011b6ebf9431b8bf9861a5255e47c84bfb23fc526d030a8b LICENSE diff --git a/package/ghostscript/ghostscript.mk b/package/ghostscript/ghostscript.mk index 161521f970..da23ebbadb 100644 --- a/package/ghostscript/ghostscript.mk +++ b/package/ghostscript/ghostscript.mk @@ -4,7 +4,7 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 10.02.0 +GHOSTSCRIPT_VERSION = 10.02.1 GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION)) GHOSTSCRIPT_LICENSE = AGPL-3.0 diff --git a/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch b/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch index 384457d0bd..ba8d426bea 100644 --- a/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch +++ b/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch @@ -8,8 +8,7 @@ targets to allow the user to build giflib when dynamic library support is not available or enable on the toolchain Signed-off-by: Fabrice Fontaine -[Upstream status: -https://sourceforge.net/p/giflib/code/merge-requests/7] +Upstream: https://sourceforge.net/p/giflib/code/merge-requests/7 --- Makefile | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) @@ -18,16 +17,19 @@ diff --git a/Makefile b/Makefile index b2bf6de..111f52f 100644 --- a/Makefile +++ b/Makefile -@@ -61,10 +61,17 @@ UTILS = $(INSTALLABLE) \ +@@ -91,13 +91,20 @@ LIBUTILSO = libutil.$(SOEXTENSION) + LIBUTILSOMAJOR = libutil.$(LIBMAJOR).$(SOEXTENSION) + endif - LDLIBS=libgif.a -lm - --all: libgif.so libgif.a libutil.so libutil.a $(UTILS) -+SHARED_LIBS = libgif.so libutil.so +-all: $(LIBGIFSO) libgif.a $(LIBUTILSO) libutil.a $(UTILS) ++SHARED_LIBS = $(LIBGIFSO) $(LIBUTILSO) +STATIC_LIBS = libgif.a libutil.a + +all: shared-lib static-lib $(UTILS) + ifeq ($(UNAME), Darwin) + else $(MAKE) -C doc + endif -$(UTILS):: libgif.a libutil.a +$(UTILS):: $(STATIC_LIBS) @@ -36,18 +38,18 @@ index b2bf6de..111f52f 100644 + +static-lib: $(STATIC_LIBS) - libgif.so: $(OBJECTS) $(HEADERS) - $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) -@@ -79,7 +86,7 @@ libutil.a: $(UOBJECTS) $(UHEADERS) + $(LIBGIFSO): $(OBJECTS) $(HEADERS) + ifeq ($(UNAME), Darwin) +@@ -120,7 +127,7 @@ libutil.a: $(UOBJECTS) $(UHEADERS) $(AR) rcs libutil.a $(UOBJECTS) clean: -- rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a libgif.so libutil.a libutil.so *.o +- rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a $(LIBGIFSO) libutil.a $(LIBUTILSO) *.o + rm -f $(UTILS) $(TARGET) libgetarg.a $(SHARED_LIBS) $(STATIC_LIBS) *.o - rm -f libgif.so.$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT) - rm -f libgif.so.$(LIBMAJOR) - rm -fr doc/*.1 *.html doc/staging -@@ -96,12 +103,15 @@ install-bin: $(INSTALLABLE) + rm -f $(LIBGIFSOVER) + rm -f $(LIBGIFSOMAJOR) + rm -fr doc/*.[17] *.html doc/staging +@@ -145,12 +152,15 @@ install-bin: $(INSTALLABLE) install-include: $(INSTALL) -d "$(DESTDIR)$(INCDIR)" $(INSTALL) -m 644 gif_lib.h "$(DESTDIR)$(INCDIR)" @@ -57,13 +59,13 @@ index b2bf6de..111f52f 100644 $(INSTALL) -m 644 libgif.a "$(DESTDIR)$(LIBDIR)/libgif.a" +install-shared-lib: + $(INSTALL) -d "$(DESTDIR)$(LIBDIR)" - $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)" - ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)" - ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so" + $(INSTALL) -m 755 $(LIBGIFSO) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSOVER)" + ln -sf $(LIBGIFSOVER) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSOMAJOR)" + ln -sf $(LIBGIFSOMAJOR) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSO)" +install-lib: install-static-lib install-shared-lib install-man: - $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" - $(INSTALL) -m 644 doc/*.1 "$(DESTDIR)$(MANDIR)/man1" + $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" "$(DESTDIR)$(MANDIR)/man7" + $(INSTALL) -m 644 $(MANUAL_PAGES_1:xml=1) "$(DESTDIR)$(MANDIR)/man1" -- -2.20.1 +2.43.0 diff --git a/package/giflib/0002-Fix-several-defects-found-by-Coverity-scan.patch b/package/giflib/0002-Fix-several-defects-found-by-Coverity-scan.patch new file mode 100644 index 0000000000..f6816d0753 --- /dev/null +++ b/package/giflib/0002-Fix-several-defects-found-by-Coverity-scan.patch @@ -0,0 +1,59 @@ +From a1c48b91cd1cf1e9bf7077709b69f4bfd4c4abc7 Mon Sep 17 00:00:00 2001 +From: Sandro Mani +Date: Tue, 5 Dec 2023 16:38:48 -0700 +Subject: [PATCH] Fix several defects found by Coverity scan + +From: giflib-5.2.1-17.fc39.src.rpm +Upstream: Not submitted + +Signed-off-by: Sandro Mani +Signed-off-by: Adam Duskett +[Fabrice: updated for 5.2.2] +Signed-off-by: Fabrice Fontaine +--- + gif2rgb.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/gif2rgb.c b/gif2rgb.c +index d9a469f..02cea41 100644 +--- a/gif2rgb.c ++++ b/gif2rgb.c +@@ -170,6 +170,8 @@ static void SaveGif(GifByteType *OutputBuffer, + /* Open stdout for the output file: */ + if ((GifFile = EGifOpenFileHandle(1, &Error)) == NULL) { + PrintGifError(Error); ++ free(OutputBuffer); ++ GifFreeMapObject(OutputColorMap); + exit(EXIT_FAILURE); + } + +@@ -179,6 +181,8 @@ static void SaveGif(GifByteType *OutputBuffer, + EGifPutImageDesc(GifFile, 0, 0, Width, Height, false, NULL) == + GIF_ERROR) { + PrintGifError(Error); ++ free(OutputBuffer); ++ GifFreeMapObject(OutputColorMap); + exit(EXIT_FAILURE); + } + +@@ -187,6 +191,8 @@ static void SaveGif(GifByteType *OutputBuffer, + + for (i = 0; i < Height; i++) { + if (EGifPutLine(GifFile, Ptr, Width) == GIF_ERROR) { ++ free(OutputBuffer); ++ GifFreeMapObject(OutputColorMap); + exit(EXIT_FAILURE); + } + GifQprintf("\b\b\b\b%-4d", Height - i - 1); +@@ -196,6 +203,8 @@ static void SaveGif(GifByteType *OutputBuffer, + + if (EGifCloseFile(GifFile, &Error) == GIF_ERROR) { + PrintGifError(Error); ++ free(OutputBuffer); ++ GifFreeMapObject(OutputColorMap); + exit(EXIT_FAILURE); + } + } +-- +2.43.0 + diff --git a/package/giflib/giflib.hash b/package/giflib/giflib.hash index 445e9c4b3d..f11d4f1505 100644 --- a/package/giflib/giflib.hash +++ b/package/giflib/giflib.hash @@ -1,5 +1,6 @@ # From http://sourceforge.net/projects/giflib/files -md5 6f03aee4ebe54ac2cc1ab3e4b0a049e5 giflib-5.2.1.tar.gz -sha1 c3f774dcbdf26afded7788979c8081d33c6426dc giflib-5.2.1.tar.gz +md5 913dd251492134e235ee3c9a91987a4d giflib-5.2.2.tar.gz +sha1 608ba98d2dd8d03dfa7476f434d57de50a33e10b giflib-5.2.2.tar.gz # Locally computed +sha256 be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb giflib-5.2.2.tar.gz sha256 0c9b7990ecdca88b676db232c226548ac408b279f550d424d996f0d83591dd8e COPYING diff --git a/package/giflib/giflib.mk b/package/giflib/giflib.mk index d47edfaa8b..f37ec8af21 100644 --- a/package/giflib/giflib.mk +++ b/package/giflib/giflib.mk @@ -4,12 +4,12 @@ # ################################################################################ -GIFLIB_VERSION = 5.2.1 +GIFLIB_VERSION = 5.2.2 GIFLIB_SITE = http://downloads.sourceforge.net/project/giflib GIFLIB_INSTALL_STAGING = YES GIFLIB_LICENSE = MIT GIFLIB_LICENSE_FILES = COPYING -GIFLIB_CPE_ID_VENDOR = giflib_project +GIFLIB_CPE_ID_VALID = YES ifeq ($(BR2_STATIC_LIBS),y) GIFLIB_BUILD_LIBS = static-lib @@ -27,7 +27,7 @@ define GIFLIB_BUILD_CMDS endef define HOST_GIFLIB_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) shared-lib endef define GIFLIB_INSTALL_STAGING_CMDS @@ -42,7 +42,7 @@ endef define HOST_GIFLIB_INSTALL_CMDS $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) \ - PREFIX=/usr install + PREFIX=/usr install-include install-shared-lib endef $(eval $(generic-package)) diff --git a/package/git/git.hash b/package/git/git.hash index 91d723ecd1..9cf044cc07 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,5 +1,5 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 e748bafd424cfe80b212cbc6f1bbccc3a47d4862fb1eb7988877750478568040 git-2.41.0.tar.xz +sha256 5446603e73d911781d259e565750dcd277a42836c8e392cac91cf137aa9b76ec git-2.43.0.tar.xz # Locally calculated sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 diff --git a/package/git/git.mk b/package/git/git.mk index 99646b10dc..1502968186 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_VERSION = 2.41.0 +GIT_VERSION = 2.43.0 GIT_SOURCE = git-$(GIT_VERSION).tar.xz GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ diff --git a/package/gli/0001-Optional-building-tests.patch b/package/gli/0001-Optional-building-tests.patch deleted file mode 100644 index c085e5060b..0000000000 --- a/package/gli/0001-Optional-building-tests.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 629fc81ce73114a5925484937df796467adbe8c7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jo=C3=A3o=20Pereira?= -Date: Fri, 22 Mar 2019 22:58:17 +0000 -Subject: [PATCH] Optional building tests - -[Retrieved from: -https://github.com/g-truc/gli/commit/629fc81ce73114a5925484937df796467adbe8c7] -Signed-off-by: Fabrice Fontaine ---- - CMakeLists.txt | 1 + - test/CMakeLists.txt | 8 +++++--- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6eb1a68b..bcff7ef0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -13,6 +13,7 @@ include(GNUInstallDirs) - include(CMakePackageConfigHelpers) - - enable_testing() -+option(GLI_TEST_ENABLE "Build unit tests" ON) - - add_definitions(-D_CRT_SECURE_NO_WARNINGS) - add_definitions(-DSOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 6b1d4826..e51a3181 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -19,10 +19,12 @@ function(glmCreateTestGTC NAME) - set(SAMPLE_NAME test-${NAME}) - add_executable(${SAMPLE_NAME} ${NAME}.cpp) - target_link_libraries(${SAMPLE_NAME} gli) -- add_test( -+ add_test( - NAME ${SAMPLE_NAME} - COMMAND $ ) - endfunction() - --add_subdirectory(bug) --add_subdirectory(core) -+if(GLI_TEST_ENABLE) -+ add_subdirectory(bug) -+ add_subdirectory(core) -+endif() diff --git a/package/gli/gli.hash b/package/gli/gli.hash index deef901af9..b6f9317f94 100644 --- a/package/gli/gli.hash +++ b/package/gli/gli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9374f3cf6441dac0154f7e5ae9ad9ae99f4c4a36f8eb6de23f54a1996b9f2769 gli-559cbe1ec38878e182507d331e0780fbae5baf15.tar.gz -sha256 e26459f62353e631d18379668c82b85f9fd2fd993f2818277e4fce21e957f87a manual.md +sha256 2f4f67ac4d1673216f03ff37e406bb403689b39a2df3d2efad501448705bbb3f gli-779b99ac6656e4d30c3b24e96e0136a59649a869.tar.gz +sha256 474c5f04064507cf5ac991fc3d4b990e5e34b15705d38d2062f8844c102113cf manual.md diff --git a/package/gli/gli.mk b/package/gli/gli.mk index 9b9990910a..a789209452 100644 --- a/package/gli/gli.mk +++ b/package/gli/gli.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLI_VERSION = 559cbe1ec38878e182507d331e0780fbae5baf15 +GLI_VERSION = 779b99ac6656e4d30c3b24e96e0136a59649a869 GLI_SITE = $(call github,g-truc,gli,$(GLI_VERSION)) GLI_LICENSE = MIT GLI_LICENSE_FILES = manual.md diff --git a/package/glibc/0001-m68k-Fix-build-with-mcpu-68040-or-higher-BZ-30740.patch b/package/glibc/0001-m68k-Fix-build-with-mcpu-68040-or-higher-BZ-30740.patch new file mode 100644 index 0000000000..61f48e5893 --- /dev/null +++ b/package/glibc/0001-m68k-Fix-build-with-mcpu-68040-or-higher-BZ-30740.patch @@ -0,0 +1,57 @@ +From b85880633f69b737050c22eede858f8c13bb2248 Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +Date: Fri, 18 Aug 2023 14:59:51 -0300 +Subject: [PATCH] m68k: Fix build with -mcpu=68040 or higher (BZ 30740) + +GCC currently does not define __mc68020__ for -mcpu=68040 or higher, +which memcpy/memmove assumptions. Since this memory copy optimization +seems only intended for m68020, disable for other m680X0 variants. + +Checked on a build for m68k-linux-gnu target mc68020 and mc68040. + +Signed-off-by: Waldemar Brodkorb +Upstream: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b85880633f69b737050c22eede858f8c13bb2248 +--- + sysdeps/m68k/m680x0/m68020/wordcopy.S | 1 - + sysdeps/m68k/wordcopy.c | 21 +++++++++++++++++++++ + 2 files changed, 21 insertions(+), 1 deletion(-) + delete mode 100644 sysdeps/m68k/m680x0/m68020/wordcopy.S + create mode 100644 sysdeps/m68k/wordcopy.c + +diff --git a/sysdeps/m68k/m680x0/m68020/wordcopy.S b/sysdeps/m68k/m680x0/m68020/wordcopy.S +deleted file mode 100644 +index 4fb1a4518f..0000000000 +--- a/sysdeps/m68k/m680x0/m68020/wordcopy.S ++++ /dev/null +@@ -1 +0,0 @@ +-/* Empty, not needed. */ +diff --git a/sysdeps/m68k/wordcopy.c b/sysdeps/m68k/wordcopy.c +new file mode 100644 +index 0000000000..f12d5b7803 +--- /dev/null ++++ b/sysdeps/m68k/wordcopy.c +@@ -0,0 +1,21 @@ ++/* Definitions for memory copy functions. Motorola 680X0 version ++ Copyright (C) 2023 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library. If not, see ++ . */ ++ ++#ifndef __mc68020__ ++# include ++#endif +-- +2.39.2 + diff --git a/package/glibc/0002-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch b/package/glibc/0002-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch new file mode 100644 index 0000000000..256da58d66 --- /dev/null +++ b/package/glibc/0002-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch @@ -0,0 +1,47 @@ +From 464fd8249e8b791248cab7b0e0cd91757435fa9e Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Thu, 17 Aug 2023 17:15:34 +0200 +Subject: [PATCH] m68k: fix __mpn_lshift and __mpn_rshift for non-68020 + +From revision 03f3d275d0d6 in the gmp repository. + +Signed-off-by: Waldemar Brodkorb +Upstream: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=464fd8249e8b791248cab7b0e0cd91757435fa9e +--- + sysdeps/m68k/m680x0/lshift.S | 4 ++-- + sysdeps/m68k/m680x0/rshift.S | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sysdeps/m68k/m680x0/lshift.S b/sysdeps/m68k/m680x0/lshift.S +index 2aee10348e..4240738959 100644 +--- a/sysdeps/m68k/m680x0/lshift.S ++++ b/sysdeps/m68k/m680x0/lshift.S +@@ -77,8 +77,8 @@ L(Lnormal:) + #else /* not mc68000 */ + movel R(s_size),R(d0) + asll #2,R(d0) +- addl R(s_size),R(s_ptr) +- addl R(s_size),R(res_ptr) ++ addl R(d0),R(s_ptr) ++ addl R(d0),R(res_ptr) + #endif + movel MEM_PREDEC(s_ptr),R(d2) + movel R(d2),R(d0) +diff --git a/sysdeps/m68k/m680x0/rshift.S b/sysdeps/m68k/m680x0/rshift.S +index d16bca9307..d56a2b4a44 100644 +--- a/sysdeps/m68k/m680x0/rshift.S ++++ b/sysdeps/m68k/m680x0/rshift.S +@@ -127,8 +127,8 @@ L(Lspecial:) + #else /* not mc68000 */ + movel R(s_size),R(d0) + asll #2,R(d0) +- addl R(s_size),R(s_ptr) +- addl R(s_size),R(res_ptr) ++ addl R(d0),R(s_ptr) ++ addl R(d0),R(res_ptr) + #endif + + clrl R(d0) /* initialize carry */ +-- +2.39.2 + diff --git a/package/glibc/0003-m68k-Use-M68K_SCALE_AVAILABLE-on-__mpn_lshift-and-__.patch b/package/glibc/0003-m68k-Use-M68K_SCALE_AVAILABLE-on-__mpn_lshift-and-__.patch new file mode 100644 index 0000000000..2ea190eb5a --- /dev/null +++ b/package/glibc/0003-m68k-Use-M68K_SCALE_AVAILABLE-on-__mpn_lshift-and-__.patch @@ -0,0 +1,93 @@ +From 87ced255bdf2681f5bf6c89d7121e59f6f342161 Mon Sep 17 00:00:00 2001 +From: Adhemerval Zanella +Date: Fri, 18 Aug 2023 14:49:31 -0300 +Subject: [PATCH] m68k: Use M68K_SCALE_AVAILABLE on __mpn_lshift and + __mpn_rshift + +This patch adds a new macro, M68K_SCALE_AVAILABLE, similar to gmp +scale_available_p (mpn/m68k/m68k-defs.m4) that expand to 1 if a +scale factor can be used in addressing modes. This is used +instead of __mc68020__ for some optimization decisions. + +Checked on a build for m68k-linux-gnu target mc68020 and mc68040. + +Signed-off-by: Waldemar Brodkorb +Upstream: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=87ced255bdf2681f5bf6c89d7121e59f6f342161 +--- + sysdeps/m68k/m680x0/lshift.S | 6 +++--- + sysdeps/m68k/m680x0/rshift.S | 8 ++++---- + sysdeps/m68k/m680x0/sysdep.h | 7 +++++++ + 3 files changed, 14 insertions(+), 7 deletions(-) + +diff --git a/sysdeps/m68k/m680x0/lshift.S b/sysdeps/m68k/m680x0/lshift.S +index 4240738959..74de90380b 100644 +--- a/sysdeps/m68k/m680x0/lshift.S ++++ b/sysdeps/m68k/m680x0/lshift.S +@@ -57,9 +57,9 @@ ENTRY(__mpn_lshift) + bne L(Lnormal) + cmpl R(s_ptr),R(res_ptr) + bls L(Lspecial) /* jump if s_ptr >= res_ptr */ +-#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) ++#if M68K_SCALE_AVAILABLE + lea MEM_INDX1(s_ptr,s_size,l,4),R(a2) +-#else /* not mc68020 */ ++#else + movel R(s_size),R(d0) + asll #2,R(d0) + lea MEM_INDX(s_ptr,d0,l),R(a2) +@@ -71,7 +71,7 @@ L(Lnormal:) + moveql #32,R(d5) + subl R(cnt),R(d5) + +-#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) ++#if M68K_SCALE_AVAILABLE + lea MEM_INDX1(s_ptr,s_size,l,4),R(s_ptr) + lea MEM_INDX1(res_ptr,s_size,l,4),R(res_ptr) + #else /* not mc68000 */ +diff --git a/sysdeps/m68k/m680x0/rshift.S b/sysdeps/m68k/m680x0/rshift.S +index d56a2b4a44..d398d0287e 100644 +--- a/sysdeps/m68k/m680x0/rshift.S ++++ b/sysdeps/m68k/m680x0/rshift.S +@@ -56,9 +56,9 @@ ENTRY(__mpn_rshift) + bne L(Lnormal) + cmpl R(res_ptr),R(s_ptr) + bls L(Lspecial) /* jump if res_ptr >= s_ptr */ +-#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) ++#if M68K_SCALE_AVAILABLE + lea MEM_INDX1(res_ptr,s_size,l,4),R(a2) +-#else /* not mc68020 */ ++#else + movel R(s_size),R(d0) + asll #2,R(d0) + lea MEM_INDX(res_ptr,d0,l),R(a2) +@@ -121,10 +121,10 @@ L(Lend:) + + cfi_restore_state + L(Lspecial:) +-#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) ++#if M68K_SCALE_AVAILABLE + lea MEM_INDX1(s_ptr,s_size,l,4),R(s_ptr) + lea MEM_INDX1(res_ptr,s_size,l,4),R(res_ptr) +-#else /* not mc68000 */ ++#else + movel R(s_size),R(d0) + asll #2,R(d0) + addl R(d0),R(s_ptr) +diff --git a/sysdeps/m68k/m680x0/sysdep.h b/sysdeps/m68k/m680x0/sysdep.h +index b31e101273..bee5b3391c 100644 +--- a/sysdeps/m68k/m680x0/sysdep.h ++++ b/sysdeps/m68k/m680x0/sysdep.h +@@ -37,3 +37,10 @@ + OP " " SRC "(" PC "), " DST + + #endif /* __ASSEMBLER__ */ ++ ++# if defined __mc68020__ || defined __mc68030__ || defined __mc68040__ \ ++ || defined __mc68060__ ++# define M68K_SCALE_AVAILABLE 1 ++# else ++# define M68K_SCALE_AVAILABLE 0 ++# endif +-- +2.39.2 + diff --git a/package/glibc/2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f/glibc.hash b/package/glibc/2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f/glibc.hash deleted file mode 100644 index 4b8d8297ec..0000000000 --- a/package/glibc/2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f/glibc.hash +++ /dev/null @@ -1,7 +0,0 @@ -# Locally calculated (fetched from Github) -sha256 3e2004b16ec6b79a19a88ed4736719ef9e419f9d8e7013faced654c0339e23dc glibc-2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f.tar.gz - -# Hashes for license files -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 b33d0bd9f685b46853548814893a6135e74430d12f6d94ab3eba42fc591f83bc LICENSES diff --git a/package/glibc/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash b/package/glibc/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash deleted file mode 100644 index a61bd65f80..0000000000 --- a/package/glibc/7630ed2fa60caea98f500e4a7a51b88f9bf1e176/glibc.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated (fetched from https://github.com/c-sky/glibc) -sha512 9deb2deceefe347d72de13510a5baa3de00f94c684f3b25e136ca3660f61e65a69f2115abb488c2ab0fa93cda8535853ce1e13e186efcc8434ecc4049efd82b5 glibc-7630ed2fa60caea98f500e4a7a51b88f9bf1e176.tar.gz diff --git a/package/glibc/Config.in b/package/glibc/Config.in index 71c50504ac..81c64083f4 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_GLIBC_ARCH_SUPPORTS default y if BR2_aarch64 default y if BR2_aarch64_be default y if BR2_i386 + default y if BR2_m68k_m68k default y if BR2_mips default y if BR2_mipsel default y if BR2_mips64 @@ -21,7 +22,7 @@ config BR2_PACKAGE_GLIBC_ARCH_SUPPORTS default y if BR2_microblaze default y if BR2_nios2 default y if BR2_arc && BR2_ARC_ATOMIC_EXT - depends on !BR2_powerpc_SPE + depends on !BR2_POWERPC_CPU_HAS_SPE depends on BR2_RISCV_ISA_RVA || !BR2_riscv depends on BR2_USE_MMU diff --git a/package/glibc/glibc.hash b/package/glibc/glibc.hash index 2b8f49ea6b..15ae55b9e6 100644 --- a/package/glibc/glibc.hash +++ b/package/glibc/glibc.hash @@ -1,5 +1,5 @@ # Locally calculated (fetched from Github) -sha256 19d874f03dadbccaca8ae88a0e96d38435066badfe6ed606c2ad1e525454dece glibc-2.37-45-gb4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3.tar.gz +sha256 e38f4284d6909c6b5db7d79c6e450daeaf136a67e547290eec0b063a55eaaa42 glibc-2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0.tar.gz # Hashes for license files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index 319028b058..d198d6f04c 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -7,7 +7,7 @@ # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- # When updating the version, please also update localedef -GLIBC_VERSION = 2.37-45-gb4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3 +GLIBC_VERSION = 2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0 # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, # sometimes the connection times out. So use an unofficial github mirror. @@ -20,6 +20,52 @@ GLIBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+, BSD-3-Clause, MIT (library) GLIBC_LICENSE_FILES = COPYING COPYING.LIB LICENSES GLIBC_CPE_ID_VENDOR = gnu +# Extract the base version (e.g. 2.38) from GLIBC_VERSION in order to +# allow proper matching with the CPE database. +GLIBC_CPE_ID_VERSION = $(word 1, $(subst -,$(space),$(GLIBC_VERSION))) + +# Fixed by b25508dd774b617f99419bdc3cf2ace4560cd2d6, which is between +# 2.38 and the version we're really using +GLIBC_IGNORE_CVES += CVE-2023-4527 + +# Fixed by 5ee59ca371b99984232d7584fe2b1a758b4421d3, which is between +# 2.38 and the version we're really using +GLIBC_IGNORE_CVES += CVE-2023-4806 + +# Fixed by 750a45a783906a19591fb8ff6b7841470f1f5710, which is between +# 2.38 and the version we're really using. +GLIBC_IGNORE_CVES += CVE-2023-4911 + +# Fixed by 5ee59ca371b99984232d7584fe2b1a758b4421d3, which is between +# 2.38 and the version we're really using. +GLIBC_IGNORE_CVES += CVE-2023-5156 + +# Fixed by 23514c72b780f3da097ecf33a793b7ba9c2070d2, which is between +# 2.38 and the version we're really using. +GLIBC_IGNORE_CVES += CVE-2023-6246 + +# Fixed by d0338312aace5bbfef85e03055e1212dd0e49578, which is between +# 2.38 and the version we're really using. +GLIBC_IGNORE_CVES += CVE-2023-6779 + +# Fixed by d37c2b20a4787463d192b32041c3406c2bd91de0, which is between +# 2.38 and the version we're really using. +GLIBC_IGNORE_CVES += CVE-2023-6780 + +# All these CVEs are considered as not being security issues by +# upstream glibc: +# https://security-tracker.debian.org/tracker/CVE-2010-4756 +# https://security-tracker.debian.org/tracker/CVE-2019-1010022 +# https://security-tracker.debian.org/tracker/CVE-2019-1010023 +# https://security-tracker.debian.org/tracker/CVE-2019-1010024 +# https://security-tracker.debian.org/tracker/CVE-2019-1010025 +GLIBC_IGNORE_CVES += \ + CVE-2010-4756 \ + CVE-2019-1010022 \ + CVE-2019-1010023 \ + CVE-2019-1010024 \ + CVE-2019-1010025 + # glibc is part of the toolchain so disable the toolchain dependency GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO @@ -148,6 +194,8 @@ define GLIBC_CONFIGURE_CMDS --disable-werror \ --without-gd \ --with-headers=$(STAGING_DIR)/usr/include \ + $(if $(BR2_aarch64)$(BR2_aarch64_be),--enable-mathvec) \ + --enable-crypt \ $(GLIBC_CONF_OPTS)) $(GLIBC_ADD_MISSING_STUB_H) endef diff --git a/package/glm/glm.hash b/package/glm/glm.hash index b0c1d92c74..0084bd0930 100644 --- a/package/glm/glm.hash +++ b/package/glm/glm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5e33b6131cea6a904339734b015110d4342b7dc02d995164fdb86332d28a5aa4 glm-0.9.9.5.tar.gz -sha256 337130631a714eeae017556cad101d5324c2961214120b6214741d3d43667086 manual.md +sha256 e51f6c89ff33b7cfb19daafb215f293d106cd900f8d681b9b1295312ccadbd23 glm-1.0.0.tar.gz +sha256 62d2d642c7d054d4fb4c9b42faad617d6c88fcd91e317f8035aa9f277cc159c3 copying.txt diff --git a/package/glm/glm.mk b/package/glm/glm.mk index 3ef106a943..ce8efc11a7 100644 --- a/package/glm/glm.mk +++ b/package/glm/glm.mk @@ -4,10 +4,10 @@ # ################################################################################ -GLM_VERSION = 0.9.9.5 +GLM_VERSION = 1.0.0 GLM_SITE = $(call github,g-truc,glm,$(GLM_VERSION)) GLM_LICENSE = MIT -GLM_LICENSE_FILES = manual.md +GLM_LICENSE_FILES = copying.txt # GLM is a header-only library, it only makes sense # to have it installed into the staging directory. @@ -17,7 +17,6 @@ GLM_INSTALL_TARGET = NO # Don't build libraries as GLM is header-only GLM_CONF_OPTS = \ -DGLM_TEST_ENABLE=OFF \ - -DBUILD_SHARED_LIBS=OFF \ - -DBUILD_STATIC_LIBS=OFF + -DGLM_BUILD_LIBRARY=OFF $(eval $(cmake-package)) diff --git a/package/gloox/gloox.hash b/package/gloox/gloox.hash index 66a3c2d1be..963b798299 100644 --- a/package/gloox/gloox.hash +++ b/package/gloox/gloox.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0b8b7371439bc58d9e51384b616c964b18b7b41b87af1b7855104380eda86ffb gloox-1.0.27.tar.bz2 +sha256 591bd12c249ede0b50a1ef6b99ac0de8ef9c1ba4fd2e186f97a740215cc5966c gloox-1.0.28.tar.bz2 sha256 40a20c41c8dabb8ba61bea983fa8f2f6989e67fac56bb62c2249053807fd26af LICENSE diff --git a/package/gloox/gloox.mk b/package/gloox/gloox.mk index 3495db96f0..0d24f8008b 100644 --- a/package/gloox/gloox.mk +++ b/package/gloox/gloox.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLOOX_VERSION = 1.0.27 +GLOOX_VERSION = 1.0.28 GLOOX_SOURCE = gloox-$(GLOOX_VERSION).tar.bz2 GLOOX_SITE = https://camaya.net/download GLOOX_LICENSE = GPL-3.0 with OpenSSL exception diff --git a/package/gmp/0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch b/package/gmp/0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch deleted file mode 100644 index 0003f342c3..0000000000 --- a/package/gmp/0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch +++ /dev/null @@ -1,27 +0,0 @@ -# HG changeset patch -# User Marco Bodrato -# Date 1634836009 -7200 -# Node ID 561a9c25298e17bb01896801ff353546c6923dbd -# Parent e1fd9db13b475209a864577237ea4b9105b3e96e -mpz/inp_raw.c: Avoid bit size overflows - -[Retrieved from: https://gmplib.org/repo/gmp-6.2/rev/561a9c25298e] -Signed-off-by: Fabrice Fontaine - -diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c ---- a/mpz/inp_raw.c Tue Dec 22 23:49:51 2020 +0100 -+++ b/mpz/inp_raw.c Thu Oct 21 19:06:49 2021 +0200 -@@ -88,8 +88,11 @@ - - abs_csize = ABS (csize); - -+ if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8)) -+ return 0; /* Bit size overflows */ -+ - /* round up to a multiple of limbs */ -- abs_xsize = BITS_TO_LIMBS (abs_csize*8); -+ abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8); - - if (abs_xsize != 0) - { - diff --git a/package/gmp/gmp.hash b/package/gmp/gmp.hash index d55e312bbb..8c8b4d1151 100644 --- a/package/gmp/gmp.hash +++ b/package/gmp/gmp.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 gmp-6.2.1.tar.xz +sha256 a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898 gmp-6.3.0.tar.xz # Locally calculated sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSERv3 diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk index a077c89d92..7e8da9025c 100644 --- a/package/gmp/gmp.mk +++ b/package/gmp/gmp.mk @@ -4,7 +4,7 @@ # ################################################################################ -GMP_VERSION = 6.2.1 +GMP_VERSION = 6.3.0 GMP_SITE = $(BR2_GNU_MIRROR)/gmp GMP_SOURCE = gmp-$(GMP_VERSION).tar.xz GMP_INSTALL_STAGING = YES @@ -14,8 +14,7 @@ GMP_CPE_ID_VENDOR = gmplib GMP_DEPENDENCIES = host-m4 HOST_GMP_DEPENDENCIES = host-m4 -# 0001-mpz-inp_raw.c-Avoid-bit-size-overflows.patch -GMP_IGNORE_CVES += CVE-2021-43618 +GMP_CONF_ENV += CC_FOR_BUILD="$(HOSTCC) -std=c99" # GMP doesn't support assembly for coldfire or mips r6 ISA yet # Disable for ARM v7m since it has different asm constraints @@ -24,7 +23,7 @@ GMP_CONF_OPTS += --disable-assembly endif # GMP needs M extension for riscv assembly -ifeq ($(BR2_riscv):$(BR2_RISCV_ISA_CUSTOM_RVM),y:) +ifeq ($(BR2_riscv):$(BR2_RISCV_ISA_RVM),y:) GMP_CONF_OPTS += --disable-assembly endif diff --git a/package/gmpc/Config.in b/package/gmpc/Config.in deleted file mode 100644 index 1aa74251f0..0000000000 --- a/package/gmpc/Config.in +++ /dev/null @@ -1,26 +0,0 @@ -config BR2_PACKAGE_GMPC - bool "gmpc" - depends on BR2_PACKAGE_LIBGTK2 - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - select BR2_PACKAGE_LIBMPD - select BR2_PACKAGE_LIBSOUP - select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_SQLITE - select BR2_PACKAGE_XLIB_LIBICE - select BR2_PACKAGE_XLIB_LIBSM - select BR2_PACKAGE_XLIB_LIBX11 - help - Gnome Music Player Client is a GNOME/GTK2.2 client for - Music Player Daemon. - - http://gmpcwiki.sarine.nl/index.php?title=GMPC - -comment "gmpc needs a toolchain w/ wchar, threads" - depends on BR2_USE_MMU - depends on BR2_PACKAGE_XORG7 && BR2_PACKAGE_LIBGTK2 - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/gmpc/gmpc.hash b/package/gmpc/gmpc.hash deleted file mode 100644 index 66de8b6226..0000000000 --- a/package/gmpc/gmpc.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 a69414f35396846733632ca9619921d7acda537ffd6d49bd84b444945cb76b2c gmpc-11.8.16.tar.gz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/gmpc/gmpc.mk b/package/gmpc/gmpc.mk deleted file mode 100644 index 40b77eb189..0000000000 --- a/package/gmpc/gmpc.mk +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# -# gmpc -# -################################################################################ - -GMPC_VERSION = 11.8.16 -GMPC_SITE = http://download.sarine.nl/Programs/gmpc/$(GMPC_VERSION) -GMPC_CONF_ENV = ac_cv_path_GOB2=$(GOB2_HOST_BINARY) -GMPC_CONF_OPTS = --disable-mmkeys --disable-unique -GMPC_LICENSE = GPL-2.0+ -GMPC_LICENSE_FILES = COPYING -GMPC_DEPENDENCIES = host-gob2 host-intltool host-pkgconf host-vala \ - libglib2 libgtk2 libmpd libsoup sqlite \ - xlib_libICE xlib_libSM xlib_libX11 \ - $(TARGET_NLS_DEPENDENCIES) - -$(eval $(autotools-package)) diff --git a/package/gnu-efi/gnu-efi.hash b/package/gnu-efi/gnu-efi.hash index 251a99e5d7..7d98650991 100644 --- a/package/gnu-efi/gnu-efi.hash +++ b/package/gnu-efi/gnu-efi.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/gnu-efi/files -md5 192d94e995ddd4ebdce4903adfd06039 gnu-efi-3.0.15.tar.bz2 -sha1 40c8a4715cf8c409a093c8d2ca9f5d5b24d73058 gnu-efi-3.0.15.tar.bz2 +md5 832496719182e7d6a4b12bc7c0b534d2 gnu-efi-3.0.17.tar.bz2 +sha1 9715285022124b231520d58b26709f5ab338e981 gnu-efi-3.0.17.tar.bz2 # Locally computed -sha256 931a257b9c5c1ba65ff519f18373c438a26825f2db7866b163e96d1b168f20ea gnu-efi-3.0.15.tar.bz2 +sha256 7807e903349343a7a142ebb934703a2872235e89688cf586c032b0a1087bcaf4 gnu-efi-3.0.17.tar.bz2 sha256 42d352e9c28dd446fd0209cd6f75588c8e41f0934540bb382bbd61c752360265 README.efilib diff --git a/package/gnu-efi/gnu-efi.mk b/package/gnu-efi/gnu-efi.mk index 686a14be01..8b9a6aa4c6 100644 --- a/package/gnu-efi/gnu-efi.mk +++ b/package/gnu-efi/gnu-efi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNU_EFI_VERSION = 3.0.15 +GNU_EFI_VERSION = 3.0.17 GNU_EFI_SOURCE = gnu-efi-$(GNU_EFI_VERSION).tar.bz2 GNU_EFI_SITE = http://downloads.sourceforge.net/project/gnu-efi GNU_EFI_INSTALL_STAGING = YES diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index aa71881f41..8bb64c9eda 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,5 +1,5 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 3efd495a94dc81fd0ea8788bef6c69d1f13cedd7 gnupg-2.4.2.tar.bz2 -sha256 97eb47df8ae5a3ff744f868005a090da5ab45cb48ee9836dbf5ee739a4e5cf49 gnupg-2.4.2.tar.bz2 +sha1 ae0935ead29a2dfa34d6b48d70808652bc3ca73b gnupg-2.4.5.tar.bz2 +sha256 f68f7d75d06cb1635c336d34d844af97436c3f64ea14bcb7c869782f96f44277 gnupg-2.4.5.tar.bz2 # Locally calculated sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk index 760af3b05e..39b0a066f6 100644 --- a/package/gnupg2/gnupg2.mk +++ b/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.4.2 +GNUPG2_VERSION = 2.4.5 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ diff --git a/package/gnuplot/gnuplot.hash b/package/gnuplot/gnuplot.hash index 2f482ca434..39dacd50a4 100644 --- a/package/gnuplot/gnuplot.hash +++ b/package/gnuplot/gnuplot.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.7/ -md5 cdc9bb3ac0cc7e717246ed3df2d6ffa2 gnuplot-5.4.7.tar.gz -sha1 6e68f94af822ff56549beab3a465c2fe976d3b34 gnuplot-5.4.7.tar.gz +# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.10/ +md5 334851e63450362bdb95e67fa8a23665 gnuplot-5.4.10.tar.gz +sha1 9981e5b0111c07d376deef571ccc75ce4b4ebbd2 gnuplot-5.4.10.tar.gz # Locally computed -sha256 318a1501c9e659f39cf05ee5268335671bddc6c20eae06851f262fde27c2e739 gnuplot-5.4.7.tar.gz +sha256 975d8c1cc2c41c7cedc4e323aff035d977feb9a97f0296dd2a8a66d197a5b27c gnuplot-5.4.10.tar.gz sha256 895928ec0735cca1c8cec42656c7e314a065d0242813bb8693c0c1bf61fd4e4d Copyright diff --git a/package/gnuplot/gnuplot.mk b/package/gnuplot/gnuplot.mk index 23fbae10a9..91e9bfb9bf 100644 --- a/package/gnuplot/gnuplot.mk +++ b/package/gnuplot/gnuplot.mk @@ -4,11 +4,11 @@ # ################################################################################ -GNUPLOT_VERSION = 5.4.7 +GNUPLOT_VERSION = 5.4.10 GNUPLOT_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION) GNUPLOT_LICENSE = gnuplot license (open source) GNUPLOT_LICENSE_FILES = Copyright -GNUPLOT_CPE_ID_VENDOR = gnuplot_project +GNUPLOT_CPE_ID_VALID = YES GNUPLOT_AUTORECONF = YES @@ -23,7 +23,8 @@ GNUPLOT_CONF_OPTS = \ --disable-wxwidgets \ --without-lua \ --without-latex \ - --without-cairo + --without-cairo \ + --without-qt # relocation truncated to fit: R_68K_GOT16O ifeq ($(BR2_m68k_cf),y) diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in index 51237e62b9..be997e91e2 100644 --- a/package/gnuradio/Config.in +++ b/package/gnuradio/Config.in @@ -79,6 +79,7 @@ config BR2_PACKAGE_GNURADIO_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_HOST_GCC_AT_LEAST_9 # host-python-numpy select BR2_PACKAGE_BOOST_PYTHON select BR2_PACKAGE_PYTHON_NUMPY # runtime select BR2_PACKAGE_PYTHON_PYBIND @@ -86,8 +87,9 @@ config BR2_PACKAGE_GNURADIO_PYTHON help Enable python component -comment "python support needs glibc or musl" - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) +comment "python support needs a glibc or musl toolchain w/ host gcc >= 9" + depends on !BR2_HOST_GCC_AT_LEAST_9 || \ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) config BR2_PACKAGE_GNURADIO_UTILS bool "gr-utils support" diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash index 2f6dba9d3c..47fb34ea7c 100644 --- a/package/gnutls/gnutls.hash +++ b/package/gnutls/gnutls.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.0.tar.xz.sig -sha256 0ea0d11a1660a1e63f960f157b197abe6d0c8cb3255be24e1fb3815930b9bdc5 gnutls-3.8.0.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.3.tar.xz.sig +sha256 f74fc5954b27d4ec6dfbb11dea987888b5b124289a3703afcada0ee520f4173e gnutls-3.8.3.tar.xz # Locally calculated sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 doc/COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 doc/COPYING.LESSER diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index d6b8b229bd..8a4f3345aa 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -6,7 +6,7 @@ # When bumping, make sure *all* --without-libfoo-prefix options are in GNUTLS_CONF_OPTS GNUTLS_VERSION_MAJOR = 3.8 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).0 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).3 GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) GNUTLS_LICENSE = LGPL-2.1+ (core library) diff --git a/package/go-bootstrap-stage2/go-bootstrap-stage2.hash b/package/go-bootstrap-stage2/go-bootstrap-stage2.hash index 6d4c718a40..d61663cac9 100644 --- a/package/go-bootstrap-stage2/go-bootstrap-stage2.hash +++ b/package/go-bootstrap-stage2/go-bootstrap-stage2.hash @@ -1,3 +1,3 @@ # From https://go.dev/dl -sha256 e25c9ab72d811142b7f41ff6da5165fec2d1be5feec3ef2c66bc0bdecb431489 go1.19.11.src.tar.gz +sha256 ccf36b53fb0024a017353c3ddb22c1f00bc7a8073c6aac79042da24ee34434d3 go1.19.13.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go-bootstrap-stage2/go-bootstrap-stage2.mk b/package/go-bootstrap-stage2/go-bootstrap-stage2.mk index 72f3200a2e..98bf624b57 100644 --- a/package/go-bootstrap-stage2/go-bootstrap-stage2.mk +++ b/package/go-bootstrap-stage2/go-bootstrap-stage2.mk @@ -6,7 +6,7 @@ # Use last Go version that go-bootstrap-stage1 can build: v1.19.x # See https://golang.org/doc/install/source#bootstrapFromSource -GO_BOOTSTRAP_STAGE2_VERSION = 1.19.11 +GO_BOOTSTRAP_STAGE2_VERSION = 1.19.13 GO_BOOTSTRAP_STAGE2_SITE = https://storage.googleapis.com/golang GO_BOOTSTRAP_STAGE2_SOURCE = go$(GO_BOOTSTRAP_STAGE2_VERSION).src.tar.gz diff --git a/package/go/go.hash b/package/go/go.hash index a4aafbe6e4..0c6a8f230e 100644 --- a/package/go/go.hash +++ b/package/go/go.hash @@ -1,3 +1,3 @@ # From https://go.dev/dl -sha256 72d2f51805c47150066c103754c75fddb2c19d48c9219fa33d1e46696c841dbb go1.20.10.src.tar.gz +sha256 58f0c5ced45a0012bce2ff7a9df03e128abcc8818ebabe5027bb92bafe20e421 go1.21.9.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go/go.mk b/package/go/go.mk index c3f88b8682..fdd956e439 100644 --- a/package/go/go.mk +++ b/package/go/go.mk @@ -4,7 +4,7 @@ # ################################################################################ -GO_VERSION = 1.20.10 +GO_VERSION = 1.21.9 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz @@ -28,6 +28,7 @@ HOST_GO_COMMON_ENV = \ GOCACHE="$(HOST_GO_TARGET_CACHE)" \ GOMODCACHE="$(HOST_GO_GOPATH)/pkg/mod" \ GOPROXY=off \ + GOTOOLCHAIN=local \ PATH=$(BR_PATH) \ GOBIN= \ CGO_ENABLED=$(HOST_GO_CGO_ENABLED) diff --git a/package/google-breakpad/0001-Fixed-missing-include-for-std-find_if.patch b/package/google-breakpad/0001-Fixed-missing-include-for-std-find_if.patch new file mode 100644 index 0000000000..141e12b613 --- /dev/null +++ b/package/google-breakpad/0001-Fixed-missing-include-for-std-find_if.patch @@ -0,0 +1,26 @@ +From 898a997855168c0e6a689072fefba89246271a5d Mon Sep 17 00:00:00 2001 +From: Nathan Moinvaziri +Date: Tue, 19 Dec 2023 14:35:05 -0800 +Subject: [PATCH] Fixed missing include for std::find_if. + +Throws an error when compiling on Windows. + +Change-Id: Ieb34c00cf199aaa1b45a440086c48b8ed363b3c7 +Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/5137658 +Reviewed-by: Ivan Penkov +Upstream: https://github.com/google/breakpad/commit/898a997855168c0e6a689072fefba89246271a5d +Signed-off-by: Kadambini Nema +--- + +diff --git a/src/common/module.cc b/src/common/module.cc +index 0eb5aad..b6f5da7 100644 +--- a/src/common/module.cc ++++ b/src/common/module.cc +@@ -42,6 +42,7 @@ + #include + #include + ++#include + #include + #include + #include diff --git a/package/google-breakpad/Config.in b/package/google-breakpad/Config.in index 4320ad64aa..4e2d98eb04 100644 --- a/package/google-breakpad/Config.in +++ b/package/google-breakpad/Config.in @@ -6,13 +6,14 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS config BR2_PACKAGE_GOOGLE_BREAKPAD bool "google-breakpad" 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_LINUX_SYSCALL_SUPPORT + select BR2_PACKAGE_ZLIB help Google-Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided @@ -34,14 +35,6 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD https://chromium.googlesource.com/breakpad/breakpad -comment "google-breakpad requires a glibc or uClibc toolchain w/ wchar, thread, C++, gcc >= 4.8" - 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_USES_UCLIBC) || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - if BR2_PACKAGE_GOOGLE_BREAKPAD config BR2_PACKAGE_GOOGLE_BREAKPAD_TOOLS @@ -51,3 +44,11 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD_TOOLS minidump_stackwalk and microdump_stackwalk. endif + +comment "google-breakpad requires a glibc toolchain 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_7 diff --git a/package/google-breakpad/gen-syms.sh b/package/google-breakpad/gen-syms.sh index 2bc0afafb6..4bc020ec19 100755 --- a/package/google-breakpad/gen-syms.sh +++ b/package/google-breakpad/gen-syms.sh @@ -14,7 +14,7 @@ error() { exit 1 } -for FILE in ${@}; do +for FILE in "${@}"; do f="${TARGET_DIR}${FILE}" if [ ! -e "${f}" ]; then error "%s: No such file or directory\n" "${FILE}" diff --git a/package/google-breakpad/google-breakpad.hash b/package/google-breakpad/google-breakpad.hash index 03719816b5..788978f08a 100644 --- a/package/google-breakpad/google-breakpad.hash +++ b/package/google-breakpad/google-breakpad.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 52716d140ba528d36b40591ae2c7485b18023f6610414bba0057f0cc13caf256 google-breakpad-c85eb4a59b618f3beaad5445ceb1f865ffa8efdf-br1.tar.gz -sha256 8d5d1311342ed55b486d778a6763f54a26002698ac0cbab64026b98033300dfd LICENSE +sha256 29e147011bf6577df95ee3a50bf5ffd1941645dd414d569bd409a9035bcbb7f7 google-breakpad-f49c2f1a2023da0cb055874fba050563dfea57db-br1.tar.gz +sha256 69b3d80c19a460e09716910d54d1ada5d800716e2b73751bebac44352590f646 LICENSE diff --git a/package/google-breakpad/google-breakpad.mk b/package/google-breakpad/google-breakpad.mk index 132323363b..81d2c7d4a2 100644 --- a/package/google-breakpad/google-breakpad.mk +++ b/package/google-breakpad/google-breakpad.mk @@ -4,15 +4,28 @@ # ################################################################################ -GOOGLE_BREAKPAD_VERSION = c85eb4a59b618f3beaad5445ceb1f865ffa8efdf +GOOGLE_BREAKPAD_VERSION = f49c2f1a2023da0cb055874fba050563dfea57db GOOGLE_BREAKPAD_SITE = https://chromium.googlesource.com/breakpad/breakpad GOOGLE_BREAKPAD_SITE_METHOD = git GOOGLE_BREAKPAD_INSTALL_STAGING = YES -GOOGLE_BREAKPAD_LICENSE = BSD-3-Clause, MIT +# APSL-2.0, BSD-4-Clause, Apache-2.0, BSD-2-Clause not listed, only +# used for Mac code, GPL-2.0 not listed, only used for autotools code +GOOGLE_BREAKPAD_LICENSE = \ + BSD-3-Clause, \ + Unicode-DFS-2015 (UTF code), \ + MIT (src/common/linux/breakpad_getcontext.S), \ + curl (src/third_party/curl/), \ + ClArtistic (src/third_party/libdisasm) GOOGLE_BREAKPAD_LICENSE_FILES = LICENSE -GOOGLE_BREAKPAD_DEPENDENCIES = host-google-breakpad linux-syscall-support +# Needed because the configure/Makefile.in provided in the Git +# repository is out of date, and links with -lzstd even if +# --disable-zstd is passed +GOOGLE_BREAKPAD_AUTORECONF = YES +GOOGLE_BREAKPAD_DEPENDENCIES = host-google-breakpad linux-syscall-support zlib +GOOGLE_BREAKPAD_CONF_OPTS = --disable-zstd -HOST_GOOGLE_BREAKPAD_DEPENDENCIES = host-linux-syscall-support +HOST_GOOGLE_BREAKPAD_DEPENDENCIES = host-linux-syscall-support host-zlib +HOST_GOOGLE_BREAKPAD_CONF_OPTS = --disable-zstd ifeq ($(BR2_PACKAGE_GOOGLE_BREAKPAD_TOOLS),) GOOGLE_BREAKPAD_INSTALL_TARGET = NO diff --git a/package/google-material-design-icons/Config.in b/package/google-material-design-icons/Config.in deleted file mode 100644 index 775f258f27..0000000000 --- a/package/google-material-design-icons/Config.in +++ /dev/null @@ -1,40 +0,0 @@ -config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS - bool "google-material-design-icons" - help - Material design icons are the official icon set from Google - that are designed under the material design guidelines. - - https://github.com/google/material-design-icons - -if BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS - -config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_TYPE_PNG - bool "Install PNG icons" - help - Use PNG icon types. - - The default. Traditional format; simplicity and compatibility. - -config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_TYPE_SVG - bool "Install SVG icons" - help - Use SVG icon types. - - Vector format that is limitlessly scalable. - -config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_FONT - bool "Install TrueType font" - help - Install the Material TrueType font (ttf) on the target system. - -config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_SPRITES_CSS - bool "Install CSS sprites" - help - Install CSS (PNG) spritesheets. - -config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_SPRITES_SVG - bool "Install SVG sprites" - help - Install SVG spritesheets. - -endif diff --git a/package/google-material-design-icons/google-material-design-icons.hash b/package/google-material-design-icons/google-material-design-icons.hash deleted file mode 100644 index 535eca8100..0000000000 --- a/package/google-material-design-icons/google-material-design-icons.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 769547061a51f81623bf5174767c08fc587fd6946339592fbd6cd0dd45f56b4c 2.2.3.tar.gz -sha256 8ae9438818c26e4873b91d8c6ad620526c011e27e125677f13031eda903f007c LICENSE diff --git a/package/google-material-design-icons/google-material-design-icons.mk b/package/google-material-design-icons/google-material-design-icons.mk deleted file mode 100644 index d410a45e30..0000000000 --- a/package/google-material-design-icons/google-material-design-icons.mk +++ /dev/null @@ -1,61 +0,0 @@ -################################################################################ -# -# google-material-design-icons -# -################################################################################ - -GOOGLE_MATERIAL_DESIGN_ICONS_VERSION = 2.2.3 -GOOGLE_MATERIAL_DESIGN_ICONS_SOURCE = \ - $(GOOGLE_MATERIAL_DESIGN_ICONS_VERSION).tar.gz -GOOGLE_MATERIAL_DESIGN_ICONS_SITE = \ - https://github.com/google/material-design-icons/archive -GOOGLE_MATERIAL_DESIGN_ICONS_LICENSE = CC-BY-4.0 -GOOGLE_MATERIAL_DESIGN_ICONS_LICENSE_FILES = LICENSE - -GOOGLE_MATERIAL_DESIGN_ICONS_LIST = \ - action alert av communication content device editor file \ - hardware image maps navigation notification places social toggle - -ifneq ($(BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_TYPE_PNG)$(BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_TYPE_SVG),) -define GOOGLE_MATERIAL_DESIGN_ICONS_INSTALL_ICONS_IMAGES - $(foreach family,$(GOOGLE_MATERIAL_DESIGN_ICONS_LIST),\ - $(INSTALL) -d $(TARGET_DIR)/usr/share/google-material/$(family) \ - || exit 1; \ - $(if $(BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_TYPE_PNG), \ - $(INSTALL) -D -m 0644 $(@D)/$(family)/1x_web/*.png \ - $(TARGET_DIR)/usr/share/google-material/$(family) || exit 1;) \ - $(if $(BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_TYPE_SVG), \ - $(INSTALL) -D -m 0644 $(@D)/$(family)/svg/production/*.svg \ - $(TARGET_DIR)/usr/share/google-material/$(family) || exit 1;) \ - ) -endef -endif - -ifeq ($(BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_FONT),y) -define GOOGLE_MATERIAL_DESIGN_ICONS_INSTALL_ICONS_FONT - $(INSTALL) -D -m 0644 $(@D)/iconfont/MaterialIcons-Regular.ttf \ - $(TARGET_DIR)/usr/share/fonts/google-material/MaterialIcons-Regular.ttf \ - || exit 1 -endef -endif - -define GOOGLE_MATERIAL_DESIGN_ICONS_INSTALL_ICONS_SPRITES - $(if $(BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_SPRITES_CSS), \ - $(INSTALL) -d $(TARGET_DIR)/usr/share/google-material/css-sprite \ - || exit 1; \ - $(INSTALL) -D -m 0644 $(@D)/sprites/css-sprite/* \ - $(TARGET_DIR)/usr/share/google-material/css-sprite || exit 1) - $(if $(BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS_SPRITES_SVG), \ - $(INSTALL) -d $(TARGET_DIR)/usr/share/google-material/svg-sprite \ - || exit 1; \ - $(INSTALL) -D -m 0644 $(@D)/sprites/svg-sprite/* \ - $(TARGET_DIR)/usr/share/google-material/svg-sprite || exit 1) -endef - -define GOOGLE_MATERIAL_DESIGN_ICONS_INSTALL_TARGET_CMDS - $(GOOGLE_MATERIAL_DESIGN_ICONS_INSTALL_ICONS_FONT) - $(GOOGLE_MATERIAL_DESIGN_ICONS_INSTALL_ICONS_IMAGES) - $(GOOGLE_MATERIAL_DESIGN_ICONS_INSTALL_ICONS_SPRITES) -endef - -$(eval $(generic-package)) diff --git a/package/googlefontdirectory/googlefontdirectory.hash b/package/googlefontdirectory/googlefontdirectory.hash index 10f3bf60b1..320647c43e 100644 --- a/package/googlefontdirectory/googlefontdirectory.hash +++ b/package/googlefontdirectory/googlefontdirectory.hash @@ -1,994 +1,994 @@ # Locally calculated sha256 ec2ddbeee673cce1b0796e3b20fbff5fd836ce9ba6d88deed8b59154fa255f06 googlefontdirectory-94dff3eaa9301b6640cccc63c56d6ff33d82882c.tar.gz # Locally calculated with -# for i in $(find apache/ ofl/ ufl/ -name 'LICENSE.txt' -o -name 'OFL.txt' -o -name 'LICENCE.txt') ; do printf "sha256 %s\n" "$(sha256sum $i)" ; done -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotocondensed/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanscondensed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/walterturncoat/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/fontdinerswanky/LICENSE.txt +# for i in $(find apache/ ofl/ ufl/ -name 'LICENSE.txt' -o -name 'OFL.txt' -o -name 'LICENCE.txt' | sort) ; do printf "sha256 %s\n" "$(sha256sum $i)" ; done sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/aclonica/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/sunshiney/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/ultra/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/unkempt/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/slackey/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/satisfy/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensans/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/montez/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/kranky/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/arimo/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrew/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/tinos/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrewcondensed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/justanotherhand/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotoslab/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/homemadeapple/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/calligraffitti/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cherrycreamsoda/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/chewy/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/comingsoon/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cousine/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/craftygirls/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/creepstercaps/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/crushed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotomono/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/fontdinerswanky/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/homemadeapple/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/irishgrover/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/justanotherhand/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/kranky/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/luckiestguy/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/maidenorange/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/montez/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/mountainsofchristmas/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/nokora/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanscondensed/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrewcondensed/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrew/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensans/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/permanentmarker/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rancho/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/redressed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotocondensed/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/roboto/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotomono/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotoslab/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rochester/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rocksalt/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/creepstercaps/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/nokora/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/mountainsofchristmas/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cousine/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/syncopate/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/specialelite/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/luckiestguy/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rancho/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/smokum/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/redressed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/irishgrover/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/comingsoon/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cherrycreamsoda/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/satisfy/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/schoolbell/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/slackey/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/smokum/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/specialelite/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/sunshiney/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/syncopate/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/tinos/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/ultra/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/unkempt/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/walterturncoat/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/yellowtail/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/calligraffitti/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/permanentmarker/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/chewy/LICENSE.txt -sha256 0fc8e6675568c02aac6b41dd3cccaf2264fc5969601effe68e09b26635879b2c ofl/ranchers/OFL.txt -sha256 ff72e4d89860e64ee38ccf8a5a7e9dc085d5e36115b096a6c7f8bc988e9bec61 ofl/kumarone/OFL.txt -sha256 643c63caf03855ae29be68035d8888e95eadc767a1d92f163d686da1b0a1cd3c ofl/cantarell/OFL.txt -sha256 1d242ab6fbb2dfbba2e7119b00a6328bc59cb2faf7299b844e9b92a2f12c0d8b ofl/adventpro/OFL.txt -sha256 01af2625d6247ecd2430d1d1603c579f85989d43b2d9129e08e0ac0df8909918 ofl/tienne/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaina/OFL.txt -sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustina/OFL.txt -sha256 69c34ca1873308c667ddde663cbf59c0d1cf14cbb945ad010f71d21264249e24 ofl/aubrey/OFL.txt -sha256 4febcc8d6e539db3e0c652da87bc8704f6d48e71e07f8ddb0974094a3de8da81 ofl/flavors/OFL.txt -sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktavaani/OFL.txt -sha256 ab5499b975c2dc82f533c6f13c5fca589df4d57c7c400db5f6ca8565ad9c2fd3 ofl/butchermancaps/OFL.txt -sha256 6a28d4d5d8b4d1ea89ace5a047ac6e0de182acdb8bfa22897bf7702102094f69 ofl/shadowsintolighttwo/OFL.txt -sha256 7a1d085067cd589026b256dd85af1eaa1087fa0f3d468192724c5138cc14d894 ofl/copse/OFL.txt -sha256 fd17f80dc48ff767d91d0dd9f821eebfd8b73ee82f55537a9052b6b0107622c8 ofl/voces/OFL.txt -sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowsemicondensed/OFL.txt -sha256 4aa1da66597f4c5cfde67790992ee55926ef6aaa87b9a10d529ab35e8b91070c ofl/asapcondensed/OFL.txt -sha256 301f77908df2b00141b4dcea50cc1a586c3afcee78843bd811088e8263623f9d ofl/amaticsc/OFL.txt -sha256 6b6c6721a30480a323cf33acf6a7703dfce46b846827a65f8ee96230060e3c3e ofl/homenaje/OFL.txt -sha256 393d494f9ebb5db6a3552ffa03a4c6f3746c22808b40d011b391681da55ca3f6 ofl/kellyslab/OFL.txt -sha256 ca19ac21c7656f493189093eca52b4239fcc5eacc15ab2e3d67cfbfc0e6e443b ofl/sirinstencil/OFL.txt -sha256 980c2b058d331f3c5ca4a1223e549511b71630e4f4a5533879d436d583cb5665 ofl/arbutus/OFL.txt -sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsans/OFL.txt -sha256 7527e73a61f742a0dd050ab2fc7333de71ac7886023c100bca66a0a93b37498e ofl/headlandone/OFL.txt -sha256 39b26527bf9ed27b4c85b86341eceea0579f3550bcf448cf06345eaadf947ec9 ofl/rugeboogie/OFL.txt -sha256 2ac164969308ac200eefc516151934701044f0db5695ae2acc15df2a8d22e5cb ofl/anaheim/OFL.txt -sha256 88d3abd47414e7912d0d2eb44ca89e0b1bd7c43cc2ebe58a8a75281ad75a0f60 ofl/stardosstencil/OFL.txt -sha256 01003114b77326df223f291c48cdf12e95f6a5937437f164347919f2bbde12d4 ofl/josefinslab/OFL.txt -sha256 83aa5adca2418f091b732a19cc7c30dcb5c00c217051a58f34f5eecb19be0cd3 ofl/average/OFL.txt -sha256 585c6d2da8bcd8ffa651e0016f2e992a6891b625143a46a1dacf00699a817d9a ofl/monoton/OFL.txt -sha256 96e65d9c227a972e38035b849bba1e8b7879eecbb52f278be1e71dd481187f02 ofl/domine/OFL.txt -sha256 d1bf0acea511ad1f4de53e942cffb8ab0e67c03c6203d6f390d71105d52c33f0 ofl/missfajardose/OFL.txt -sha256 131d19126a0e7ddd25540fd6bee219cebbc8aee7e8374882998ee6c2f4ff6cf4 ofl/mergeone/OFL.txt -sha256 042a570b306ab893c6168be7e6e79bbceae46097141357ad0af7ef8bb179ed7b ofl/goblinone/OFL.txt -sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexserif/OFL.txt -sha256 bc80ea18223ea0db2ed73ab5bfd0cd601906a2b7a163183c6c4ea333be309ce4 ofl/baumans/OFL.txt -sha256 5f5dbf452c1657370d9280b50d647212a53c80acae6d78e0b5e8c2b26dc62b09 ofl/puritan/OFL.txt -sha256 90bd333a5cf0ed09264fc3e559d44979373f6c3d983b0f65cc46e952b4eb61f0 ofl/contrailone/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/taviraj/OFL.txt -sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlock/OFL.txt -sha256 75798d56e448ba4d2aec3ef5f3c2d805d9c6fe2ba688cd3d7162b2dd31e9cf48 ofl/textmeone/OFL.txt -sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedansc/OFL.txt -sha256 466aaa3bbd245e4c91c4e82c0828efe9fcfd913f5b020d75f0918516c2540fa8 ofl/spicyrice/OFL.txt -sha256 88ac81fcd30e64f6e6b91b61b159c9b700bb3dd59012b72ec61629abcfc7fba1 ofl/medulaone/OFL.txt -sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redactedscript/OFL.txt -sha256 ce78cc8de3f6edd2738e8c02f2079db7086c9a74314baa5854675f83c33954ff ofl/kenia/OFL.txt -sha256 76af3e9e5d8768b17647813a443fcf5df3eb3ced017ee285796625e714d5ea2c ofl/ruslandisplay/OFL.txt -sha256 6e54fc004ebeb61322ecab1d86334ebf69e7051632d48eca489beee505d70762 ofl/hermeneusone/OFL.txt -sha256 8586a7e75681c7297af4cc0641eb2b29e882c5187fe189a1160eceb4e95d4163 ofl/fenix/OFL.txt -sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusunicase/OFL.txt -sha256 197c3f48cff4df3d768230e0bbdbc4305d8b8b9041ea6fb5e00872af66adc5ae ofl/novamono/OFL.txt -sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allerta/OFL.txt -sha256 af88d31020bb48a1f78f4384249814d04a44d22feeede2ff4ae79fbb4fcf74da ofl/rammettoone/OFL.txt -sha256 397e83b05703a4240be51e2c3a2be1d0d7693d7a2d8b1ff367c26a2b9afc013e ofl/singleday/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/cedarvillecursive/OFL.txt -sha256 d416bc9437e1d7d8aba0613395ee49c95ce72d680672e910c6205b545cfcbad8 ofl/cherryswash/OFL.txt -sha256 513346ac60af1dde9d4a7bcfad3f39909d5697373a8aa1a6ee4376e6d22d3cdf ofl/niramit/OFL.txt -sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/coda/OFL.txt -sha256 2a7b0a41ef401e4e0e955280b07c0a2698932d56aad3181089bdbbaad5760491 ofl/habibi/OFL.txt -sha256 2d62278530348951887211d79d1dba04acebd6ed3b1c413f6154702efea3ea62 ofl/iceberg/OFL.txt -sha256 a20db45220b6c4dc9776f24c77dc9ec7a98977d8b3c65b03aabe66b2d08e0791 ofl/cabincondensed/OFL.txt -sha256 fc1e501d419d84a8f1a800adae092045002d7141241f498237611dbb8ea763d7 ofl/stintultracondensed/OFL.txt -sha256 9a51726e5f247cb1f07bb8f49c163bc3e9ddee5f367bb5a1871d09b854ed1b7c ofl/basic/OFL.txt -sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomatasc/OFL.txt -sha256 e30f893523e50ebbe07acd783ae29c7d604e6208cae7646d993e8528ce13e35a ofl/federo/OFL.txt -sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/sharetechmono/OFL.txt -sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiasanslibre/OFL.txt -sha256 5951473ab31533bfe1452bbcece47f237a5546c7e7d45ff1aec0289619623294 ofl/fugazone/OFL.txt -sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltonian/OFL.txt -sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenpro/OFL.txt -sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/yrsa/OFL.txt -sha256 5bbeae56b9db61a9bf85b64d5ed9a74cfcf9ee3e9b005bc2906859ddecd5eaa1 ofl/esteban/OFL.txt -sha256 7b826efb1b74a50b1c1aef0a1ba4530925b993ceadc3016d1d787c68a61649dd ofl/tenorsans/OFL.txt -sha256 28c6d2887c3dfa42488c5418c6c16ead580d33ff0afe60c05159689201f9ec63 ofl/jollylodger/OFL.txt -sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomata/OFL.txt -sha256 8f2e5a9b52cf355023104413827e17dd7126c5a3656492d45eaa1ceb270aa4f1 ofl/yantramanav/OFL.txt -sha256 fe079cdbbad0f6520eb0a8235bce65b21596dd0c4c5a2694b3325cc87313b618 ofl/shortstack/OFL.txt -sha256 018d17b5e04c0a217a21979fa6b6d77bd5a143a5f06ea2ea102e427abd1ebfa2 ofl/tradewinds/OFL.txt -sha256 31c59bcdd538c113ef5c048f56827439facb12b7e5cfd158b04c83727edc453b ofl/salsa/OFL.txt -sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumpenscript/OFL.txt -sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserifcaption/OFL.txt -sha256 c867d1a613bebc4932cf28c060fefb3bcfba3be56ed498b873c79f4eb786af1d ofl/librebaskerville/OFL.txt -sha256 694282197de3d750a43689dc64a8116cd19578cd516e7b2490c7b5362c064dbe ofl/kameron/OFL.txt -sha256 cb30d3086a8b3ce0b9e3690bf48d6620402b61160bc658076f95180ccd9e9dae ofl/sourcecodepro/OFL.txt -sha256 a40c3a6d0c968d3a10b17a2614606de6f20178deccc2447305f31fb106a57fb0 ofl/fresca/OFL.txt -sha256 5d3457831b42632d958fe1a14a09706d8acb006486a5ca5b2b419cd61cb22e32 ofl/chelaone/OFL.txt -sha256 6b53fb03a50914cc382f4d025ee595c17c43f24ae870f840bc51969d3e316c7e ofl/limelight/OFL.txt -sha256 574430e571a6928624f4bdf044420f7547a26309b7ebf6962296d33294e0a1e0 ofl/combo/OFL.txt -sha256 fd20b82eb12d16ec31a58fc44f7e6c533b14b425b569d83f616a1f7a9a401e75 ofl/gochihand/OFL.txt -sha256 0e74984817cdd51dbfbd8309022aa75f733e80dff0cb1d26ad2157e90446ba97 ofl/enriqueta/OFL.txt -sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserif/OFL.txt -sha256 4e69611ba5017f1fde74c31d342f5c85604814b1b45387b9ab46205996dec38e ofl/astloch/OFL.txt -sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostarfill/OFL.txt -sha256 14b3fbd06078a869cf2ba96e6dacb852d373703c86ca7ad54a4cdd6e20fbab19 ofl/knewave/OFL.txt -sha256 a8103c045a88bf9b28dcd7eb60a6662008f49afc0f3721bc46aaf761fc0409e7 ofl/englebert/OFL.txt -sha256 bd22e766af8f8e58eb520cb4fa73538826d04f7371b45e82295d22d1e32a4e58 ofl/gidugu/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/justmeagaindownhere/OFL.txt -sha256 5fba78215eb4e42aed6cb0b5c5df52e0f71246281a866cd4493dfcfcbcab9518 ofl/playball/OFL.txt -sha256 e75230ee246a04912366cd8d759d081200d80fb0756766c96dd52f73e8b40bed ofl/romanesco/OFL.txt -sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/gamjaflower/OFL.txt -sha256 244ca4ef7b106d8c660e9a00cecf5d581b6a222f447d7d59a8f61711b2ad3400 ofl/uncialantiqua/OFL.txt -sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/didactgothic/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/giveyouglory/OFL.txt -sha256 638774cdf8233b5ddaf9ebee1821e9de1d5d59c335d8ee3ba0b47fb17833b502 ofl/glegoo/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsan/OFL.txt -sha256 a10a07aaa150c147fa3cb22e845013f38e6c2b45fe5ba32a74ed1be9d4c417ae ofl/odormeanchey/OFL.txt -sha256 a74380bba78a364ec70b3a5fb6a1161b83cb05cc3e75a0910afbd1b5aff4f9c8 ofl/jaldi/OFL.txt -sha256 9b8405bf5f503f92401fc990f372b34d469670ab60041d5298d1015d3d0b45f8 ofl/thabit/OFL.txt -sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asap/OFL.txt -sha256 ca9fe3a0e10bbb082f83ecdc07f5f04845c4bd689c46456da3e6bae23e11aae2 ofl/inder/OFL.txt -sha256 5b158abb3406e69b7408b562b7199f6ff55a41ea56e260b87176d693b0095e47 ofl/piedra/OFL.txt -sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendradisplay/OFL.txt -sha256 87b7d831a81fe8b37e7e6c672937493f710ff81883eee3adec7b5423297efd16 ofl/sharetech/OFL.txt -sha256 4ec46c3e4469afa19f0156bac6917472974f9c85c189f9220cf8735d3e810401 ofl/kristi/OFL.txt -sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilbo/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindcolombo/OFL.txt -sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothicsc/OFL.txt -sha256 930fed5b06a415736dc3b4e5f4f01585523b672717564bf677f93966bcd57636 ofl/lustria/OFL.txt -sha256 9a536e5a3b55c2605b0a553eed383cd3efa42ba48dc45cc6f0635b3c53ee791e ofl/warnes/OFL.txt -sha256 879ec56fcc9a961937fd24d542b3b7b3f2b8cb3236b7351e62d16719e25de14c ofl/griffy/OFL.txt -sha256 29cca754098468057880970c604e55c4e2bcb8479742e4130c94f2ddc0363f9c ofl/sixcaps/OFL.txt -sha256 67261c7ceb3e627da5c94d6617dac6da29bf36b910bee304a7680ad62e2c8b46 ofl/changaone/OFL.txt -sha256 327bac41d89cf9f32e0efe353228018e1661cff458a5d4905714958514df7bd5 ofl/lalezar/OFL.txt -sha256 525411e604e7a1d85a4cd42641869f94388f04a6ed77829d6c4edd7fd740ceab ofl/ramaraja/OFL.txt -sha256 3d08baba63f1f2427fd96dee8da30b1ef6c1421b3be0e1f07cc2a78abb27c91d ofl/seaweedscript/OFL.txt -sha256 4c0a1150a363b42bd8681ff4a00315ac49510a944c4c9978237ff8b90a8920a5 ofl/grandhotel/OFL.txt -sha256 bc4c7eb365ea342b1a027fb8417fb0152f5d482a2e31c012fbfa29b668827b04 ofl/cutivemono/OFL.txt -sha256 1818771d183d203703c4b134f028527b535810e2a0666c8fe2785354ddbef686 ofl/battambang/OFL.txt -sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendra/OFL.txt -sha256 9e0d3db586ba0abf5ca398683809dacdf4c81b2960f592bd085fbf206a67ddb0 ofl/sansitaone/OFL.txt -sha256 fb1dbf3725bbdd389b2c569e0eed5091d8d10eed2833ec7efacfc3542e408615 ofl/scheherazade/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorant/OFL.txt -sha256 156ea6985861158c7dea63ecaac4c78ab0ed737d168ddffc3e34c687985a033b ofl/sansation/OFL.txt -sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/blackandwhitepicture/OFL.txt -sha256 5fe7f3c9410c29534ddd9dfaf64d3994ed4236096d0d543ae69eacc3b25632b1 ofl/bitter/OFL.txt -sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreya/OFL.txt -sha256 e88691a5e0a8a3f788f31db959701ec90a1d5e7505f1cc53c5663180a7d23c81 ofl/lohitbengali/OFL.txt -sha256 ac55580be2df22a06d29a47501e2ae11e1d399620f5a779e17a66f016ba6d5ff ofl/portersansblock/OFL.txt -sha256 27d9af34210253e7ca1251fbace86c6f65b40031d6ce1a75493a1b2093631298 ofl/vt323/OFL.txt -sha256 9452ef55386e77bd284ca466587d72802337621d7f10aa700e449753883b3397 ofl/trocchi/OFL.txt -sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/stylish/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindkochi/OFL.txt -sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivoblack/OFL.txt -sha256 c832a4230a713d080aa2f2544d9a298ed911f689b2c48f7f276a0196b16d2b8a ofl/cookie/OFL.txt -sha256 ae28423a5e63cb65e651ccf62c9091b322fff1d2d4e87ad9f98b1096c2e7abb5 ofl/metrophobic/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindsiliguri/OFL.txt -sha256 8c22fb3866eaebd77a2cb8e8ecbb095381ff32300db57758326fef35a26132f5 ofl/ranga/OFL.txt -sha256 d2875ded3e44e9ae53ea2b35e825dafffa19e82c5d14addb9f1150fcd7a3463d ofl/mina/OFL.txt -sha256 8242e7737bce317f7a7f2b887ac87f5bb21305ab96bee92aadc3febac16c35bf ofl/voltaire/OFL.txt -sha256 fca01a37b10879d7685c7d03fc5a04086b15cdb2cb4f870cb687aa5a9a0a1361 ofl/jimnightshade/OFL.txt -sha256 2492bb8645caaf622bdc3e880cdc9b069921e7341346d7b193666c866a1935d0 ofl/condiment/OFL.txt -sha256 e6ac721b16f309c89fb443680afda427ea34968bad190a80edf281d01d65fa99 ofl/andadasc/OFL.txt -sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzeldecorative/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/coveredbyyourgrace/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindvadodara/OFL.txt -sha256 5c36e7ec460b285185ea23847aa1f508708d9ce15d5c055279defd022972f836 ofl/rakkas/OFL.txt -sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhyme/OFL.txt -sha256 c54957d55e7c9e66c28e474cd39de75dc044e8f69056788cae44eb78841ceef1 ofl/montserratsubrayada/OFL.txt -sha256 fccf4916b5f84ef5f88d93fec464421aaf4121d11d4be8d74ee2d032f7661d6c ofl/padauk/OFL.txt -sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/prociono/OFL.txt -sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsie/OFL.txt -sha256 0d5fa0cce86012de872273700eef4fd162459e7c24a6a314911380627391071b ofl/bigshotone/OFL.txt -sha256 ca64dee162bf239c7b92d854d388bcd30552edc3ae1ef5e31714acda34c988db ofl/jomhuria/OFL.txt -sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbookbasic/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeehairline/OFL.txt -sha256 9c56b4e2e4e922cc37e19e1a9e2e1128beaa17a812e1b67c8ac371b0fb57ae03 ofl/kopubbatang/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/tillana/OFL.txt -sha256 486c4d5b9baf0d0ba5546ef3c43fcfe22c062299ab6948045a43efffe4b0f74b ofl/italiana/OFL.txt -sha256 4539710406c656519f8ddc789056a7cd6f4fe66b44cc2f52ebca6e251bb26e13 ofl/imprima/OFL.txt -sha256 7f55affd2bce8ed9be13297ba8df1a4a7e9835c2a006126dc2a1eb4ce75a7943 ofl/muli/OFL.txt -sha256 867b506cb023eae20c1accde77b2e0abf7d8a9e2620da8dbebac9f7b1117ca0b ofl/cantoraone/OFL.txt -sha256 aa72b0185d828cb2fafa62a154e84bd3e20c88ada30326089bb20542b6363aaa ofl/manuale/OFL.txt -sha256 4664e83780a263c53dbab95d3590a5a9db914aeb9a3c78f7e7ad451f9151c998 ofl/spacemono/OFL.txt -sha256 fc59ca3cd3bcb47bd4df597519111ec130c25cabcc57a8808dd2d243cdcec6ae ofl/oldenburg/OFL.txt -sha256 43c372f43d145c22e654781860506a75cb85b086dc76028a62a28a446506d253 ofl/italianno/OFL.txt -sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinateinline/OFL.txt -sha256 d13a278247ce39695f5ea6b721103faa668083022c5280b78c6392263e473929 ofl/bonbon/OFL.txt -sha256 f0be7437bbb8b91ad4a4f7a5f3d0020368e494a803d892df03e8886d51f2db3a ofl/candal/OFL.txt -sha256 a68d8ec6bea7f277053ae93bf563d4b97c233f09f8e79f86ffe5db66f31fdddf ofl/prozalibre/OFL.txt -sha256 b00c646b7d04a6da1665a148815b8c589c1e05ed7e1febf7ccbd91758747cb03 ofl/quattrocentosans/OFL.txt -sha256 a3deaae17ab9a15dc3c2778126aa6f80d41d567741853f84b16a9e1318ed799a ofl/koulen/OFL.txt -sha256 50f7b09af5ff677f611a96cdf5eb916307c59b29f2e8144942718cb432a9bf6f ofl/margarine/OFL.txt -sha256 72a22b6dd29b6b0cdcc98de30701b46532c9f7314ee095df3063d10775dd70c3 ofl/trochut/OFL.txt -sha256 325e890b8b26fe0a683c3ba24c506d902bdd7034d9c47bd7fa2bb72b5433b9c9 ofl/shrikhand/OFL.txt -sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlocksc/OFL.txt -sha256 d941aa56e280b4f204272c4b1add01a8ebc7af3e8e69ba8ba9118aa2a5306dde ofl/berkshireswash/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantsc/OFL.txt -sha256 36c285c5472c625901d4a13da7e31c5ea6126678d31d56cf95572c49f27c8950 ofl/passionone/OFL.txt -sha256 fbc351e1b5428e4f45834647dc23a5f8aaa3e744e2f4117ca03c44f640b9a3a2 ofl/stintultraexpanded/OFL.txt -sha256 021d5f1df697848da51620394659187be77cbe382ff2f896bc84ffb89c0c2d52 ofl/portlligatsans/OFL.txt -sha256 85b700bfba1250a6f8bdf930cd7113faf3d8e9dc52cd89eb98c3ac8a038a4aa9 ofl/londrinasketch/OFL.txt -sha256 c972795e48b096b6d4e3a947b0bb21c1baf1922a6e07ff9ada587c058f228740 ofl/coustard/OFL.txt -sha256 eb4a7a082fb0e7dde0a8f975d33f02907ccbe40751c8115e790cf3679787d01c ofl/strait/OFL.txt -sha256 9b1cfccef4a7e19f90e2901f808f3aec4335d3cc81f978453ad0c8ded14447a0 ofl/novascript/OFL.txt -sha256 43c89012c2b640187aae7e0c83d5ffa8381a0368c00e8426594358d44d3811e3 ofl/nunitosans/OFL.txt -sha256 fdecdad755f4e5e95bee491c7521f31625dc08283562ea8579543c90430eb269 ofl/karlatamilinclined/OFL.txt sha256 5e80642a11aff2ead815949a8a929aff3fb7b9b6a24391406068a1b204dcc8ba ofl/abeezee/OFL.txt -sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbasic/OFL.txt -sha256 f2fcbde4b8968400d661e7dcc23052b1885815c8e3b45323b26cbb833352f5de ofl/timmana/OFL.txt -sha256 c8af073a60e30b55ef5d0e4f80cea168e06dd65bdee7ec18c1ea8de8f7228780 ofl/strong/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeinline/OFL.txt -sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostar/OFL.txt -sha256 e55c615ed00ce0054bd356041a41e5942b4a8cadceac1e32696ba2ef5f06f748 ofl/andika/OFL.txt -sha256 4705fc9bceb299b2a951d23c321d31f3679871bb99ceadb978907704d211f4f2 ofl/pacifico/OFL.txt -sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancois/OFL.txt -sha256 99d67fff016522688b8f913377f8ae9f6da6ffeae42cf67c0e5e87cfb0928d33 ofl/unna/OFL.txt -sha256 bba4a13f03d0fd5b476cc148feda6895dd8d65f34b2107ba9d010ad9539d6c0a ofl/faunaone/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangang/OFL.txt -sha256 58bbdbe5c48dd1d7cfd658425a455c29811181873d3a46a4932c29e5b0ec16e6 ofl/euphoriascript/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/laila/OFL.txt -sha256 17b90cece30db64934b7299fd76b033a3774c8a990e78badc74c59a5be8e0727 ofl/cairo/OFL.txt -sha256 5f8ff4a3f951c104e99245bdb952be08c73369222048bbf19fa3bf7170d10949 ofl/sanchez/OFL.txt -sha256 8eb1c1019fe7fe6d0b6e7d7bbbba1d9cbdd969d8c5f26455708f6cfb8a77284c ofl/nanummyeongjo/OFL.txt -sha256 942d51cf079299e83e9dd7a9a37eb92260524e8d1d576b2f0b3f7ca207c53f8e ofl/newrocker/OFL.txt -sha256 117fa195cff980e3b10fd8e8e21658c6ec954b0886647970a03c9694d3553b69 ofl/galindo/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/athiti/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/annieuseyourtelescope/OFL.txt -sha256 f2ab7e5c5c750fa03a8d8f64c72a089ed86fbd3dc172440fcc704b27816d5957 ofl/noticiatext/OFL.txt -sha256 9a33b452a3107542c35fc5fcee80e4d8798c82aca071c2f6f58a0f8dc5ad61fe ofl/cevicheone/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootammudu/OFL.txt -sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasansextracondensed/OFL.txt -sha256 746b384383888d9325ed2fa9c40d2456b458aa190dd2b8c515ed4f02a1075bb7 ofl/magra/OFL.txt -sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasanscondensed/OFL.txt -sha256 fe9183a0b7c1ae626b14004cd533c89ec7c192aba017f81ab71ede910256abb2 ofl/abhayalibre/OFL.txt -sha256 876db27db250a9b9c03fc2ef30a5efe1f37c2ed2686d368c3779583bdf746912 ofl/balthazar/OFL.txt -sha256 4342add6f0f2261f8579f31c10a55938930559703eed18be4a33b74eb749d298 ofl/doppioone/OFL.txt -sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusswashcaps/OFL.txt -sha256 16a8be6ac4b009ba1dd1e17cea48762f4915609ea5dca1303f716cf63998739d ofl/adamina/OFL.txt -sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redacted/OFL.txt -sha256 866669fde730bf2785f44905ec162f05f2b8d9f6dcf366aca99360fedbfe502c ofl/dancingscript/OFL.txt -sha256 008445a4d53fbd71bff9cf733bdfd841a1b15fb58ef3473f7bab4c456e3b2930 ofl/ovo/OFL.txt -sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendrasc/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimersc/OFL.txt -sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivo/OFL.txt -sha256 3747fdcbfe4f51d6a2f101c35105bacde3715b3c32b34b6b03e5fb37983f89fc ofl/quando/OFL.txt -sha256 38a83f1f8b6efc3ab354b8b6eed22e8524dc71280844dc24811d95ae27b34952 ofl/khyay/OFL.txt -sha256 b8fb5cd1bafb52e652c733fdb75ee20c763e97acb0398f6b4bbe1d8ada0c07e5 ofl/misssaintdelafield/OFL.txt -sha256 a3b0977c5c25101d45054cf9199b9127b05fddc79d4da7dcf400821824e5a6d0 ofl/radley/OFL.txt -sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserratalternates/OFL.txt -sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asapvfbeta/OFL.txt -sha256 d3909465d5838d9d1c72b975ff1ed4f410a85dccd43801be525bf2b2bde89f92 ofl/snippet/OFL.txt -sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/mukta/OFL.txt -sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickavedisplay/OFL.txt -sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedan/OFL.txt -sha256 4281c00ab5b8f672fc8d686f48cb886ffbe900c8c9ee22473ca7e72e7cef8fbe ofl/wellfleet/OFL.txt -sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabinvfbeta/OFL.txt -sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangdon/OFL.txt -sha256 399b33eb38cdfc76b8665defa5f81d52e8193d630ad5858c893db6bc20031bc9 ofl/rye/OFL.txt -sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltoniantattoo/OFL.txt -sha256 8594350034ab1cb85a1946ef8852e69290255816c311450a66fed6eeda9d6292 ofl/anonymouspro/OFL.txt -sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzel/OFL.txt -sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillsjaffna/OFL.txt -sha256 64a73da7af818283168543e24bd214aded1bfec06f013bf9cebc20064a8560c5 ofl/elmessiri/OFL.txt -sha256 4fece81b541808b40293b0cd3f5b1990274e1100e1c20455dc2987cd96639d3f ofl/metamorphous/OFL.txt -sha256 8d325681662a30f58f57c92ab656dcbc9679deb78a493e4c0eab75321b2df6c3 ofl/worksans/OFL.txt -sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancoisshadow/OFL.txt -sha256 aac8f0cda6159b7251d1034651bcb42e07611495bc8cd764c89d22f3123032f8 ofl/aladin/OFL.txt -sha256 81d0973236b5b5709a80a217a330db36eabedf57bf4031de46b4660b69901234 ofl/leaguescript/OFL.txt -sha256 5454dc5cf2f46a2005f42f13ee2a998c7d0afd7f556f32fda208c72b266f7adc ofl/cambo/OFL.txt -sha256 b2d4b0c773afce947728ab99fca43b242b7edb0da26fe29f60c7c2d5094ec23e ofl/suwannaphum/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/labelleaurore/OFL.txt -sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejumyeongjo/OFL.txt -sha256 cbdf9d35f32a9a2f02fb23c8b89c115a5a8e45feaaa2266920c4594c83dd5ed4 ofl/tenaliramakrishna/OFL.txt -sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivovfbeta/OFL.txt -sha256 967d75b89eef1f8a0ba1f5ee7dfb13427621f9116c6e7878ca04da8c9aa8641b ofl/mrssheppards/OFL.txt -sha256 8af83da84dd4299842f871285a88049352ab301ffa1f233d2595b29506158635 ofl/blackopsone/OFL.txt -sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquin/OFL.txt -sha256 c4cd9f38c3246ee6a68c264f017320dc1af09677d386166d8cda806d9a12e0d2 ofl/jockeyone/OFL.txt -sha256 a36ab46c8b1a74a480a1c51d6a5af08b643e870c6d247f233bc97c97c8ad2098 ofl/tuffy/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/nothingyoucoulddo/OFL.txt -sha256 b5c776129b160163c84620b35fd45dea45edf49789cda5a94c2290c230581e0b ofl/scopeone/OFL.txt -sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/sintony/OFL.txt -sha256 8928e999ff156e35852ab41d7a906598a8285acd3bcd81dff67213a6cd98d43e ofl/mallanna/OFL.txt -sha256 473c5e3123102434d05c66a9fc8b19cf285a3bf71cd8a91a41acef44d1448e62 ofl/sevillana/OFL.txt -sha256 22d1914919d3fe08b179dc31169fc743ca7eede7827b91a5d48c23c8cdc7cb81 ofl/anticslab/OFL.txt -sha256 026610186158060ad351fb20cd1452def5d35b2531634c090ce8cd1d9e9aeaf2 ofl/michroma/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/shadowsintolight/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/architectsdaughter/OFL.txt -sha256 61056041809e0ba18bf8b9d637a375ab1c725025428533d74d668d88b2cb8b89 ofl/simonetta/OFL.txt -sha256 0a852a06f0256a6684662663ccb1d8e08d131abd1f70cf8d972a344cf31aa381 ofl/scada/OFL.txt -sha256 f46c3ea04f38ea73c0731d73dfba3d7361d4b38970feb31a3558bd1b75e0656a ofl/lobstertwo/OFL.txt -sha256 f30a7045e4e21201182b2b9fc4e4b96189aaeaceb2c8e9b68d8bd3dc4e3c5a27 ofl/greatvibes/OFL.txt -sha256 9bc1eb1c679510b32d2e3f5f4f3b47726b1657aa121494aa68ba0b124a3c3a53 ofl/ewert/OFL.txt -sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39/OFL.txt -sha256 359671bf16c00cae69cb66d041296b2adc7a4becd73a463cb8c5e101d97c7986 ofl/arvo/OFL.txt -sha256 c09e3b81d9cfeec46bc29a3374000e8ad013d694bdf24a288088491dd4cd5c69 ofl/creepster/OFL.txt -sha256 29bd0cfd0fb2a45f9b057c834a057724bae1f63b525a8ac83d3e7525706d9f80 ofl/inconsolata/OFL.txt -sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siamreap/OFL.txt -sha256 223fa23e8419ee762c662e0faf912dfcf386fa7093ac9ff690e380ce1993ba55 ofl/asar/OFL.txt -sha256 a0369b1d5f654110f2fe101db56a02d02806f1e609ab233368bc573ec45050e5 ofl/butcherman/OFL.txt -sha256 4f8b437578b20bff261adfe6c02f63bcf7dbb6a45ab37804b3547e5d5f44927b ofl/nosifercaps/OFL.txt -sha256 793891edf1f4f4f35b52fcc9706b03f779c7ea18ab8e9e441242d63ef0279488 ofl/autourone/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangangcondensed/OFL.txt -sha256 1c023b4aca0e441c55c45c86cdff57fa524a96778f291d9a29a4ad777b70e2e3 ofl/arbutusslab/OFL.txt -sha256 de61c87e08286ad3215398340e9403125ab03c91b33bdf29de6d3e8a386d2d28 ofl/dangrek/OFL.txt -sha256 53ad6a474f68ddfc3fe72449de3ede4d3f033b2f24b77833b1d56edf505486d2 ofl/sura/OFL.txt -sha256 247edbf968c0a5b8defd6a9e420080a8bbca6ea002bfb326d12a472a6f95637b ofl/cuprum/OFL.txt -sha256 0623888cc2391c6c9853c04eafa7f687fef1a8328bbb848feab05d9e2a98764d ofl/emilyscandy/OFL.txt -sha256 1c43e70c49ef7a9b35fcb3758fec8ec5969ff1274c4834b4466b9014f3b9f55f ofl/volkhov/OFL.txt -sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karlatamilupright/OFL.txt -sha256 cd354a6084383c50398fae709ebe3a5dd98b947c486c1fe9de5f89caf81f980c ofl/snowburstone/OFL.txt -sha256 8a59454b7f1cc0b1fa29805781769047e5c269aa629e3422c2d7fc04b89e5c1f ofl/rosarivo/OFL.txt -sha256 de71817dafdecfee21268b8c4f106146e1d00988c4fd6546b10445eb26b24cc0 ofl/expletussans/OFL.txt -sha256 d1829ff3455bbf3b9d13dfb0a57758a863107c9108aab48558f26f37f1094180 ofl/firamono/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rajdhani/OFL.txt -sha256 26e4c39c4905bd7f1068b0bab008f5a4a9b945e2d7fda31e52719fc5aa9655bf ofl/vibur/OFL.txt -sha256 49f2a11271968a2ce019a43bf5401d1593652a18f27ea59037ff5e39856d2df7 ofl/changa/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/maitree/OFL.txt -sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsanscaption/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmadurai/OFL.txt -sha256 f354ef1e7256644b320c5e1d9a07a819c2e2b930166003c96680894f9fba81be ofl/mrssaintdelafield/OFL.txt -sha256 5c289da4a19f054ace8e31a144a6a254601898cd7faf9eaa301141afda0adbbe ofl/coiny/OFL.txt -sha256 0886960207bb5bcf81a46ce663bab6c52a742dad80ee2cff5cbcda6f1df88568 ofl/rhodiumlibre/OFL.txt -sha256 8f94e5901c371537043e0c762c827ce33963e7bd186fbea0abafc035ef7120a7 ofl/emblemaone/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/gloriahallelujah/OFL.txt -sha256 24af1fb3ab8dfeddc83162b7f3b6c1104149b6c3022f1aa948ef4f8ff7e6bf7c ofl/poetsenone/OFL.txt -sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyone/OFL.txt -sha256 70f664de65e7bb62e1ac728f20a9bb28de7fdc18be594186137a9e15ce9dcee5 ofl/niconne/OFL.txt -sha256 e604b133509815768e6ec4738bb04844ce9a23e80099d2b61e5d75ef46acbeb0 ofl/ruluko/OFL.txt -sha256 42ad5a49e171bec80308a1c9e8e66b03e638b3ea65af7fafa6fc0e42f45e7626 ofl/suravaram/OFL.txt -sha256 4fe81901e6f84cfce1145c715e931352a9a12aa7ac75cc193eb523c0cb0e5eb5 ofl/lohitdevanagari/OFL.txt -sha256 2937c7789b0e4fdeda6eafe93164a2ab36e20386704c4cb6f87b1deb620ec0da ofl/leckerlione/OFL.txt -sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexmono/OFL.txt -sha256 fce9f9e2fb268507a89fceea0b3eccc044f39fc3492968a04fd9e04df5ae95fa ofl/sourcesanspro/OFL.txt -sha256 e12a3e737fa75c0ee072d965b6185710f35e38a4f7a0793ebc66ba14a216109b ofl/meiescript/OFL.txt -sha256 d2f9c74aba2716333b0a3d283083f9fdc93b2e060c5ae094c79e97e8cba9d7e6 ofl/squadaone/OFL.txt -sha256 5d6517d497bea6116ed35079b30374043f6d90b19c8d97fc4e5ec48520d1e08b ofl/zcoolkuaile/OFL.txt -sha256 f8a20490ee8ad3adb2205ea44b279b19099a3a1d6b62849e90b4db20a77deeb8 ofl/brunoace/OFL.txt -sha256 75b2a5f39a53b4cf9286eb3d2cc1f895a8f3442680013c77124121bc347a6448 ofl/lemonada/OFL.txt -sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellus/OFL.txt -sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128text/OFL.txt -sha256 eba176d3ae86af6b41e9b744e4d18fb56e2a6ad671381bddb61fabb86b1d39c1 ofl/croissantone/OFL.txt -sha256 12404fcefccc3cb964cb2406510ba679b30f7d7ae689db08df5b455ae24b3feb ofl/paytoneone/OFL.txt -sha256 e2a176ce310235bf281f1124454e21331390ae1b4c429a2d80ae642d333a5a7f ofl/frankruhllibre/OFL.txt -sha256 2d83a49d05906b5e23285168e72c0d019fc15e3ad110376f640feeeda34c27d1 ofl/hennypenny/OFL.txt -sha256 d7d8074c2dd46804990c184e25849947ab76c5ac7607fbf3966543455769bb73 ofl/yeonsung/OFL.txt -sha256 13831d02389d917d22fcfa6c79f98f8acbf61d230add0e73a4d4dc5f3bfb9e56 ofl/chakrapetch/OFL.txt -sha256 c39e284759a441660d4c4d852c537e271d0fd5c301fe46d065a972b6ee144ba8 ofl/aksarabaligalang/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmysuru/OFL.txt -sha256 0da6a3e5b24a9fa04085c20a2a1d3101eeb1e0bff56a2291f407187e1b2adcf2 ofl/mrdafoe/OFL.txt -sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612/OFL.txt -sha256 e2f2dc7a667954c16a919acff5351e8ea89813d10f5a7504e1f4668fffbfa14b ofl/barrio/OFL.txt -sha256 8c495ddd455def58a45310376a747bb61bf86e4b071cc527b3618bccd3ef00fa ofl/chauphilomeneone/OFL.txt -sha256 b687f920fe20fe48d8f7709421e5deeb4becea295c80ce62aadcffc54132fa1b ofl/stalinone/OFL.txt -sha256 a90a8ebe28f3c2905a44557166010a3d219ffcce1703c3c3280ea8728d5e2ebd ofl/heebo/OFL.txt -sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alefhebrew/OFL.txt -sha256 2cd51b11e821dad2fb7acc54d68bd9a139fc7a1207e17c432ba9ce49bba3d493 ofl/fasterone/OFL.txt -sha256 ca424122f42a8d8442bc4cfd902f5f027ea67b5417705f5af1d1235927781720 ofl/amethysta/OFL.txt -sha256 bb8fac04b8535d39fb9851c9d886248d25bc0c82000066c92dd577c3369f512b ofl/chenla/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/lovedbytheking/OFL.txt -sha256 53a9ce47085d9fef613c7ecb3730dc80d25962510bbea231b89564f58240f251 ofl/gaegu/OFL.txt -sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/share/OFL.txt -sha256 9465823369fbe1ae0b5a3065021d53ef8c56e113e664229455dc80b237fa6a07 ofl/nobile/OFL.txt -sha256 0dd8e32457e18621737b593ab0fac49905cd948a078ed0e64f4890df714a1dfb ofl/amita/OFL.txt -sha256 791936b10381b512512317572fb5eee91bf503344d52c37335e402fc1cf19992 ofl/reemkufi/OFL.txt -sha256 898a9cf80636e86d6b6009b96795fda29e431ee701c28c36f274a7e8a7d8246b ofl/rubik/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloothambi/OFL.txt -sha256 382232d1add5623ba5b06394afa071f4eeecccb6d2b2bd02cfecff4a8a45065a ofl/fondamento/OFL.txt -sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsieswashcaps/OFL.txt -sha256 d849309d514833fe3d7a610e10f6cd5d99b4f9552bfa304969acbf89c66e4422 ofl/smythe/OFL.txt -sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkorn/OFL.txt -sha256 a1077580b649c7b0e05ea0e9369d48687b4ab1c585573bf86b0dcce7dde177c0 ofl/junge/OFL.txt -sha256 a9b40759b5821a0c2ad07cbd2c2a61dca4b3e222e6370a7d5bfb6b373bf4fb10 ofl/sunflower/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindguntur/OFL.txt -sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsans/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/dawningofanewday/OFL.txt -sha256 f27cbf1055db7b9dd80bce5cd12b462f2d9ed7313d84dd8bfef1ddd2b61bdfc5 ofl/chicle/OFL.txt -sha256 aba8997e16b1e3888c6e855ba883c70d96bd4375bff8cb9c7ce0f097200f74b8 ofl/abrilfatface/OFL.txt -sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasans/OFL.txt -sha256 d484e0dce424a9e360adabb568b6773db5f1566df71ce3e9dcd66a6cc2c38d33 ofl/ericaone/OFL.txt -sha256 1b3b78123c94dcbc9fd4ec174317336c8c93423da62dc946b8852553cb13ddee ofl/economica/OFL.txt -sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/kanit/OFL.txt -sha256 a6a74417db7c37f69495da556a3eb86a22a784ffb0131e3e0a5a47ce8d7fa5fb ofl/shanti/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepicasc/OFL.txt -sha256 963f283b5410c7df62067a35cd7def0802c583a880e7cd7e326832ec3985ec87 ofl/spectral/OFL.txt -sha256 11bdf9c7abd81f46a88b0b017d78a0e51f451e9dc0c2272813aa9f456ee886ca ofl/kiteone/OFL.txt -sha256 6827fa45930d5847fca5b3d3898b3d87a229fba772a5b6c5bc33bf73ec83478d ofl/khmer/OFL.txt -sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedfort/OFL.txt -sha256 34b8afbcab7508bea23847288332a8c05a507364ca6f0c8756ce560d7d59d506 ofl/mada/OFL.txt -sha256 b67eed9578defb59cc4ff4b58428fb816786e499e84cdeafca54723b055c169e ofl/viga/OFL.txt -sha256 afc1cda4eedcfe27c8cf30fe3e9879587cb43cc2882d4cb91dd3e3fc9eecd0bf ofl/farsan/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanscondensed/OFL.txt -sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/lindenhill/OFL.txt -sha256 a89ac8075be60f2beba79bed3fa253415a373dbdc3bb108b23f4854d0dd495b8 ofl/pathwaygothicone/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindjalandhar/OFL.txt -sha256 f22a2beea88d631a620b15683fd03e79f13ad3297ad97fa5e42283c0b1a3a038 ofl/marckscript/OFL.txt -sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/terminaldosis/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimer/OFL.txt -sha256 d2f87f90d108a947f98c030d9d8e4bf27e761ce83f222453b9a7230c5fb309e1 ofl/novaflat/OFL.txt -sha256 2da0fa5707f1fab1c802969b098fd1b92ca0b3b233a80e27fca416647c064dfc ofl/exo/OFL.txt -sha256 f9e5dfcdb2947c0db70465668706b0617cd052b6f86e582dff8741d9e5cded0a ofl/yinmar/OFL.txt -sha256 bcb0bda74430ccc281a616a81d0a287fed5a423815b00b222e0b7f603f85b26f ofl/caesardressing/OFL.txt -sha256 a94cfd8d1f5c33f9a7506def359b907f3313f7008bb57fc893985963cd342f8f ofl/arsenal/OFL.txt -sha256 52caec7d90533523fa7da64e95faf90ea32a663ce21847a39234b61e18d25044 ofl/bokor/OFL.txt -sha256 ef0bdccd20de76d517fb3939161d05ecd5808382fb8fa82cde5fcdb3adcb8029 ofl/engagement/OFL.txt -sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondo/OFL.txt -sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/matesc/OFL.txt -sha256 a7ba785ad99b6eae0444ab89910e512d4af9865937fddbcb5c72c4f59f55d6ad ofl/merriweather/OFL.txt -sha256 010cb216e8f3fbb2836fa3f38787a412b749352de546797f57c03c3bcfe46b1f ofl/nunito/OFL.txt -sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsans/OFL.txt -sha256 cb8bbf7a86eefa8c146f24ae5be74fffa887ba83719ab3c87036be8e3d0191e2 ofl/montaga/OFL.txt -sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/overtherainbow/OFL.txt -sha256 3621f156cc7a26e0a9cb413332e0bb35a0e76b36dbfe0b1c885b565a7bf3051e ofl/drsugiyama/OFL.txt -sha256 fbb941b371c6348ee2572ce8c78fb66128a61885f960dec1906c4e44ca4b4d3c ofl/reeniebeanie/OFL.txt -sha256 9e19c0d2e7e7adcbe9dfd0749e34dda41e7e356e0f2cc082d61d2fc9b6e0cef7 ofl/gfsdidot/OFL.txt -sha256 812fc4af0c63d31e0e81cc153af74e397407b0630e918b8b965bcbb192bc0656 ofl/artifika/OFL.txt -sha256 e8ad3f3de5baeff6bac6e711d8c406e0a6b8a61d2944741532d8965d893a2681 ofl/pirataone/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantupright/OFL.txt -sha256 65f43260cf7e66b57ddca8d148384a6602e2c06edd389a8b3cf388045127b47d ofl/lusitana/OFL.txt -sha256 518962c41d4a5e96b0016bd8d8acc965413ea1a0102467e4955931e702b14a0d ofl/iceland/OFL.txt -sha256 2171558d2482764644a2f793696fa2e48c361730ecc87686b9a29082d6daeb10 ofl/khula/OFL.txt -sha256 d336c098ea798bf14de111cd90dff7d6bc340852405246511345d0f8564fe76e ofl/fingerpaint/OFL.txt -sha256 ea274e87939d38032b31fb741af75bff9fa3f8d4a8b652265f9e0ce1ad7e9f80 ofl/asul/OFL.txt -sha256 eb1992aec1cf892ec94ffc116d79b62c7cb03dc108141b94a57a4195d210b514 ofl/meddon/OFL.txt -sha256 9b584984f9db0ee30347391a76eff9c0a6b03dc450c3c6afe3757a2cb3a4db87 ofl/tajawal/OFL.txt -sha256 1dd84b611f4bed7f9ff9089e76a96337b187e6f283a4ab33bcb987f844f2c4db ofl/parisienne/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/hind/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpica/OFL.txt -sha256 de08ff7a460541753999b1208f1254f1d31f16b421312aca4d4b8179d997de38 ofl/aleo/OFL.txt -sha256 7706a84d7e49e2273877106334a1eded8ae89fb5839fb81e0f2bb27c846f667e ofl/lora/OFL.txt -sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karla/OFL.txt -sha256 0409c6582424508453ce41648067efaacf0c790622918493d8f1d934bc5329a0 ofl/bigelowrules/OFL.txt -sha256 9e2d92fb24b4a548ab030c509ba88267e224f2523728ee9bb35cf334811106bd ofl/exo2/OFL.txt -sha256 f480fd19e7018942ecaf460f7a4ab9ccee0aec579abcb07d559dbede913864c6 ofl/alikeangular/OFL.txt -sha256 6ea7a3ef1d07feb592693f3f22c26d0b09321ff81814292b49be99888d0da9d7 ofl/ponnala/OFL.txt -sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhymeexpanded/OFL.txt -sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveat/OFL.txt -sha256 adadb8d5d34fe2218dca0f4a4919a9b6f81dfaebb289e5446ac7b3063d6965e9 ofl/tangerine/OFL.txt -sha256 16741ac498178f645283cfb45b7a487b6d361b5de5730c5ea729f056f414f6b0 ofl/ropasans/OFL.txt -sha256 1e5bf8207a40678bc401e2e5456d0db1f2a183b550a30976b48dcdd6a4e4c46c ofl/caudex/OFL.txt -sha256 6f9e3a1c51f617e7b110862426204ec7a56d8c6d2f731373b5de6b8d069099b6 ofl/ebgaramond/OFL.txt -sha256 c2368518f12463a93cfed44e1460f36085dc60df06f415ee9b0319809987ccce ofl/frijole/OFL.txt -sha256 5f247fad3e8a86b6c0779dff09277047c1ce2b0b7580a1093347a8af755352ba ofl/sawarabigothic/OFL.txt -sha256 6627b9c2c8ff8e0c6ef23f1b0125dd5b293320c10c916d402fef64916c296d0e ofl/kreon/OFL.txt -sha256 723764a50d4e6985dfcbd75fcb40dbd3abab37ba25ae626486d4a32084854487 ofl/kdamthmor/OFL.txt -sha256 846ce83956a732edd57b74d9ba988d58abc8c8e6d0926859559318ce6aed139d ofl/mclaren/OFL.txt -sha256 ba01480319f922ecebbc73f1a523e7f8876e92b16553a32c494bcd3f6f5a27fa ofl/ledger/OFL.txt -sha256 c3bfad2900a83f571d5c984d490d51c56aef14806c28dde38125593e1e71daca ofl/mrdehaviland/OFL.txt -sha256 12af42b715a3901bfa7add1351e45b6ce22f3061555d52db45e963274c349360 ofl/arimamadurai/OFL.txt -sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/miriamlibre/OFL.txt -sha256 3169e7e0e87168908218f11d660a52c0b81b5952fd73918a596e70721d68d3e5 ofl/inika/OFL.txt -sha256 e711c816f7de931244976f51166baa15446fc307e5d0ea04fdca1bc2c04afb1c ofl/nixieone/OFL.txt -sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signika/OFL.txt -sha256 b01cec9e5e2035b70a6aeb61c673d1f6d5c91539845be07733bd9880fddeb9f0 ofl/kadwa/OFL.txt -sha256 d7577acbab1d70f2e6bd1b21d8f61db189d6aabe6375bc2d96564b8d94031664 ofl/stalemate/OFL.txt -sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eatercaps/OFL.txt -sha256 ae6de2f6fc00f76cc7eb0d97c1ae5e0b7ec734f20ad7f58cf4c74738dc822d21 ofl/chelseamarket/OFL.txt -sha256 860cbfdc9dbc3f0e8d35af80c31e8f20945bff393d4f483dfc157469e01d321c ofl/gorditas/OFL.txt -sha256 9a2d8c5a3de0a6e62432322115dce136139948411dba33cd86525c0a02749fb8 ofl/unicaone/OFL.txt -sha256 4fe01b13ffb41faa8f030d84843a95dab32792dfeeca7c072abbfd3f4d6896ad ofl/audiowide/OFL.txt -sha256 173ea2d0bdda981829719623c35699e8c0e4aa508e0af12817ad7ccbfa4c6137 ofl/originalsurfer/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/trirong/OFL.txt -sha256 58bdc69f4c6177125c6e7cdbc78f710f5f9952f11bba7bd5b17bd7ef169d731f ofl/goudybookletter1911/OFL.txt -sha256 2950994bcfb8e903f0539d28a8ec4af077e0aa1fa7946c33c912d2d6969c2971 ofl/glassantiqua/OFL.txt -sha256 7344b8b8c97c4f88c0ff8bb72bb024bba72f404be1c740b6596a73ed15d28df3 ofl/vampiroone/OFL.txt -sha256 cacad5bf45bf5c81f4b6cbd114261bc8a08f6110b66a4c6fad8bbc16618a3096 ofl/daysone/OFL.txt -sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasanssc/OFL.txt -sha256 c8155eb9337078a9ea9f1e576ac813a03030ca43e2694593e90cd4fee6fce937 ofl/sumana/OFL.txt -sha256 95803fae1b063e592c67b5867f1f36df1df526e5ebf33c6cd4d4afa31a9d5586 ofl/sitara/OFL.txt -sha256 c254ae01c407f4a2bd0ad163e4c1a795d57ddfa8967c21b8a28c250b44d13963 ofl/sawarabimincho/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanon/OFL.txt -sha256 25995bcf8e8ddea1aafa5449870567cbbeae7e26b27ba30aca5642f2c02e9757 ofl/quantico/OFL.txt -sha256 455755e2e7ce9dbac6beb3729c97c57d6f74a638dcb5be548ec953021fbdbfb3 ofl/ntr/OFL.txt -sha256 ad6f73fa3edb7aea340aadbc63c0d7ef7663abed82664432ae09a6b377fa313f ofl/librefranklin/OFL.txt -sha256 581f08727777cb2a1a1ec95c0f981ce64fb1ad4354f78a0ac4f3481afa605577 ofl/moulpali/OFL.txt -sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangkhong/OFL.txt -sha256 08fdc7cbd92b9bbc4d41d0945ae7f25450d91c5fc8c66c68df331af3505e4ec3 ofl/rougescript/OFL.txt -sha256 694d5c15c1dac5e26653e18b94394d911e471549ec9b7d6247ade62e486b4915 ofl/asset/OFL.txt -sha256 bddfe669338d0dbc24c15ccd31dbf5c101a213da38049c24baca9ccb7fde45a4 ofl/wallpoet/OFL.txt -sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsansnarrow/OFL.txt -sha256 3cbf579238e4eacd90ad67883d971aa346ce8990d658635f78f98d608a6830a2 ofl/zillaslabhighlight/OFL.txt -sha256 87000f71a897c8c130c7777d058c5868f84316f99a32644b3bf595cd11edeb12 ofl/sancreek/OFL.txt -sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allertastencil/OFL.txt -sha256 9608d22ae5c586628c9904e773b7c6a6520fc16e1492ebcb5ea55d9523399964 ofl/anton/OFL.txt -sha256 f3758ee70600ecd5450f01ea373204b202e048d0454c9db2d1175c5a5dd1e92f ofl/vesperlibre/OFL.txt -sha256 e43f121c788cca4a14049e58864e28021174b055710ba38e0964e816dbf905af ofl/fruktur/OFL.txt -sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notoserif/OFL.txt -sha256 a1580ba69a8d706bd95e1e72ee0b5cfda0a478fbbab6a4af13b4a9e1b28faac0 ofl/revalia/OFL.txt -sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickave/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanonsc/OFL.txt -sha256 0836fd874230b17f840efcf7d3bb529f5a7b5befbfeef94478519cfe2d8551c2 ofl/courgette/OFL.txt -sha256 e3ed3ad6cb257e16dc1789900707c5cd1cdef2d60d155389342604991cf693f9 ofl/bahiana/OFL.txt -sha256 391ac3126dacc95b92a8f3408467879edb3245344bc411530a30d5aada52df92 ofl/gugi/OFL.txt -sha256 88dcde7d08e509a3eec64886292a36cbd58ed9bb52f37f91f55656fb9d21ddb8 ofl/supermercadoone/OFL.txt -sha256 41423e9e1d0ea79d0e78bd5fe9e0b27f4c23140706f5dfbfe116839c83aae91c ofl/charm/OFL.txt -sha256 43186c592361336474683e302dcc988831a53857bef188c4466f6b45dc238f84 ofl/fredokaone/OFL.txt -sha256 a21fa252efb7a1ff84de6a36df4386959668aa046f28161b4047829f7d9cd1b5 ofl/damion/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsancondensed/OFL.txt -sha256 bfc205682f5454b42a732ec857b665293ab8bc6f0ee901a0967219ba7ffdb190 ofl/gfsneohellenic/OFL.txt -sha256 59b91c9912b80714852a43897cbc9414d6457e22072dc99a4cea6e2bb4f3c65c ofl/freehand/OFL.txt -sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabin/OFL.txt -sha256 b598b7fddfd578950aa1fe6e0e2607b779abfaa686b83af8ec65c860f646b2cd ofl/rumraisin/OFL.txt -sha256 2bd35914efa381c80f9fb62d6ea7d736d3c0739196a3783c3122593c3408392c ofl/gurajada/OFL.txt -sha256 5625e91bd7c2a45c8b9f59106d587bd025470b462ea901df691defe0099621e1 ofl/taprom/OFL.txt -sha256 37d5360d8d2433689e78302a93cd88e9add8a2294046476625edada2d4328deb ofl/averagesans/OFL.txt -sha256 f8e2b58dd7a8c8e21e5d744b45876bce7e010a647c071c1ed42ff0e618d4ea59 ofl/frederickathegreat/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootamma/OFL.txt -sha256 09685e225ba9b697b2ccd2d4098cac5ecbed0679960605258a271af60749887b ofl/francoisone/OFL.txt -sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/himelody/OFL.txt -sha256 08a12877eda24767239f26b527bfce0c515efaf623c66da6baad92a6d5315e9a ofl/content/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/saira/OFL.txt -sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/delius/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/pridi/OFL.txt -sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/rasa/OFL.txt -sha256 4e66943af352059c059dd658774f25fbc831f1ad478f9f0890c06ecc2dd324c7 ofl/metalmania/OFL.txt -sha256 f5b03ea0b27c7f5afb9702771ee57679ae8ba6b471b6ba9e62d985d3256f1929 ofl/playfairdisplay/OFL.txt -sha256 593f0bc55c75b673772b378eaee314f128283745c4bb1cfdb9b8012a3b6c46fe ofl/skranji/OFL.txt -sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiagruesalibre/OFL.txt -sha256 14d28541780d90f6577bb7abcc6f005bf6969614294e75c82abb8758a696ad46 ofl/quicksand/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloochettan/OFL.txt -sha256 35dca6122235851d236bd861124f4a893d409eba021cd8c6a292a19df0f4640d ofl/codystar/OFL.txt -sha256 ab721b35816e470fb11619ad3705f75d08dccd0864505e3d782e94fd937f6620 ofl/allan/OFL.txt -sha256 d9cdb075679d15a99bab2a8541b9c4fdc71347502111fbe9affd1d462219d96b ofl/indieflower/OFL.txt -sha256 1313ae342eae4e1810304b6cd32f6815dd11b8e45812a2af98e58b6960684fa0 ofl/petrona/OFL.txt -sha256 1e4015251ca58d4f349b4ac930259c6f3d6381ce68f8b4b27d54d53f8f63f972 ofl/angkor/OFL.txt -sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averialibre/OFL.txt -sha256 8e28b778b6e1a7ff9ca72f4dee2d53120aa2856dc1bfd0be44307e365b0e45bb ofl/cardo/OFL.txt -sha256 a02e8715fcdf3325c474b7209399f50230897bfa828fe4eea2639ced1a1d574b ofl/blackhansans/OFL.txt -sha256 d530c14e9cc263c567b47742ef20df2a41374f00732ba4f290f52adad428b1a2 ofl/meerainimai/OFL.txt -sha256 2e2fe5f1d8916a5160060594a96c1a5116406d26847afdbd09618481e2abd6fc ofl/denkone/OFL.txt -sha256 56c4ff36faaaf336bc5fee659ff6fab2413d67499cc22acc29079b3892d8931b ofl/miniver/OFL.txt -sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondoswashcaps/OFL.txt -sha256 742a6a4386db47a2987c7c3b4aeedfb5adedfb3356c118de450a664735686535 ofl/graduate/OFL.txt -sha256 9e53298e3629e00ae4c31531cca09051ddaa654a5de4f7b55e596132fff86e1f ofl/dhurjati/OFL.txt -sha256 df9fcd8f62ae79aba7fa5b0563a08dfede1fa0909d668287d70c395d88f5fe02 ofl/fjordone/OFL.txt -sha256 02faa476b17db0044d0c502a3ce12fdc81eeeb9bd618e6a005407c79d6081bbb ofl/monofett/OFL.txt -sha256 1edecf3f971a11dcfd777cbda6f08c0f9a77bf57a0a2a89d8142fb933894ce16 ofl/amiri/OFL.txt -sha256 6e6efa9b0556d100cfe60690cff5d9be7144df77adabfd2c278dbfee451351ea ofl/phetsarath/OFL.txt -sha256 2348c4852e6322105d130aa2addbe24c962e330094ad6dfbfd9fbd2281d76b0b ofl/bellefair/OFL.txt -sha256 3bbcf1617d93d3a949a10da78ae91c58be536fb04567ab4b5b9fd207126f1db5 ofl/buenard/OFL.txt -sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/dosis/OFL.txt -sha256 3ac1301549523d9861fedca12871f24e575fbd26d520632fc00ba849b471d275 ofl/russoone/OFL.txt -sha256 44b51296985184d9b27fc2c8e5b317906c5d65d9dc834e81c07902d3e5e1cf1a ofl/brawler/OFL.txt -sha256 afb8c471158619593df0fb501453bd39fda42396e2cc3911e2a0a471c11b863c ofl/sarala/OFL.txt -sha256 de985adf63cff6b1bcb7c5cb55f1c5850fb1d36289d20a0e26d97a281bfcf956 ofl/aldrich/OFL.txt -sha256 194e25172d0144f29aff4b6fb2931ff0be0139448a5cd867db37863c9179330a ofl/stalinistone/OFL.txt -sha256 ae05f8781a5ef38380ef3efe8cad86783610b6a780c6c278d7472f95310fccee ofl/oswald/OFL.txt -sha256 2dab153a33dcb2101bba3f194d27d953c848a0fabf2e336650a81f84a0c33b3f ofl/pragatinarrow/OFL.txt -sha256 9d61931b909f9a738964f8fb311eb8fa40dba1ef9f1688b36039ebb15ee1805e ofl/questrial/OFL.txt -sha256 e315abc82a78710c7242e2f2e6529651fd631d4d50e6ad98ea194f9b54c3d701 ofl/alfaslabone/OFL.txt -sha256 4653c63a4bab99aa50de5190853fa21ea6c0a25d69d49f5a42cd51f0f67665e0 ofl/boogaloo/OFL.txt -sha256 bd8323cd1d2b6bbdfbbf99cb41ec1156d0352ced170de4aa3a96d95e6e20bf5b ofl/amiko/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/sueellenfrancisco/OFL.txt -sha256 ed93e9833f18acc2775380a28139fd88d3ebf82df7cb814042498467be3463bb ofl/lemon/OFL.txt -sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/itim/OFL.txt -sha256 fa28ba897eb819768d6bc00c30aa03ef560e80e5f6fb872eaea089c66992f502 ofl/notable/OFL.txt -sha256 96199bf9ff12dd471a66911dee95440737b437e7f5a6fd30e9e950c16d66e8df ofl/unifrakturmaguntia/OFL.txt -sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/judson/OFL.txt -sha256 ad4f6ede2e8a017255822a6abee8d10717f1d34c20223de80285ff59e28a1cba ofl/bangers/OFL.txt -sha256 f8779e6871bbab04e0a1ddd9997f4d8173b56792a1e7f8b9d691d967a49c7dc3 ofl/andada/OFL.txt -sha256 49b9214f7b40024abec2fc89a32bdda380f2174ba7005d7636e6ea340157c5a6 ofl/jomolhari/OFL.txt -sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612mono/OFL.txt -sha256 5eca89cdd576df5e4b7c694e0425b126a9ca839aa067df85fab33904a8187076 ofl/amaranth/OFL.txt -sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenprovfbeta/OFL.txt -sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothiccoding/OFL.txt -sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extended/OFL.txt -sha256 3670ddaf348c62ada22a2f606158dedcd9ca5fd5422a6173d6593204a8f53d4f ofl/varta/OFL.txt -sha256 ab592d1abca19428b89d851706fa7815ec25139c6affb45d366577ca63fb91b7 ofl/yesevaone/OFL.txt -sha256 e8dd8f53b2fa502ace0636debbe7e357c4888d8d02b8b41d6a9a22d3058a63dc ofl/peralta/OFL.txt -sha256 cdf5fc4014abe91588666a9592ec86200e5a4d743b4b6e05d28d47e850bbe5fa ofl/digitalnumbers/OFL.txt -sha256 f8c2225a5fdb50e2e75f98cf6e69f198571f605f1b7f6f7eacc0947e2fcdbe8d ofl/sreekrushnadevaraya/OFL.txt -sha256 a80ee908b60f5bec9c10b135d3da93730e2194107d1f7fd3f61bd8c1a97b3e0c ofl/yesteryear/OFL.txt -sha256 6d216cec166b6e139adaa599053dd49720c053e1f2adb4845de3cc9c3704344d ofl/play/OFL.txt -sha256 46751a31966477e3f038d1e5ff1146a33234a3a523a0e6a21be3221cba082a34 ofl/muktamahee/OFL.txt -sha256 505bb8f3c30f2006b4e02d250fda31ed94b651a35f1124a201ca1c405ce989af ofl/biryani/OFL.txt -sha256 5641212407f956b828bf632afc4bbb3344f461f82255ab56756d9e3e8604c7b1 ofl/martelsans/OFL.txt -sha256 1ed119b01f03187dbe2f5f89c95431b9a4ca46db604fd263164d8b4055189f46 ofl/lateef/OFL.txt -sha256 4938e917ac54665be1dd862f54634d991b39c5d1eef69345d66a5089e401bfb4 ofl/creteround/OFL.txt -sha256 9263f9488a9ed1d5f4218581b642e0f054f9a20d208f1a53c19c9f7dbd27eaf2 ofl/peddana/OFL.txt -sha256 e75ed24435d1711de0bebfaa621c3eb5564798c88cc0c1d1f8d529bbaae703a9 ofl/yanonekaffeesatz/OFL.txt -sha256 708e33bed791c40638926a7577bcef8ff8748f84045f3825277540cbb8d483ba ofl/poiretone/OFL.txt -sha256 f1d1a3536fa4b9c71d04fe4c8d8bbfc0cc5c457d6883f45086b04d0bc07ed12d ofl/vastshadow/OFL.txt -sha256 f9f28345ffcd6cea6e3c6699e4579cd1948053d80fe89a6a5a2ecb269afc95f8 ofl/nikukyu/OFL.txt -sha256 c1bcd16ffc9d095822fd6b7fa1a24c7918b24815ed05711421f804293d2efa62 ofl/actor/OFL.txt -sha256 ae629d13b06d9afc5cf3c07d585f3192b89b7decaffc5c4dfcfa7ce11a2a2b11 ofl/raviprakash/OFL.txt -sha256 bdce62dd98db969b73f93f8e8e2151004c20ad871ceb15ad9bfcbdf2cf939dba ofl/pompiere/OFL.txt -sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/poorstory/OFL.txt -sha256 757f49d04406c93c40d1781e7867fd85a1f9fdfbfe03a5ae332900da802fffc6 ofl/harmattan/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/khand/OFL.txt -sha256 74ba064d03f1f1c4a952da936c3eb71866c34404916734de3cae73b34357e59e ofl/lato/OFL.txt -sha256 94625b91cba99cf9c8e580febf5e738b2e3c7cde9034a16bcfb7538b672137e5 ofl/zcoolxiaowei/OFL.txt -sha256 3e908f3a95680bdf3c8456bfbf76392605b34cb3fba109e46441056ab966cb35 ofl/modernantiqua/OFL.txt -sha256 6a809aeba8af2115ca4b4c3597b1fbeb836a45f0489070f330f9c2dff870da8d ofl/galada/OFL.txt -sha256 2c3737ea83b48d48624068d1bbd1d9f8049eb7cf2e1f67435e420375c42e0686 ofl/spirax/OFL.txt -sha256 92f750829545386017c3418d890769778b76fd01dfb41c62fcbb0d42ba0303eb ofl/dorsa/OFL.txt -sha256 656a20870fbcb8f559f1c6308c1df90ac93d7cd0279aab49b43a43b5e58534e6 ofl/neucha/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/zeyada/OFL.txt -sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laosanspro/OFL.txt -sha256 33e3a83e377c6a41149044bd919f50d9a971d801052d4e0c0a98cb417b42ae38 ofl/risque/OFL.txt -sha256 b4fc1d55ce610f255c5712f8169543f9610536d002deb99bbc99bfbba9f8a560 ofl/pangolin/OFL.txt -sha256 511125dc85198375795fdbc109d088654d3b7f9dbd3ccb7bf93d844aef0b153c ofl/ptmono/OFL.txt -sha256 819e3b25f9b50f12299a3db1638be3813efc6b938f2b86693a218d20ec4e3209 ofl/londrinashadow/OFL.txt -sha256 e3ea566dbf689a9110b2094f9f2e5d16d7ec31720147651efc1005ca20420dd4 ofl/flamenco/OFL.txt -sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowcondensed/OFL.txt -sha256 705960c3281a5765ecc0b59bd4ed7ca59eed165748076bc2fc3e8fdbfeb944b0 ofl/pressstart2p/OFL.txt -sha256 7e896665d0863d2a17a671001dbe2528a5f9302f1dff9222af8b0834e9088d0c ofl/kiranghaerang/OFL.txt -sha256 5f1f5510eff7922864bf326ffa1d4a62f01add5193e9367b542378e5a808b500 ofl/handlee/OFL.txt -sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivonarrow/OFL.txt -sha256 82831e8f12ecb6deb2f4d9919a04049895b4619e0301fa6b699c861bd7311c54 ofl/kavoon/OFL.txt -sha256 1a5e3792a425687a523fc7c0f8ab5d01d58bf853149d57f3dec4b4fc6932fcf6 ofl/hanuman/OFL.txt -sha256 7f91d7d8854e5cb4fc630807c0f4d57c07777769dc597173fe0aef5e58f0992c ofl/qwigley/OFL.txt -sha256 354b4be0340cd58e381fdf58793a108897bf944a7f8faf9e877c476ed6c730d1 ofl/convergence/OFL.txt -sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygenmono/OFL.txt -sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinate/OFL.txt -sha256 4dbbe5c21b46f2647d227dde69b971a1b46de1435e0752a9eda1ce120725a93c ofl/norican/OFL.txt -sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanalei/OFL.txt -sha256 56edbe5fff7981dae6f6eff32f61ba04cd54324e5abfa44b1257b2a307ea561c ofl/poly/OFL.txt -sha256 59bda6b53e28d388de5eac7bbb8f3e65889dc8489be3d922f95a525354110c0e ofl/tharlon/OFL.txt -sha256 3fa0ceff4b9a2d28dde43bc63cde3acfb5e6e92d13a53e484ca0e501e18c7e2e ofl/lekton/OFL.txt -sha256 ad9ce814ff266b57d3c4698d3fadca4b41a6f942a0ddd215db5cc66abf92d668 ofl/mako/OFL.txt -sha256 c4afe82f49c05689c40dd4e262803b29c6e611e7b4efd3a0418f574b2be79d9a ofl/carterone/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/karma/OFL.txt -sha256 d38acce513eccb51d7ac34ca47be279e1fcfdeca1ed088bdd2d281dc6ca939ee ofl/badscript/OFL.txt -sha256 31eb7046f4c80e0f96944c4b40b0772de68b34783b794fc13aab3f54c2ef6d9b ofl/thasadith/OFL.txt -sha256 06c79c896894160a5810d869a822fa7d02a0e2ccffd97920b8cf3b880380f6e5 ofl/amstelvaralpha/OFL.txt -sha256 4faa2d9e2ce0a4b5b37e62ee6fafe474a539b31578f7214ed97cc3503aeb8ebd ofl/oldstandardtt/OFL.txt -sha256 1e511bb01d29562932157365418c02d954d8faeef794bcd54729177fb2b03db0 ofl/istokweb/OFL.txt -sha256 846e8cc6dc69bf685d2db14cfa758ff3d9d771d54c9e0d3b511f0ecb97ac0e8a ofl/cambay/OFL.txt -sha256 6c181f5a0045e8f414e1c232c35972ab83ea084ac44825f517ba001628d97b21 ofl/kronaone/OFL.txt -sha256 d7f96801a28ea11eaa51bc4a9c87fd91f2133bc298068e6e2847a15ddda23089 ofl/librecaslontext/OFL.txt -sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/sriracha/OFL.txt -sha256 22c4588bdc14621220ba14515d52041d1312541e034a15d1f5c2a88fc6075276 ofl/merriweathersans/OFL.txt -sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39text/OFL.txt -sha256 5b26c88d163b1430561f53fd3d9021d6057f3c67d25534a5d8d232cfbf8ee2a4 ofl/wireone/OFL.txt -sha256 57f8d60cfe9212b971f07253e303746128edd06b21e3a0e4e188308e569f03e5 ofl/orienta/OFL.txt -sha256 c87702d8b70f714fbefb554660e8ca57a43ef62a59089d11cbf0c6bd51d56928 ofl/lohittamil/OFL.txt -sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejuhallasan/OFL.txt -sha256 9437c26410bcd543607a6775e7d0e359c1df3926d68c92dbaceb26ce79cc0fd3 ofl/bevan/OFL.txt -sha256 50265d2b41f8ad2dd350532d2286509aa694021b4aa0490b06f0068e4ed78c27 ofl/herrvonmuellerhoff/OFL.txt -sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeyemarrow/OFL.txt -sha256 1fac7a3e4e43b091c2d31aef7a375d2b969c42b2d5fce8e2d40b5f7b1233ddb7 ofl/moul/OFL.txt -sha256 331c71cbd8f1d8a70cd6eec3d55553b64e6261a9bb0982fa12e6e48baca827c5 ofl/philosopher/OFL.txt -sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygen/OFL.txt -sha256 89418a3c7b5726c3f8828a7b7c3f1cad661cf5b7a1be3d2bd9ea243f8d9890c8 ofl/sniglet/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balooda/OFL.txt -sha256 89d9d01291eeb91074ccf1f7ce07e7a1d9d421ec1191f8e84d440cb50830ed92 ofl/purplepurse/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloopaaji/OFL.txt -sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeye/OFL.txt -sha256 f938d4076b66a13cf984ce88d92a07ff9802e8ae5e1f4a28cdc43fad122ae611 ofl/spinnaker/OFL.txt -sha256 89bf0833b785c49b0f271273ab440bdc20c85bf0322537dc901df940bf1579da ofl/amarante/OFL.txt -sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhand/OFL.txt -sha256 684ef102ca4c5ff61cf1c1e5c2c6326f3c26f848446f98b8862dcca716a87601 ofl/quattrocento/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rozhaone/OFL.txt -sha256 61be7c29f4835e2be7243db12213d75d53ff028f29f4b493212a1688b1d3a1ba ofl/titanone/OFL.txt -sha256 9df0700fcd0ef48abd74459a8650d35f59397fbaa00c5b00527e57cc155689c0 ofl/durusans/OFL.txt -sha256 b1958132ff727bd74409aa37ec0abbe4be13b1b379e1210e6fb77fc608c607d5 ofl/kodchasan/OFL.txt -sha256 f1888ed385b528866a472d02f4e06ef0873aca5b3c63ff1f6116cbb150dc9a13 ofl/metal/OFL.txt -sha256 e36d420a3b382b337c386338d8abc3635e10de5dfca7f822fc63ac659a0dcfc3 ofl/amaticasc/OFL.txt -sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscript/OFL.txt -sha256 60ddc0ee6e443b78940b5f92bcbab76c98ec6965e0da9fbdaf267383ab72bba8 ofl/anticdidone/OFL.txt -sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothic/OFL.txt -sha256 3184f6a99f589c78740fbff6ddaaabb43b8cc2f3852da36e60aeb024ea8d6f00 ofl/eaglelake/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/halant/OFL.txt -sha256 9a9f089005f389717106bb3ba427cda9bd51b8a477078644566543f2a60ca85d ofl/rambla/OFL.txt -sha256 99d2f30e282d6174af8ff68597f58bb53c0dcb2b104a4c1b8d19da49021d00d3 ofl/unifrakturcook/OFL.txt -sha256 2bb0c0200723d923f8e20d08b8bd1c7af7f5cef8bb2d63ce44bd268b54334621 ofl/fjallaone/OFL.txt -sha256 72afba97d1ac9409a9fd3bb91a02a639427ca1988977909dad273e293a508d7e ofl/staatliches/OFL.txt -sha256 88aece7d90f2bb7049719f11619a560af22af3451af141f12aa4f46bb157a99b ofl/lobster/OFL.txt -sha256 955655cafa13f187f45a79dcf451942fd1118a8426abc5a25ffc5dbb00709da6 ofl/juliussansone/OFL.txt -sha256 9e1c955538817c3fab7160cb3110501e73ce109eeb58c4992a14e8323d900849 ofl/pecita/OFL.txt -sha256 96d82a96abc02fb457ddde0227833dbde9d1d02876c91f0a4e27845ca0d692fa ofl/atomicage/OFL.txt -sha256 7729f005b7a087368e2cf61fc4b65cdc85988e47d0e6e38c93a72de345e86b41 ofl/newscycle/OFL.txt -sha256 336fab6956d78eb34b50cd7bc6b16116c44735fbd0bf9f4def769ca4d8e218a9 ofl/sofia/OFL.txt -sha256 b26cae1321380296ba8311b632a397d5eac11b47197f9d0aa0b9310f1531ad60 ofl/sarabun/OFL.txt -sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/suezone/OFL.txt -sha256 d3711c90a7deda6210d30e41b945f16bdaa00662b30ee0b7c36abfee82525bfe ofl/kokoro/OFL.txt -sha256 513b7871a360a6eccd426bab59743fbff36764588f47381423f04ad6b3d821d9 ofl/alexbrush/OFL.txt -sha256 67f64c5509e5151796599e3ad47c3131cbe0c80c4f9430b90236a1249c2eacc9 ofl/roundedmplus1c/OFL.txt -sha256 4a7d2f227b91046ef7a54f8f735668d86e45f4fd4089268de292a6e9de108253 ofl/bentham/OFL.txt -sha256 3c187c861dc291b9f7f96f655656f9ac2d57b33da425bd5962810be728344f57 ofl/brunoacesc/OFL.txt -sha256 869e4c29978c318b33c2e5c7c8f24d2e947f249071bb1471620036a9d1ba87ad ofl/k2d/OFL.txt -sha256 6383249ddffbd87f2bbd7878ceba2dee0f1a2193cd7a4f41c00aaceb8e6d8b5b ofl/meriendaone/OFL.txt -sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/sortsmillgoudy/OFL.txt -sha256 d64c91b0306b53fabed08762068eea8b918d654fb0721c288f13cefa4aaf088c ofl/butterflykids/OFL.txt -sha256 bc1175730d609233043cde47e48f69831f012e85537c5ec1a2cf4836757c1540 ofl/mali/OFL.txt -sha256 fe5e822667a4b2e083b8fdd7a37546163f26f6481b58742236abffdcfb3e6c71 ofl/baijamjuree/OFL.txt -sha256 b0316f404a7b291e40921c605160181065791a5010a2d2d5691fc7e28cdbdff2 ofl/underdog/OFL.txt -sha256 c026db4c1a557cae47e6930876965f9cbc05758eb1f5d6f59b6b61c8f342a57f ofl/alice/OFL.txt -sha256 aad1e82802172d4c1d22dd015a5b8b4275e5665a49c1df54ed64716fca7ae194 ofl/corben/OFL.txt -sha256 878aec7282ab41d058cedbf90e14512bcb4fbd0658496de8c2dfc592ed1f0cd0 ofl/lilyscriptone/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglishsc/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/sarpanch/OFL.txt -sha256 aff3cea99bf300b4b29f4dc04867cf9b49d83de8c5ecaf991c446d506b56173e ofl/wendyone/OFL.txt -sha256 b054962de0af1397d5350fddb4d6bb20f5f2e073b543eeeb694c7c3b27144fc5 ofl/chivo/OFL.txt -sha256 19849b33c59d0cffeaad0dbdc38db767e95e03cd36fbbfe6b67a9878aa5758df ofl/fasthand/OFL.txt -sha256 a57810cbca0b4715ae8610dd7a268260cebbdd4fd76d304e371517f828150669 ofl/stoke/OFL.txt -sha256 47a0b7e315bc56ca0326fca46302d87d48a61e3528d4196e966b62f5bf0243f2 ofl/armata/OFL.txt -sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothic/OFL.txt -sha256 616e75d879831bedfa7725c078e09bb56f8a17f40b194e16691b12251bb42b3e ofl/majormonodisplay/OFL.txt -sha256 75c7ccf4f537a7a3ebbedd299c1d2542e13d3b27aaf76a0a2d9fa91a2a8fcd3a ofl/felipa/OFL.txt -sha256 ee2c069b30f3e9a5aaf52357117ee3443ee27f17c29a2ec68861db283379905c ofl/dynalight/OFL.txt -sha256 fbe0442a6b1ce162c95e241df76cab5ef2daf6a5ac84ae1a7a6749f32c051098 ofl/breeserif/OFL.txt -sha256 43d530580461a574f6dfed9e15af6a74e95f7c04d9bfa1174a63ff036e8eee07 ofl/rubikmonoone/OFL.txt -sha256 40bd3f35477284c021978816e9d3b8723ff2283fd7065fafaa5bb3004e41b237 ofl/songmyung/OFL.txt -sha256 460966d12f306a007930575c3b8bc336fe0c32f880d622af6d3b745a06ca79a4 ofl/benchnine/OFL.txt -sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreyasc/OFL.txt -sha256 0c922e2d65050677c26ae8dc501bc9ad3e0059c4b10df2fc9717d7bdacdfeb6d ofl/ramabhadra/OFL.txt -sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquindark/OFL.txt -sha256 e39d6ec64a37ed1523a59940695a61ea5e7882d9bbe0e7eb11653fda4b04fc79 ofl/kottaone/OFL.txt -sha256 1bfe7d2aca99042eabf37079152fef8abdda2c36dad454ae89b858a3cb1078c5 ofl/forum/OFL.txt -sha256 5505d1a010ee0f2eeecdf624984d2a6170480adab3091170abbcedd85361f1b9 ofl/novacut/OFL.txt -sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellussc/OFL.txt -sha256 0786594992757ea0290ae4a490ab9249728f372adb13959c0c8ae4fec83057ff ofl/quintessential/OFL.txt -sha256 ca13e9cd1faaa6afb9e43dcb534a8984cec3218993fb4b436468a79a1657ee19 ofl/keaniaone/OFL.txt -sha256 760fb433c515570f6b77ebc60299c2c91d5f03848c659452a9d2458b28935768 ofl/numans/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantunicase/OFL.txt -sha256 1d1b7f3480c8d9b65c26d205e41dcbfa85731588d6ea50bccfa78e91f242d629 ofl/loversquarrel/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/prompt/OFL.txt -sha256 eb6c70cb6b575ad22df022d454df7a20582915e6e8da19b579c6cbef37a26bb5 ofl/gafata/OFL.txt -sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilboswashcaps/OFL.txt -sha256 4579982a484a9745864de2cda666fd7b5017f9182b74dbb4cd53d84c1d1b2231 ofl/gruppo/OFL.txt -sha256 cd059851dc2abcd2865ae318e8b949736f958794210acb90316530fd100fc904 ofl/geo/OFL.txt -sha256 af9b97696048d509e3d70f8108b7c4381084f95c8fedd97acaa76b0b287668be ofl/molle/OFL.txt -sha256 6958d8c61b6b223f81bdc2109941e5d0004996dde61e197d628e0293f4f1bc58 ofl/miama/OFL.txt -sha256 7e98b49a12b51240c85b04eb0d9919a6fec7dbd491bef6cbddc22d3f851bd1f1 ofl/marmelad/OFL.txt -sha256 b9d592c3bf421197d9b7e353416b8e2ec81584988824b43d38c86d997a08b868 ofl/myanmarsanspro/OFL.txt -sha256 e414e07f7a4da16ed47ebec80d52dd79f21d3ca42bc92385a755d8078a038814 ofl/playfairdisplaysc/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairaextracondensed/OFL.txt -sha256 bc85bae0b512b799bbfb2b916e4d0a34cfd963d09778cd783e248b479e67760a ofl/comfortaa/OFL.txt -sha256 caa697668c3cf3e622753fb202c6c2e29648b94a3499dc7b869a14192e38c553 ofl/sourceserifpro/OFL.txt -sha256 81d6c3788a6b641cb9f543389d9d5c0cd3bf94fbb5639be19c102b9274c34291 ofl/mousememoirs/OFL.txt -sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/arya/OFL.txt -sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkornsc/OFL.txt -sha256 6506b2fa2a14259a8859608a6148a4591d67bbaef4d8e1948b43c4078561b0e5 ofl/tauri/OFL.txt -sha256 6cca1abc09d677cf00a55674ce2775e0eeb6dc5c0137b0401816680b9e500f81 ofl/marvel/OFL.txt -sha256 e98ce988fba1c138f4e7c0c5120809706ab1b24a3c29638ca83ab2ff082e08db ofl/chango/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairasemicondensed/OFL.txt -sha256 42e7b456fee0d0dc86927579b3d2626d42bb0f4cc9778f3a92ca8ada4e46348e ofl/novaslim/OFL.txt -sha256 1b8eef90c567309fef17962cc969dd9ed1de69176517238e744018bb983e7c1c ofl/mandali/OFL.txt -sha256 9e262d6d7fb789aab6a8ecc53fc9c78387eeb9f935dcd289282d8e751b6bf743 ofl/antonio/OFL.txt -sha256 07dbf75115edfc1fd75580aa19c4c730201a099e8f86a9869887dfbed0547266 ofl/offside/OFL.txt -sha256 f177d98c67b84250ec87a03ca6ad161e84cab15b435e960039b971797a065f4a ofl/martel/OFL.txt -sha256 bb3e8082faf86b1474a6b042125ef0f83669d28110b72f70416a7587b7b9f144 ofl/unlock/OFL.txt -sha256 c4955dfe15a5db10326aa58ef767460c42cd12a3acdb3e698eee2704eb373d94 ofl/electrolize/OFL.txt -sha256 cf6dd07485d67d20f105afb9981dffdb6b180b59af45a228839cf3fb0277c9fb ofl/arapey/OFL.txt -sha256 87e8d9aca71dbe0481ba8611fc90d7e3aebfa3e2546420c403e7078898b0c484 ofl/allura/OFL.txt -sha256 55e13d77a4457aa9c60f10c5b97baea3343d3bac30960d49554a033cb9eaff7c ofl/sail/OFL.txt -sha256 1c5bc055869d5e9151ec7774082727db720ec4293c65be67f91a4bdcaeb02998 ofl/righteous/OFL.txt -sha256 de5ff32211a4340b01477af39ee339d639438955e409f79b666d4b9207f3c92c ofl/dohyeon/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/waitingforthesunrise/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglish/OFL.txt -sha256 44a7c6e4c5572392ae122d3b1d8c6ba6fd640a7797e675384585d947f2773e3c ofl/jua/OFL.txt -sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signikanegative/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantgaramond/OFL.txt -sha256 9ee6b2ec20a06c599a07412690876eb457bf192c10e886e60d8bdffb80bc21a3 ofl/sahitya/OFL.txt -sha256 dcc832bd71ea62cbf97f06327a1b5442905b49ea446801421d71f7d1362db215 ofl/dokdo/OFL.txt -sha256 8aa063e3a1299c5e1821f386f5ca8bc157ac561bd12c739ffa81c6f0821450c0 ofl/donegalone/OFL.txt -sha256 e588abf45ca2b19c340c4b27349c9b6b6e5e198316fd965128ed9f4422942cbe ofl/raleway/OFL.txt -sha256 9860b97028024085855e503e32c1971bfd603374641cd018c136433ebcf5a338 ofl/gravitasone/OFL.txt -sha256 ee9d043332991eb6bf2bd56fb04db3c558c1ee2f0cb9aa7b18366c77e34fef30 ofl/jura/OFL.txt -sha256 15b1a21c3fa37a475ba6b0c0cfe289c7952548caf6e432068ddaf98d139ce419 ofl/belleza/OFL.txt -sha256 c5a77946a56488790364d060628385d51226da62a18f30d2be0181d82ee62b00 ofl/suranna/OFL.txt -sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/megrim/OFL.txt -sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extendedtext/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/teko/OFL.txt -sha256 d324289a26909a519fb16c3d468a56ab909ad6d9070cac5742e5d59ad9bd9815 ofl/gildadisplay/OFL.txt -sha256 c0bcb72e68dd416db0bb9fcec7a7fa62321b0147cde00d8c8f82748e33aefd34 ofl/novasquare/OFL.txt -sha256 794d72ffdd25e8f7ca8e1d68db088c30ddbf2fdb369b6cc8217d4fa5fa6dc62f ofl/adobeblank/OFL.txt -sha256 806cb93632b8091cd36554642a96b2752bab50015da6a2b456d786c1f9aef5a5 ofl/carme/OFL.txt -sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasans/OFL.txt -sha256 08b6f5cceaefcf2881eb009adeb78edd0fabf9c8f0eaf8b88f07a690222227e6 ofl/varelaround/OFL.txt -sha256 3f0f27931c92453994176af3b1e7954f9aac39fe145374d6d08c47c822e82e59 ofl/princesssofia/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeoutline/OFL.txt -sha256 455397ca15d39e9178bbbf4b485a29187751d60f7ceb7829980a521d5ab6848d ofl/sofadione/OFL.txt -sha256 b7574cd4c76770e5e3915d16bd93f09663bd77cb041a4ec09d824c52b540529a ofl/germaniaone/OFL.txt -sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/eastseadokdo/OFL.txt -sha256 520a0c239d39b379b61c4de5f8e3b02db20b0dfc137481843eac01f02c41f4a2 ofl/aguafinascript/OFL.txt -sha256 ffaf7bc750bdaa0b95b09eb80e419748bfaf46268c6612860f0a5e19e17abb12 ofl/orbitron/OFL.txt -sha256 c6b9c7322fe0203d4d8a0f98541136d8d76da76b92c79d206b09991b98338cc8 ofl/gemunulibre/OFL.txt -sha256 2f871c2e81de6d0c72c981615002c30bc9f1637003d6d3d4c3f0149886b70569 ofl/mervalescript/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaijaan/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsanvertical/OFL.txt -sha256 00a6fe8dfdc48d6206bcc4f10a765515a73433dfba7255eff966963beb26facb ofl/dhyana/OFL.txt -sha256 cd2dea62cd4b0c5fb335cf07ff04fd5c4bacb49b8d6c2bbbef9766c663d79b1c ofl/patuaone/OFL.txt -sha256 c0a8947de199b422d30c16137e4decd5362e3a1d504422880d69c02bd6046dac ofl/cagliostro/OFL.txt -sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alef/OFL.txt -sha256 2cc926050c4c6ccd9a0288b7792e2fcf93e5629ee6269e35986f092275e5a1b9 ofl/sarina/OFL.txt -sha256 f1bce31b817dee01c1e4ef8bc45d8ecb95f01f4abbf0a985007cb3cd0fd8123d ofl/zcoolqingkehuangyou/OFL.txt -sha256 9788e3b3e67f22ab5846a0bb867a230e7df2468c3cd20f730a5d9c34e673d090 ofl/rubikone/OFL.txt -sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustinavfbeta/OFL.txt -sha256 ee81f11dd1970e9749afd2a572256f8eefce65532872762a4d7a3d5daa0812c8 ofl/shojumaru/OFL.txt sha256 4f4bc3806a1e55789c6ef75ca5fc628297b05292f74966474dc0d40324abc609 ofl/abel/OFL.txt -sha256 064539f87826887d2062b7823b2b97b7625d68b642f6c945c99c0b8dc8084195 ofl/rationale/OFL.txt -sha256 a345b13576140008a697ac66ca8c76cd63b1dd076712bc30a0f5e97dcc53cc83 ofl/markoone/OFL.txt -sha256 203693528d6d2e8dc5e639c6ea42b3e825b59dd6447294e37b306fe734650091 ofl/arizonia/OFL.txt -sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/fanwoodtext/OFL.txt -sha256 3997621a219c7758e31dbafdd3cbd2bcb0b6144a41d1ca068d04dbcc4bafcde6 ofl/milonga/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeshade/OFL.txt -sha256 162a3b5c72cba845280a6f887c11d02984540b924510138c8b1eb473bcdafb6a ofl/concertone/OFL.txt -sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveatbrush/OFL.txt -sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlow/OFL.txt -sha256 9551ade371e7bcb1f6d9959273bbf1fed3bdf398efb5c57cc1fd85d6a13e9e5e ofl/londrinaoutline/OFL.txt -sha256 f15a9a3a9a665c2d17655b8fedad86d9a8f30081d46bb91236beb1bc7294a589 ofl/akronim/OFL.txt -sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo13px/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairacondensed/OFL.txt -sha256 96b7bc175186cd0153a9682a1c9bb1da7103ab13a83abef8026bc64582ca616f ofl/oregano/OFL.txt -sha256 6fc386ac48a529b85c21f90a6c8d2111c6271b3063f9ddd78e92645db5259510 ofl/tulpenone/OFL.txt -sha256 13e862ac3f67130f58bd4bebb61c588d147b5a555b1ac6959570799c4f648cd0 ofl/capriola/OFL.txt -sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktamalar/OFL.txt -sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siemreap/OFL.txt -sha256 f76c1013cffb3e0de0e7dad19ee5b4b7849c7ab10b67218515e39cfd87e554a7 ofl/julee/OFL.txt -sha256 c264f64bb2b91ca0dfdeab75d71719120271fa6a30035396416af235ef481c1e ofl/merienda/OFL.txt -sha256 d102f22055cfa31a9659228483de3c726010f0b3b416b78e3cbefcb54816e812 ofl/galdeano/OFL.txt -sha256 2db02cb5d05d5f8a003ffefce36a32a16520ad4cab9ed90635ff953b583e4e82 ofl/sigmarone/OFL.txt -sha256 cdcc959c42ab255b4cea4bd82f2db5c24a2da7ecabe615d02d5a5dba3716e446 ofl/racingsansone/OFL.txt -sha256 c88333734ad7cd30540ec6614d12aa829a0395715de30e336d22ddfa3005db42 ofl/catamaran/OFL.txt -sha256 26daffa24723bb188643085cfc5423f9d78d22a395df4a7928380e430545a201 ofl/bubblegumsans/OFL.txt -sha256 de2246895f0ac21fe05b095d586d36cbc9f987ebcaed1e050c61e69667caf1c6 ofl/hannari/OFL.txt -sha256 b54d54664cddcbf05f5b4ea3aec7e89317eb917cf465920969e7b22361e0f4a5 ofl/seymourone/OFL.txt -sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiaseriflibre/OFL.txt -sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsanscondensed/OFL.txt -sha256 5802c9e3509199c7aa9a13ea410ae27febbc0cdea184bf7d227170fac703bba8 ofl/passeroone/OFL.txt -sha256 2400b30a72d2b1555255b81625576dfb552584a19a9c85ad8d43ff77bceab13b ofl/plaster/OFL.txt -sha256 4bed7eaae70cab1bdf2bcf9b1cb562fcd9cc26d1c3533c4ade0ec70516dfb3a4 ofl/trykker/OFL.txt -sha256 45b1f44d2cb859ea4b7be2f322c57b8ff7be55075c336744e62b5550cd0a97eb ofl/medievalsharp/OFL.txt -sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpass/OFL.txt -sha256 ff1f38ac4e694a4ad5bd3d7a5146cd8bd73fd57aae794ced76a24b0d68e41206 ofl/pinyonscript/OFL.txt -sha256 6aa923334ec515d26b1a61bb978a0bb5bd8884de7529add1625beef2f4a53f74 ofl/nicomoji/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesansexpanded/OFL.txt -sha256 38fab5a643fa935a4e11edae2d7b2bbe9866b4f4828c2be2f41451b3f27cb67a ofl/paprika/OFL.txt -sha256 a5fc033225d145b43fd7391482ae7689825414ce29a01614d651a3012b57c81e ofl/monsieurladoulaise/OFL.txt -sha256 ecc91fac753ad9ba5bb7e7819a5c59ee1e3cf89032133c6b4b0318d63c35933b ofl/alike/OFL.txt -sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejugothic/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepica/OFL.txt -sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/mate/OFL.txt -sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillscolombo/OFL.txt -sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/secularone/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesans/OFL.txt -sha256 136a256d6050ed32bbf96736d70b9099c6359e83dabeb6847cdf6b8ef84319cc ofl/kantumruy/OFL.txt -sha256 72060253bd481a8dc18664bb9117072dc07c0f0270a40617c230654821774850 ofl/pattaya/OFL.txt -sha256 56d9c3529facf93873a2a1626dd038054d244b3af30a1e3ffe0e78bbda1c7622 ofl/preahvihear/OFL.txt -sha256 1a2debd5ad8e656b26bb3b29213caa8f7e557a2f31454b11ebb6c3e3b59aa5d4 ofl/cutefont/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/kalam/OFL.txt -sha256 d941c5b788d47aa469ee54e30f4c12d6a43c45a295f10c568bdf9772f2893b7b ofl/oranienbaum/OFL.txt -sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notosans/OFL.txt -sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedford/OFL.txt -sha256 0acef93ca37cf19eeb83a1c6a29b78b08377a211c8d80cd27626e210176828da ofl/kavivanar/OFL.txt -sha256 c0562e066174197902a4a10606673d189f067970ef89c6013943b9cf182aadbc ofl/titilliumweb/OFL.txt -sha256 f8fbefb5b1004615e6d1e84b1c75e68520d91196f600cb1b07620dd2748eff64 ofl/cantataone/OFL.txt -sha256 2e2cb5a98da665f2ab82a9fd01fb18c2337f845761b0c163f690ed65f3b94677 ofl/sacramento/OFL.txt -sha256 251f65282ff48a7e8ef3fb661fc99254d9b3b0c368427c98b1edbfe4ca66e888 ofl/katibeh/OFL.txt -sha256 31bc966c36352bfd33717382786d0458c38ecf540628ab134e0ce35fde801d28 ofl/poppins/OFL.txt -sha256 f016385cb4b360e7698d22a48c6b58c0634b1ed5c9c17df78515d43887511df6 ofl/yaldevicolombo/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/swankyandmoomoo/OFL.txt -sha256 b712dacdda5da76c0213f8478886f893b855665c1153ae438bc3e55a7dc525ef ofl/kurale/OFL.txt -sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/chonburi/OFL.txt -sha256 8f187da1eb4f23e3fe7ba68b1cb2e92881a415dd34c46489698454517e273c4f ofl/krub/OFL.txt -sha256 3336bf5d4e7eedba48ecb831f37bf676e901c39f2e6a422cceadd9d2ffa55be8 ofl/kaushanscript/OFL.txt -sha256 bb655534b6c7bf3e547c1368a68a5b1032d0e96fd08b5cc75f3d7a78528784ef ofl/novaoval/OFL.txt -sha256 04b895d77ccec5034191e953e8e5884637269be15fe0675fc25039014eb46349 ofl/monda/OFL.txt -sha256 d724dea493d89a7a9681186e2fb462b7cd551674960ee4142ae6b325261b5115 ofl/hanna/OFL.txt -sha256 64ecb0c6bf5cd80c3da76035c00671272966afbd32ffbdbcad95a8b56501fb08 ofl/decovaralpha/OFL.txt -sha256 0cf28cdcf1cdfd35054352816b2d8c81bd6d6f73632198b61507f26dd4dcbeea ofl/sansita/OFL.txt -sha256 d69bcd35f4a121b312a64f7e8eb15bed61c9056e9e9cdaa8d513366142c8e005 ofl/rosario/OFL.txt -sha256 b4cff421cb89d1e32036e818f291f8ab0d3294ada70b5883d5bcc6470b869702 ofl/eczar/OFL.txt -sha256 ecb52bab55d8d6185712fe8fd2fd98300f5c8c07fad0d0a97b1e579462b0dd3f ofl/bayon/OFL.txt -sha256 ed95c33f80ccca002e3a360b683c43368f9c5eb024e5b992abb51af3c10b59bc ofl/gothica1/OFL.txt -sha256 66b5c49d384cba754806a891ebd52f2ca08dd05c0eb3c56170192da466a00a20 ofl/londrinasolid/OFL.txt -sha256 284a5a26e6db9a04259a5690ad57d52c56a4c515ca2ece1943d950f99e709dcd ofl/belgrano/OFL.txt -sha256 6cbe0f55c154b5dee71ca4f2418d69e4e916448ef2ab52dc4541197b292efa24 ofl/sonsieone/OFL.txt -sha256 255d5debbb80eb2ea762644311f266a279e8778f00156655a516e2b7781a63e1 ofl/lilitaone/OFL.txt -sha256 490b8f3acbce2331adc9b9d3e75ee6fe07946fb29af429a300c7d066b1250b2d ofl/crimsontext/OFL.txt -sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumbrushscript/OFL.txt -sha256 f2c0dfa02d6f5c444b4babd7bc0b43be77ea85706e8524342516bc41e43c2f01 ofl/fahkwang/OFL.txt -sha256 4398885e6b303830d81eea03444aae6fb08a44f41b6acd193c88a2f8cd17606e ofl/srisakdi/OFL.txt -sha256 c1f8e0feb0babaacf774b971bcfd791e44125b9d61ff074e4c20924e9661556e ofl/antic/OFL.txt -sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 ofl/notosanstamil/OFL.txt -sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/codacaption/OFL.txt -sha256 b41b99f35b507564e54f6b2f5162ad1c21f94a16837c632da6632b376a341f42 ofl/nosifer/OFL.txt -sha256 e8d0118fa9d640543e7f6848d1d93f47313c7f56b64f73f37291d859cd5932bf ofl/souliyo/OFL.txt -sha256 bff4e5087ece354afccd073621197bbb7dd9349943b5ee6aa12b1adf0b133081 ofl/happymonkey/OFL.txt -sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanaleifill/OFL.txt -sha256 03082243ebc53e2090bc59987f693982ccee83b30516457b11f6a2349b78f5f8 ofl/rokkitt/OFL.txt -sha256 1152ca18eaa6159634f1eb209c60df360c1c09a52991e392f8033702036634d4 ofl/assistant/OFL.txt -sha256 012b1870f81b0d97ca756edd9eea315c7fc22657ac2f1cbdfcb6772fed3e20f3 ofl/bhavuka/OFL.txt -sha256 ce1108854c91696a8549bb21459f1dc74e8a1ec11664d712c3868c40042f1a8a ofl/rufina/OFL.txt -sha256 bac36a7fcafc5702d9d928bb81c7de9f8739eaa820e546c3d2cc52730b652af4 ofl/devonshire/OFL.txt -sha256 ac987f9cbc5b18d3239d88adb57a4e134049811d24ddda2f6383faa589fd2727 ofl/holtwoodonesc/OFL.txt -sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyonesc/OFL.txt -sha256 965bd2c907f7bb6f36da4f85e83f29aea8b2f720783deebd7ed7b40678e67672 ofl/mysteryquest/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemiexpanded/OFL.txt -sha256 19e186a088a50835b38b59409a76b8df2d0252ce114a99e79e306231bbe253b7 ofl/dellarespira/OFL.txt -sha256 aa36087ecd7e9085e5a1439b0a6d0ee35966e8cd2ccaa649bebe62cae5815e82 ofl/lifesavers/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpicasc/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/loveyalikeasister/OFL.txt -sha256 a9ef1db03f660130790beeb3b5d91b68536a44a98ec2db3097d02a1c5f91c599 ofl/buda/OFL.txt -sha256 de318dcb99e332a746edb9f83180ee206fc3bce74ff96ad7d1cb219967ec74af ofl/pollerone/OFL.txt -sha256 315a576cbc7ab61c9e347b5725893bc8498fdcb8fc10831793c6864bc2cefba8 ofl/gudea/OFL.txt -sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserrat/OFL.txt -sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkovavfbeta/OFL.txt -sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhandsc/OFL.txt -sha256 ec1d7de447a90e4b6d8f2b4f95c7f89a70e315fdb41969bc716059e4f2461fa4 ofl/clickerscript/OFL.txt -sha256 7039124ec9c84f9d637637da9f80158f0d3681c82d4e6a811053467f7c33d587 ofl/prostoone/OFL.txt -sha256 16f8621a8dda01f044b8a58489334dbaadfad44ef2fa1d5ce0864cc2f309df01 ofl/inknutantiqua/OFL.txt -sha256 ae30055f1e31d12f6235802c25a8872bb7053fca8ed4a604c530f4b2ee83e572 ofl/pontanosans/OFL.txt -sha256 f1ef4c3ef43322403f5c30e4fb46496969cb5c34a2a6e7247b507254b69caa6a ofl/novaround/OFL.txt -sha256 cf5c4103b0ecf3c38e7c26768b5caf05e1b3e16d4d87b32d859b3c19ce7c216c ofl/petitformalscript/OFL.txt +sha256 fe9183a0b7c1ae626b14004cd533c89ec7c192aba017f81ab71ede910256abb2 ofl/abhayalibre/OFL.txt +sha256 aba8997e16b1e3888c6e855ba883c70d96bd4375bff8cb9c7ce0f097200f74b8 ofl/abrilfatface/OFL.txt sha256 ed80dd9539708a531313f98fb081aeeaa395ab5726931a433845d667b019c855 ofl/abyssinicasil/OFL.txt -sha256 1404cc9279d4ad713a372a5e1e1d20d7b9b000d2397c8529aeb3df5402446600 ofl/cutive/OFL.txt -sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpassmono/OFL.txt -sha256 0878e7d6e842bc3c45154059a1c2812de0d31dca343fe6bc16abc9afdee3e3de ofl/koho/OFL.txt -sha256 636d62f04d7bda9fcf9354f258f6244e7e18288cae036b95122e204f1acbec80 ofl/neuton/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloo/OFL.txt -sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkova/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungee/OFL.txt -sha256 dc35123e99a857674b3e8807e9d7df82220d298423d9fc50ce084fbcdecf602d ofl/jotione/OFL.txt -sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo27px/OFL.txt -sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/oflsortsmillgoudytt/OFL.txt -sha256 d7b108fc1f23fb016a47bb40c63d6f6e04cc35a1edfb991638d7f03621bf7f33 ofl/terminaldosislight/OFL.txt -sha256 71e5222c549d85a1403b6e709b4328b81d7b51ba021b8bd20df89550da80c087 ofl/yatraone/OFL.txt -sha256 f139d6f43d2a63a8fb3ded48b8ec747d9d59a7fbb13d077d9b96ac88580bc1ad ofl/dekko/OFL.txt -sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsansstdlight/OFL.txt -sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscriptswashcaps/OFL.txt -sha256 64dc6a7e2a77aa340c49c3e0829703f540f8d64afa506f44eaa6741580716d0f ofl/gabriela/OFL.txt -sha256 17d7a7f5d9f0139535ecec516988c4c73a2ec0f225987288f3fd6ee2622d4450 ofl/federant/OFL.txt -sha256 c0a7efe98e77cbfcf1a5ca43e874e25cf53d9185c56295bc3b5c407f95dae638 ofl/nats/OFL.txt -sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/ekmukta/OFL.txt sha256 e5ccbfc32e4d7fae98b467a9af310ac8d2efd5d90e684426cd24f3eb36090a2c ofl/acme/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/modak/OFL.txt -sha256 75a77451968e55a1ab404bd953bd8778983e21116d507b890fbcf838e58c8e8b ofl/pavanam/OFL.txt -sha256 36931b77dd81fa96fffad91b6acb54931e600845eb81f91ecf1b4459012c621a ofl/vidaloka/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhai/OFL.txt -sha256 1c45059cea5c6798c8591b0a17961a30328747d44214ff9b8f9c62a683bd6598 ofl/ruda/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/thegirlnextdoor/OFL.txt -sha256 4dee45deee99672fbe342b2f4b7aa75b0cd12de18a68f9732c77f096bab47e0e ofl/molengo/OFL.txt -sha256 5a5cf278190adf8be3e9905c2b21460241cb376c600bdfd6eb7aceb66036c4bf ofl/telex/OFL.txt -sha256 bb49cbf811dafcb11e0de081efcdc8385e45ccc85a5bfc3231ec4861d444dc42 ofl/ruthie/OFL.txt -sha256 b5c3d12a3085b96011fee65555234bb9d31fa7444cf6f8d5ae6b1f5771394399 ofl/lakkireddy/OFL.txt -sha256 23b896f4937eac954a383340c92dfcac1c6e05ec21cc08ec6de47d30ad8496a3 ofl/charmonman/OFL.txt -sha256 39602407e30d466bf169f46d690aaae4f5f039258e5642f91a80bb132ce6e14a ofl/bubblerone/OFL.txt -sha256 e31de7000a2a13b2e54ad01e788fd29e979fe05ea1fded44d6e71cc06e33bb2b ofl/ralewaydots/OFL.txt +sha256 c1bcd16ffc9d095822fd6b7fa1a24c7918b24815ed05711421f804293d2efa62 ofl/actor/OFL.txt +sha256 16a8be6ac4b009ba1dd1e17cea48762f4915609ea5dca1303f716cf63998739d ofl/adamina/OFL.txt +sha256 794d72ffdd25e8f7ca8e1d68db088c30ddbf2fdb369b6cc8217d4fa5fa6dc62f ofl/adobeblank/OFL.txt +sha256 1d242ab6fbb2dfbba2e7119b00a6328bc59cb2faf7299b844e9b92a2f12c0d8b ofl/adventpro/OFL.txt +sha256 520a0c239d39b379b61c4de5f8e3b02db20b0dfc137481843eac01f02c41f4a2 ofl/aguafinascript/OFL.txt +sha256 f15a9a3a9a665c2d17655b8fedad86d9a8f30081d46bb91236beb1bc7294a589 ofl/akronim/OFL.txt +sha256 c39e284759a441660d4c4d852c537e271d0fd5c301fe46d065a972b6ee144ba8 ofl/aksarabaligalang/OFL.txt +sha256 aac8f0cda6159b7251d1034651bcb42e07611495bc8cd764c89d22f3123032f8 ofl/aladin/OFL.txt +sha256 de985adf63cff6b1bcb7c5cb55f1c5850fb1d36289d20a0e26d97a281bfcf956 ofl/aldrich/OFL.txt +sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alefhebrew/OFL.txt +sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alef/OFL.txt +sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreya/OFL.txt +sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasans/OFL.txt +sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasanssc/OFL.txt +sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreyasc/OFL.txt +sha256 de08ff7a460541753999b1208f1254f1d31f16b421312aca4d4b8179d997de38 ofl/aleo/OFL.txt +sha256 513b7871a360a6eccd426bab59743fbff36764588f47381423f04ad6b3d821d9 ofl/alexbrush/OFL.txt +sha256 e315abc82a78710c7242e2f2e6529651fd631d4d50e6ad98ea194f9b54c3d701 ofl/alfaslabone/OFL.txt +sha256 c026db4c1a557cae47e6930876965f9cbc05758eb1f5d6f59b6b61c8f342a57f ofl/alice/OFL.txt +sha256 f480fd19e7018942ecaf460f7a4ab9ccee0aec579abcb07d559dbede913864c6 ofl/alikeangular/OFL.txt +sha256 ecc91fac753ad9ba5bb7e7819a5c59ee1e3cf89032133c6b4b0318d63c35933b ofl/alike/OFL.txt +sha256 ab721b35816e470fb11619ad3705f75d08dccd0864505e3d782e94fd937f6620 ofl/allan/OFL.txt +sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allerta/OFL.txt +sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allertastencil/OFL.txt +sha256 87e8d9aca71dbe0481ba8611fc90d7e3aebfa3e2546420c403e7078898b0c484 ofl/allura/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendradisplay/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendra/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendrasc/OFL.txt +sha256 89bf0833b785c49b0f271273ab440bdc20c85bf0322537dc901df940bf1579da ofl/amarante/OFL.txt +sha256 5eca89cdd576df5e4b7c694e0425b126a9ca839aa067df85fab33904a8187076 ofl/amaranth/OFL.txt +sha256 e36d420a3b382b337c386338d8abc3635e10de5dfca7f822fc63ac659a0dcfc3 ofl/amaticasc/OFL.txt +sha256 301f77908df2b00141b4dcea50cc1a586c3afcee78843bd811088e8263623f9d ofl/amaticsc/OFL.txt +sha256 ca424122f42a8d8442bc4cfd902f5f027ea67b5417705f5af1d1235927781720 ofl/amethysta/OFL.txt +sha256 bd8323cd1d2b6bbdfbbf99cb41ec1156d0352ced170de4aa3a96d95e6e20bf5b ofl/amiko/OFL.txt +sha256 1edecf3f971a11dcfd777cbda6f08c0f9a77bf57a0a2a89d8142fb933894ce16 ofl/amiri/OFL.txt +sha256 0dd8e32457e18621737b593ab0fac49905cd948a078ed0e64f4890df714a1dfb ofl/amita/OFL.txt +sha256 06c79c896894160a5810d869a822fa7d02a0e2ccffd97920b8cf3b880380f6e5 ofl/amstelvaralpha/OFL.txt +sha256 2ac164969308ac200eefc516151934701044f0db5695ae2acc15df2a8d22e5cb ofl/anaheim/OFL.txt +sha256 f8779e6871bbab04e0a1ddd9997f4d8173b56792a1e7f8b9d691d967a49c7dc3 ofl/andada/OFL.txt +sha256 e6ac721b16f309c89fb443680afda427ea34968bad190a80edf281d01d65fa99 ofl/andadasc/OFL.txt +sha256 e55c615ed00ce0054bd356041a41e5942b4a8cadceac1e32696ba2ef5f06f748 ofl/andika/OFL.txt +sha256 1e4015251ca58d4f349b4ac930259c6f3d6381ce68f8b4b27d54d53f8f63f972 ofl/angkor/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/annieuseyourtelescope/OFL.txt +sha256 8594350034ab1cb85a1946ef8852e69290255816c311450a66fed6eeda9d6292 ofl/anonymouspro/OFL.txt +sha256 60ddc0ee6e443b78940b5f92bcbab76c98ec6965e0da9fbdaf267383ab72bba8 ofl/anticdidone/OFL.txt +sha256 c1f8e0feb0babaacf774b971bcfd791e44125b9d61ff074e4c20924e9661556e ofl/antic/OFL.txt +sha256 22d1914919d3fe08b179dc31169fc743ca7eede7827b91a5d48c23c8cdc7cb81 ofl/anticslab/OFL.txt +sha256 9e262d6d7fb789aab6a8ecc53fc9c78387eeb9f935dcd289282d8e751b6bf743 ofl/antonio/OFL.txt +sha256 9608d22ae5c586628c9904e773b7c6a6520fc16e1492ebcb5ea55d9523399964 ofl/anton/OFL.txt +sha256 cf6dd07485d67d20f105afb9981dffdb6b180b59af45a228839cf3fb0277c9fb ofl/arapey/OFL.txt +sha256 980c2b058d331f3c5ca4a1223e549511b71630e4f4a5533879d436d583cb5665 ofl/arbutus/OFL.txt +sha256 1c023b4aca0e441c55c45c86cdff57fa524a96778f291d9a29a4ad777b70e2e3 ofl/arbutusslab/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/architectsdaughter/OFL.txt +sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivoblack/OFL.txt +sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivonarrow/OFL.txt +sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivo/OFL.txt +sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivovfbeta/OFL.txt sha256 8218df19bcd9786311bf1126815e8d591027aaf7611ef031af5a31c3fd66e928 ofl/arefruqaa/OFL.txt -sha256 e37fcc467040ecd81bf4cf59c99ef56b20f57918995e82b3de1d5b4e931bc2e6 ofl/portlligatslab/OFL.txt -sha256 60fea3a0da19167a3efb9c3792a3a15dc9235405d01bbec1233fdf3e79c74296 ofl/freckleface/OFL.txt -sha256 da15da6b1496d4de18f97e2ad1b722ef8a1c121149c2c93b2cf7eac6ac27b35c ofl/mplus1p/OFL.txt -sha256 d51f3341fd7b3dfa1114d3ef0bdabbe57f60eef86a1458019e0077d676fa1fcb ofl/lancelot/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantinfant/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemicondensed/OFL.txt -sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eater/OFL.txt -sha256 b43e2530c7af69fe1800f180d210b6d2745915ed4e0e404495038c861bb6dbf7 ofl/hammersmithone/OFL.txt -sha256 5a8751bef5a4fc867ae015099267905034345260f14060fa276aac4051ddd8b4 ofl/varela/OFL.txt +sha256 12af42b715a3901bfa7add1351e45b6ce22f3061555d52db45e963274c349360 ofl/arimamadurai/OFL.txt +sha256 203693528d6d2e8dc5e639c6ea42b3e825b59dd6447294e37b306fe734650091 ofl/arizonia/OFL.txt +sha256 47a0b7e315bc56ca0326fca46302d87d48a61e3528d4196e966b62f5bf0243f2 ofl/armata/OFL.txt +sha256 a94cfd8d1f5c33f9a7506def359b907f3313f7008bb57fc893985963cd342f8f ofl/arsenal/OFL.txt +sha256 812fc4af0c63d31e0e81cc153af74e397407b0630e918b8b965bcbb192bc0656 ofl/artifika/OFL.txt +sha256 359671bf16c00cae69cb66d041296b2adc7a4becd73a463cb8c5e101d97c7986 ofl/arvo/OFL.txt +sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/arya/OFL.txt +sha256 4aa1da66597f4c5cfde67790992ee55926ef6aaa87b9a10d529ab35e8b91070c ofl/asapcondensed/OFL.txt +sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asap/OFL.txt +sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asapvfbeta/OFL.txt +sha256 223fa23e8419ee762c662e0faf912dfcf386fa7093ac9ff690e380ce1993ba55 ofl/asar/OFL.txt +sha256 694d5c15c1dac5e26653e18b94394d911e471549ec9b7d6247ade62e486b4915 ofl/asset/OFL.txt +sha256 1152ca18eaa6159634f1eb209c60df360c1c09a52991e392f8033702036634d4 ofl/assistant/OFL.txt +sha256 4e69611ba5017f1fde74c31d342f5c85604814b1b45387b9ab46205996dec38e ofl/astloch/OFL.txt +sha256 ea274e87939d38032b31fb741af75bff9fa3f8d4a8b652265f9e0ce1ad7e9f80 ofl/asul/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/athiti/OFL.txt +sha256 96d82a96abc02fb457ddde0227833dbde9d1d02876c91f0a4e27845ca0d692fa ofl/atomicage/OFL.txt +sha256 69c34ca1873308c667ddde663cbf59c0d1cf14cbb945ad010f71d21264249e24 ofl/aubrey/OFL.txt +sha256 4fe01b13ffb41faa8f030d84843a95dab32792dfeeca7c072abbfd3f4d6896ad ofl/audiowide/OFL.txt +sha256 793891edf1f4f4f35b52fcc9706b03f779c7ea18ab8e9e441242d63ef0279488 ofl/autourone/OFL.txt +sha256 83aa5adca2418f091b732a19cc7c30dcb5c00c217051a58f34f5eecb19be0cd3 ofl/average/OFL.txt +sha256 37d5360d8d2433689e78302a93cd88e9add8a2294046476625edada2d4328deb ofl/averagesans/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiagruesalibre/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averialibre/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiasanslibre/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiaseriflibre/OFL.txt +sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612mono/OFL.txt +sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612/OFL.txt +sha256 d38acce513eccb51d7ac34ca47be279e1fcfdeca1ed088bdd2d281dc6ca939ee ofl/badscript/OFL.txt +sha256 e3ed3ad6cb257e16dc1789900707c5cd1cdef2d60d155389342604991cf693f9 ofl/bahiana/OFL.txt +sha256 fe5e822667a4b2e083b8fdd7a37546163f26f6481b58742236abffdcfb3e6c71 ofl/baijamjuree/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaijaan/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaina/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhai/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloochettan/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balooda/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloo/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloopaaji/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootamma/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootammudu/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloothambi/OFL.txt +sha256 876db27db250a9b9c03fc2ef30a5efe1f37c2ed2686d368c3779583bdf746912 ofl/balthazar/OFL.txt +sha256 ad4f6ede2e8a017255822a6abee8d10717f1d34c20223de80285ff59e28a1cba ofl/bangers/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowcondensed/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlow/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowsemicondensed/OFL.txt +sha256 e2f2dc7a667954c16a919acff5351e8ea89813d10f5a7504e1f4668fffbfa14b ofl/barrio/OFL.txt +sha256 9a51726e5f247cb1f07bb8f49c163bc3e9ddee5f367bb5a1871d09b854ed1b7c ofl/basic/OFL.txt +sha256 1818771d183d203703c4b134f028527b535810e2a0666c8fe2785354ddbef686 ofl/battambang/OFL.txt +sha256 bc80ea18223ea0db2ed73ab5bfd0cd601906a2b7a163183c6c4ea333be309ce4 ofl/baumans/OFL.txt +sha256 ecb52bab55d8d6185712fe8fd2fd98300f5c8c07fad0d0a97b1e579462b0dd3f ofl/bayon/OFL.txt +sha256 284a5a26e6db9a04259a5690ad57d52c56a4c515ca2ece1943d950f99e709dcd ofl/belgrano/OFL.txt +sha256 2348c4852e6322105d130aa2addbe24c962e330094ad6dfbfd9fbd2281d76b0b ofl/bellefair/OFL.txt +sha256 15b1a21c3fa37a475ba6b0c0cfe289c7952548caf6e432068ddaf98d139ce419 ofl/belleza/OFL.txt +sha256 460966d12f306a007930575c3b8bc336fe0c32f880d622af6d3b745a06ca79a4 ofl/benchnine/OFL.txt +sha256 4a7d2f227b91046ef7a54f8f735668d86e45f4fd4089268de292a6e9de108253 ofl/bentham/OFL.txt +sha256 d941aa56e280b4f204272c4b1add01a8ebc7af3e8e69ba8ba9118aa2a5306dde ofl/berkshireswash/OFL.txt +sha256 9437c26410bcd543607a6775e7d0e359c1df3926d68c92dbaceb26ce79cc0fd3 ofl/bevan/OFL.txt +sha256 012b1870f81b0d97ca756edd9eea315c7fc22657ac2f1cbdfcb6772fed3e20f3 ofl/bhavuka/OFL.txt +sha256 0409c6582424508453ce41648067efaacf0c790622918493d8f1d934bc5329a0 ofl/bigelowrules/OFL.txt +sha256 0d5fa0cce86012de872273700eef4fd162459e7c24a6a314911380627391071b ofl/bigshotone/OFL.txt +sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilbo/OFL.txt +sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilboswashcaps/OFL.txt +sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhymeexpanded/OFL.txt +sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhyme/OFL.txt +sha256 505bb8f3c30f2006b4e02d250fda31ed94b651a35f1124a201ca1c405ce989af ofl/biryani/OFL.txt +sha256 5fe7f3c9410c29534ddd9dfaf64d3994ed4236096d0d543ae69eacc3b25632b1 ofl/bitter/OFL.txt +sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/blackandwhitepicture/OFL.txt +sha256 a02e8715fcdf3325c474b7209399f50230897bfa828fe4eea2639ced1a1d574b ofl/blackhansans/OFL.txt +sha256 8af83da84dd4299842f871285a88049352ab301ffa1f233d2595b29506158635 ofl/blackopsone/OFL.txt +sha256 52caec7d90533523fa7da64e95faf90ea32a663ce21847a39234b61e18d25044 ofl/bokor/OFL.txt +sha256 d13a278247ce39695f5ea6b721103faa668083022c5280b78c6392263e473929 ofl/bonbon/OFL.txt +sha256 4653c63a4bab99aa50de5190853fa21ea6c0a25d69d49f5a42cd51f0f67665e0 ofl/boogaloo/OFL.txt +sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyone/OFL.txt +sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyonesc/OFL.txt +sha256 44b51296985184d9b27fc2c8e5b317906c5d65d9dc834e81c07902d3e5e1cf1a ofl/brawler/OFL.txt +sha256 fbe0442a6b1ce162c95e241df76cab5ef2daf6a5ac84ae1a7a6749f32c051098 ofl/breeserif/OFL.txt +sha256 f8a20490ee8ad3adb2205ea44b279b19099a3a1d6b62849e90b4db20a77deeb8 ofl/brunoace/OFL.txt +sha256 3c187c861dc291b9f7f96f655656f9ac2d57b33da425bd5962810be728344f57 ofl/brunoacesc/OFL.txt +sha256 26daffa24723bb188643085cfc5423f9d78d22a395df4a7928380e430545a201 ofl/bubblegumsans/OFL.txt +sha256 39602407e30d466bf169f46d690aaae4f5f039258e5642f91a80bb132ce6e14a ofl/bubblerone/OFL.txt +sha256 a9ef1db03f660130790beeb3b5d91b68536a44a98ec2db3097d02a1c5f91c599 ofl/buda/OFL.txt +sha256 3bbcf1617d93d3a949a10da78ae91c58be536fb04567ab4b5b9fd207126f1db5 ofl/buenard/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeehairline/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeinline/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungee/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeoutline/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeshade/OFL.txt +sha256 ab5499b975c2dc82f533c6f13c5fca589df4d57c7c400db5f6ca8565ad9c2fd3 ofl/butchermancaps/OFL.txt +sha256 a0369b1d5f654110f2fe101db56a02d02806f1e609ab233368bc573ec45050e5 ofl/butcherman/OFL.txt +sha256 d64c91b0306b53fabed08762068eea8b918d654fb0721c288f13cefa4aaf088c ofl/butterflykids/OFL.txt +sha256 a20db45220b6c4dc9776f24c77dc9ec7a98977d8b3c65b03aabe66b2d08e0791 ofl/cabincondensed/OFL.txt +sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabin/OFL.txt sha256 f6fc9fbae062e4efc1b0306e27715d43cd64a48b8ffba81c22034b8efee4fce2 ofl/cabinsketch/OFL.txt +sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabinvfbeta/OFL.txt +sha256 bcb0bda74430ccc281a616a81d0a287fed5a423815b00b222e0b7f603f85b26f ofl/caesardressing/OFL.txt +sha256 c0a8947de199b422d30c16137e4decd5362e3a1d504422880d69c02bd6046dac ofl/cagliostro/OFL.txt +sha256 17b90cece30db64934b7299fd76b033a3774c8a990e78badc74c59a5be8e0727 ofl/cairo/OFL.txt +sha256 846e8cc6dc69bf685d2db14cfa758ff3d9d771d54c9e0d3b511f0ecb97ac0e8a ofl/cambay/OFL.txt +sha256 5454dc5cf2f46a2005f42f13ee2a998c7d0afd7f556f32fda208c72b266f7adc ofl/cambo/OFL.txt +sha256 f0be7437bbb8b91ad4a4f7a5f3d0020368e494a803d892df03e8886d51f2db3a ofl/candal/OFL.txt +sha256 643c63caf03855ae29be68035d8888e95eadc767a1d92f163d686da1b0a1cd3c ofl/cantarell/OFL.txt +sha256 f8fbefb5b1004615e6d1e84b1c75e68520d91196f600cb1b07620dd2748eff64 ofl/cantataone/OFL.txt +sha256 867b506cb023eae20c1accde77b2e0abf7d8a9e2620da8dbebac9f7b1117ca0b ofl/cantoraone/OFL.txt +sha256 13e862ac3f67130f58bd4bebb61c588d147b5a555b1ac6959570799c4f648cd0 ofl/capriola/OFL.txt +sha256 8e28b778b6e1a7ff9ca72f4dee2d53120aa2856dc1bfd0be44307e365b0e45bb ofl/cardo/OFL.txt +sha256 806cb93632b8091cd36554642a96b2752bab50015da6a2b456d786c1f9aef5a5 ofl/carme/OFL.txt +sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothic/OFL.txt +sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothicsc/OFL.txt +sha256 c4afe82f49c05689c40dd4e262803b29c6e611e7b4efd3a0418f574b2be79d9a ofl/carterone/OFL.txt +sha256 c88333734ad7cd30540ec6614d12aa829a0395715de30e336d22ddfa3005db42 ofl/catamaran/OFL.txt +sha256 1e5bf8207a40678bc401e2e5456d0db1f2a183b550a30976b48dcdd6a4e4c46c ofl/caudex/OFL.txt +sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveatbrush/OFL.txt +sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveat/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/cedarvillecursive/OFL.txt +sha256 9a33b452a3107542c35fc5fcee80e4d8798c82aca071c2f6f58a0f8dc5ad61fe ofl/cevicheone/OFL.txt +sha256 13831d02389d917d22fcfa6c79f98f8acbf61d230add0e73a4d4dc5f3bfb9e56 ofl/chakrapetch/OFL.txt +sha256 49f2a11271968a2ce019a43bf5401d1593652a18f27ea59037ff5e39856d2df7 ofl/changa/OFL.txt +sha256 67261c7ceb3e627da5c94d6617dac6da29bf36b910bee304a7680ad62e2c8b46 ofl/changaone/OFL.txt +sha256 e98ce988fba1c138f4e7c0c5120809706ab1b24a3c29638ca83ab2ff082e08db ofl/chango/OFL.txt +sha256 41423e9e1d0ea79d0e78bd5fe9e0b27f4c23140706f5dfbfe116839c83aae91c ofl/charm/OFL.txt +sha256 23b896f4937eac954a383340c92dfcac1c6e05ec21cc08ec6de47d30ad8496a3 ofl/charmonman/OFL.txt +sha256 8c495ddd455def58a45310376a747bb61bf86e4b071cc527b3618bccd3ef00fa ofl/chauphilomeneone/OFL.txt +sha256 5d3457831b42632d958fe1a14a09706d8acb006486a5ca5b2b419cd61cb22e32 ofl/chelaone/OFL.txt +sha256 ae6de2f6fc00f76cc7eb0d97c1ae5e0b7ec734f20ad7f58cf4c74738dc822d21 ofl/chelseamarket/OFL.txt +sha256 bb8fac04b8535d39fb9851c9d886248d25bc0c82000066c92dd577c3369f512b ofl/chenla/OFL.txt +sha256 d416bc9437e1d7d8aba0613395ee49c95ce72d680672e910c6205b545cfcbad8 ofl/cherryswash/OFL.txt +sha256 f27cbf1055db7b9dd80bce5cd12b462f2d9ed7313d84dd8bfef1ddd2b61bdfc5 ofl/chicle/OFL.txt +sha256 b054962de0af1397d5350fddb4d6bb20f5f2e073b543eeeb694c7c3b27144fc5 ofl/chivo/OFL.txt +sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/chonburi/OFL.txt +sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzeldecorative/OFL.txt +sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzel/OFL.txt +sha256 ec1d7de447a90e4b6d8f2b4f95c7f89a70e315fdb41969bc716059e4f2461fa4 ofl/clickerscript/OFL.txt +sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/codacaption/OFL.txt +sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/coda/OFL.txt +sha256 35dca6122235851d236bd861124f4a893d409eba021cd8c6a292a19df0f4640d ofl/codystar/OFL.txt +sha256 5c289da4a19f054ace8e31a144a6a254601898cd7faf9eaa301141afda0adbbe ofl/coiny/OFL.txt +sha256 574430e571a6928624f4bdf044420f7547a26309b7ebf6962296d33294e0a1e0 ofl/combo/OFL.txt +sha256 bc85bae0b512b799bbfb2b916e4d0a34cfd963d09778cd783e248b479e67760a ofl/comfortaa/OFL.txt +sha256 162a3b5c72cba845280a6f887c11d02984540b924510138c8b1eb473bcdafb6a ofl/concertone/OFL.txt +sha256 2492bb8645caaf622bdc3e880cdc9b069921e7341346d7b193666c866a1935d0 ofl/condiment/OFL.txt +sha256 08a12877eda24767239f26b527bfce0c515efaf623c66da6baad92a6d5315e9a ofl/content/OFL.txt +sha256 90bd333a5cf0ed09264fc3e559d44979373f6c3d983b0f65cc46e952b4eb61f0 ofl/contrailone/OFL.txt +sha256 354b4be0340cd58e381fdf58793a108897bf944a7f8faf9e877c476ed6c730d1 ofl/convergence/OFL.txt +sha256 c832a4230a713d080aa2f2544d9a298ed911f689b2c48f7f276a0196b16d2b8a ofl/cookie/OFL.txt +sha256 7a1d085067cd589026b256dd85af1eaa1087fa0f3d468192724c5138cc14d894 ofl/copse/OFL.txt +sha256 aad1e82802172d4c1d22dd015a5b8b4275e5665a49c1df54ed64716fca7ae194 ofl/corben/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantgaramond/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantinfant/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorant/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantsc/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantunicase/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantupright/OFL.txt +sha256 0836fd874230b17f840efcf7d3bb529f5a7b5befbfeef94478519cfe2d8551c2 ofl/courgette/OFL.txt +sha256 c972795e48b096b6d4e3a947b0bb21c1baf1922a6e07ff9ada587c058f228740 ofl/coustard/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/coveredbyyourgrace/OFL.txt +sha256 c09e3b81d9cfeec46bc29a3374000e8ad013d694bdf24a288088491dd4cd5c69 ofl/creepster/OFL.txt +sha256 4938e917ac54665be1dd862f54634d991b39c5d1eef69345d66a5089e401bfb4 ofl/creteround/OFL.txt +sha256 490b8f3acbce2331adc9b9d3e75ee6fe07946fb29af429a300c7d066b1250b2d ofl/crimsontext/OFL.txt +sha256 eba176d3ae86af6b41e9b744e4d18fb56e2a6ad671381bddb61fabb86b1d39c1 ofl/croissantone/OFL.txt +sha256 247edbf968c0a5b8defd6a9e420080a8bbca6ea002bfb326d12a472a6f95637b ofl/cuprum/OFL.txt +sha256 1a2debd5ad8e656b26bb3b29213caa8f7e557a2f31454b11ebb6c3e3b59aa5d4 ofl/cutefont/OFL.txt +sha256 bc4c7eb365ea342b1a027fb8417fb0152f5d482a2e31c012fbfa29b668827b04 ofl/cutivemono/OFL.txt +sha256 1404cc9279d4ad713a372a5e1e1d20d7b9b000d2397c8529aeb3df5402446600 ofl/cutive/OFL.txt +sha256 a21fa252efb7a1ff84de6a36df4386959668aa046f28161b4047829f7d9cd1b5 ofl/damion/OFL.txt +sha256 866669fde730bf2785f44905ec162f05f2b8d9f6dcf366aca99360fedbfe502c ofl/dancingscript/OFL.txt +sha256 de61c87e08286ad3215398340e9403125ab03c91b33bdf29de6d3e8a386d2d28 ofl/dangrek/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/dawningofanewday/OFL.txt +sha256 cacad5bf45bf5c81f4b6cbd114261bc8a08f6110b66a4c6fad8bbc16618a3096 ofl/daysone/OFL.txt +sha256 64ecb0c6bf5cd80c3da76035c00671272966afbd32ffbdbcad95a8b56501fb08 ofl/decovaralpha/OFL.txt +sha256 f139d6f43d2a63a8fb3ded48b8ec747d9d59a7fbb13d077d9b96ac88580bc1ad ofl/dekko/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/delius/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusswashcaps/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusunicase/OFL.txt +sha256 19e186a088a50835b38b59409a76b8df2d0252ce114a99e79e306231bbe253b7 ofl/dellarespira/OFL.txt +sha256 2e2fe5f1d8916a5160060594a96c1a5116406d26847afdbd09618481e2abd6fc ofl/denkone/OFL.txt +sha256 bac36a7fcafc5702d9d928bb81c7de9f8739eaa820e546c3d2cc52730b652af4 ofl/devonshire/OFL.txt +sha256 9e53298e3629e00ae4c31531cca09051ddaa654a5de4f7b55e596132fff86e1f ofl/dhurjati/OFL.txt +sha256 00a6fe8dfdc48d6206bcc4f10a765515a73433dfba7255eff966963beb26facb ofl/dhyana/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/didactgothic/OFL.txt +sha256 cdf5fc4014abe91588666a9592ec86200e5a4d743b4b6e05d28d47e850bbe5fa ofl/digitalnumbers/OFL.txt +sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomata/OFL.txt +sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomatasc/OFL.txt +sha256 de5ff32211a4340b01477af39ee339d639438955e409f79b666d4b9207f3c92c ofl/dohyeon/OFL.txt +sha256 dcc832bd71ea62cbf97f06327a1b5442905b49ea446801421d71f7d1362db215 ofl/dokdo/OFL.txt +sha256 96e65d9c227a972e38035b849bba1e8b7879eecbb52f278be1e71dd481187f02 ofl/domine/OFL.txt +sha256 8aa063e3a1299c5e1821f386f5ca8bc157ac561bd12c739ffa81c6f0821450c0 ofl/donegalone/OFL.txt +sha256 4342add6f0f2261f8579f31c10a55938930559703eed18be4a33b74eb749d298 ofl/doppioone/OFL.txt +sha256 92f750829545386017c3418d890769778b76fd01dfb41c62fcbb0d42ba0303eb ofl/dorsa/OFL.txt +sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/dosis/OFL.txt +sha256 3621f156cc7a26e0a9cb413332e0bb35a0e76b36dbfe0b1c885b565a7bf3051e ofl/drsugiyama/OFL.txt +sha256 9df0700fcd0ef48abd74459a8650d35f59397fbaa00c5b00527e57cc155689c0 ofl/durusans/OFL.txt +sha256 ee2c069b30f3e9a5aaf52357117ee3443ee27f17c29a2ec68861db283379905c ofl/dynalight/OFL.txt +sha256 3184f6a99f589c78740fbff6ddaaabb43b8cc2f3852da36e60aeb024ea8d6f00 ofl/eaglelake/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/eastseadokdo/OFL.txt +sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eatercaps/OFL.txt +sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eater/OFL.txt +sha256 6f9e3a1c51f617e7b110862426204ec7a56d8c6d2f731373b5de6b8d069099b6 ofl/ebgaramond/OFL.txt +sha256 1b3b78123c94dcbc9fd4ec174317336c8c93423da62dc946b8852553cb13ddee ofl/economica/OFL.txt +sha256 b4cff421cb89d1e32036e818f291f8ab0d3294ada70b5883d5bcc6470b869702 ofl/eczar/OFL.txt +sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/ekmukta/OFL.txt +sha256 c4955dfe15a5db10326aa58ef767460c42cd12a3acdb3e698eee2704eb373d94 ofl/electrolize/OFL.txt +sha256 64a73da7af818283168543e24bd214aded1bfec06f013bf9cebc20064a8560c5 ofl/elmessiri/OFL.txt +sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsie/OFL.txt +sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsieswashcaps/OFL.txt +sha256 8f94e5901c371537043e0c762c827ce33963e7bd186fbea0abafc035ef7120a7 ofl/emblemaone/OFL.txt +sha256 0623888cc2391c6c9853c04eafa7f687fef1a8328bbb848feab05d9e2a98764d ofl/emilyscandy/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanscondensed/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesansexpanded/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesans/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemicondensed/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemiexpanded/OFL.txt +sha256 ef0bdccd20de76d517fb3939161d05ecd5808382fb8fa82cde5fcdb3adcb8029 ofl/engagement/OFL.txt +sha256 a8103c045a88bf9b28dcd7eb60a6662008f49afc0f3721bc46aaf761fc0409e7 ofl/englebert/OFL.txt +sha256 0e74984817cdd51dbfbd8309022aa75f733e80dff0cb1d26ad2157e90446ba97 ofl/enriqueta/OFL.txt +sha256 d484e0dce424a9e360adabb568b6773db5f1566df71ce3e9dcd66a6cc2c38d33 ofl/ericaone/OFL.txt +sha256 5bbeae56b9db61a9bf85b64d5ed9a74cfcf9ee3e9b005bc2906859ddecd5eaa1 ofl/esteban/OFL.txt +sha256 58bbdbe5c48dd1d7cfd658425a455c29811181873d3a46a4932c29e5b0ec16e6 ofl/euphoriascript/OFL.txt +sha256 9bc1eb1c679510b32d2e3f5f4f3b47726b1657aa121494aa68ba0b124a3c3a53 ofl/ewert/OFL.txt +sha256 9e2d92fb24b4a548ab030c509ba88267e224f2523728ee9bb35cf334811106bd ofl/exo2/OFL.txt +sha256 2da0fa5707f1fab1c802969b098fd1b92ca0b3b233a80e27fca416647c064dfc ofl/exo/OFL.txt +sha256 de71817dafdecfee21268b8c4f106146e1d00988c4fd6546b10445eb26b24cc0 ofl/expletussans/OFL.txt +sha256 f2c0dfa02d6f5c444b4babd7bc0b43be77ea85706e8524342516bc41e43c2f01 ofl/fahkwang/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/fanwoodtext/OFL.txt +sha256 afc1cda4eedcfe27c8cf30fe3e9879587cb43cc2882d4cb91dd3e3fc9eecd0bf ofl/farsan/OFL.txt +sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinateinline/OFL.txt +sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinate/OFL.txt +sha256 2cd51b11e821dad2fb7acc54d68bd9a139fc7a1207e17c432ba9ce49bba3d493 ofl/fasterone/OFL.txt +sha256 19849b33c59d0cffeaad0dbdc38db767e95e03cd36fbbfe6b67a9878aa5758df ofl/fasthand/OFL.txt +sha256 bba4a13f03d0fd5b476cc148feda6895dd8d65f34b2107ba9d010ad9539d6c0a ofl/faunaone/OFL.txt +sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustina/OFL.txt +sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustinavfbeta/OFL.txt +sha256 17d7a7f5d9f0139535ecec516988c4c73a2ec0f225987288f3fd6ee2622d4450 ofl/federant/OFL.txt +sha256 e30f893523e50ebbe07acd783ae29c7d604e6208cae7646d993e8528ce13e35a ofl/federo/OFL.txt +sha256 75c7ccf4f537a7a3ebbedd299c1d2542e13d3b27aaf76a0a2d9fa91a2a8fcd3a ofl/felipa/OFL.txt +sha256 8586a7e75681c7297af4cc0641eb2b29e882c5187fe189a1160eceb4e95d4163 ofl/fenix/OFL.txt +sha256 d336c098ea798bf14de111cd90dff7d6bc340852405246511345d0f8564fe76e ofl/fingerpaint/OFL.txt +sha256 d1829ff3455bbf3b9d13dfb0a57758a863107c9108aab48558f26f37f1094180 ofl/firamono/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasanscondensed/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasansextracondensed/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasans/OFL.txt +sha256 2bb0c0200723d923f8e20d08b8bd1c7af7f5cef8bb2d63ce44bd268b54334621 ofl/fjallaone/OFL.txt +sha256 df9fcd8f62ae79aba7fa5b0563a08dfede1fa0909d668287d70c395d88f5fe02 ofl/fjordone/OFL.txt +sha256 e3ea566dbf689a9110b2094f9f2e5d16d7ec31720147651efc1005ca20420dd4 ofl/flamenco/OFL.txt +sha256 4febcc8d6e539db3e0c652da87bc8704f6d48e71e07f8ddb0974094a3de8da81 ofl/flavors/OFL.txt +sha256 382232d1add5623ba5b06394afa071f4eeecccb6d2b2bd02cfecff4a8a45065a ofl/fondamento/OFL.txt +sha256 1bfe7d2aca99042eabf37079152fef8abdda2c36dad454ae89b858a3cb1078c5 ofl/forum/OFL.txt +sha256 09685e225ba9b697b2ccd2d4098cac5ecbed0679960605258a271af60749887b ofl/francoisone/OFL.txt +sha256 e2a176ce310235bf281f1124454e21331390ae1b4c429a2d80ae642d333a5a7f ofl/frankruhllibre/OFL.txt +sha256 60fea3a0da19167a3efb9c3792a3a15dc9235405d01bbec1233fdf3e79c74296 ofl/freckleface/OFL.txt +sha256 f8e2b58dd7a8c8e21e5d744b45876bce7e010a647c071c1ed42ff0e618d4ea59 ofl/frederickathegreat/OFL.txt +sha256 43186c592361336474683e302dcc988831a53857bef188c4466f6b45dc238f84 ofl/fredokaone/OFL.txt +sha256 59b91c9912b80714852a43897cbc9414d6457e22072dc99a4cea6e2bb4f3c65c ofl/freehand/OFL.txt +sha256 a40c3a6d0c968d3a10b17a2614606de6f20178deccc2447305f31fb106a57fb0 ofl/fresca/OFL.txt +sha256 c2368518f12463a93cfed44e1460f36085dc60df06f415ee9b0319809987ccce ofl/frijole/OFL.txt +sha256 e43f121c788cca4a14049e58864e28021174b055710ba38e0964e816dbf905af ofl/fruktur/OFL.txt +sha256 5951473ab31533bfe1452bbcece47f237a5546c7e7d45ff1aec0289619623294 ofl/fugazone/OFL.txt +sha256 64dc6a7e2a77aa340c49c3e0829703f540f8d64afa506f44eaa6741580716d0f ofl/gabriela/OFL.txt +sha256 53a9ce47085d9fef613c7ecb3730dc80d25962510bbea231b89564f58240f251 ofl/gaegu/OFL.txt +sha256 eb6c70cb6b575ad22df022d454df7a20582915e6e8da19b579c6cbef37a26bb5 ofl/gafata/OFL.txt +sha256 6a809aeba8af2115ca4b4c3597b1fbeb836a45f0489070f330f9c2dff870da8d ofl/galada/OFL.txt +sha256 d102f22055cfa31a9659228483de3c726010f0b3b416b78e3cbefcb54816e812 ofl/galdeano/OFL.txt +sha256 117fa195cff980e3b10fd8e8e21658c6ec954b0886647970a03c9694d3553b69 ofl/galindo/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/gamjaflower/OFL.txt +sha256 c6b9c7322fe0203d4d8a0f98541136d8d76da76b92c79d206b09991b98338cc8 ofl/gemunulibre/OFL.txt +sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbasic/OFL.txt +sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbookbasic/OFL.txt +sha256 cd059851dc2abcd2865ae318e8b949736f958794210acb90316530fd100fc904 ofl/geo/OFL.txt +sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostarfill/OFL.txt +sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostar/OFL.txt +sha256 b7574cd4c76770e5e3915d16bd93f09663bd77cb041a4ec09d824c52b540529a ofl/germaniaone/OFL.txt +sha256 9e19c0d2e7e7adcbe9dfd0749e34dda41e7e356e0f2cc082d61d2fc9b6e0cef7 ofl/gfsdidot/OFL.txt +sha256 bfc205682f5454b42a732ec857b665293ab8bc6f0ee901a0967219ba7ffdb190 ofl/gfsneohellenic/OFL.txt +sha256 bd22e766af8f8e58eb520cb4fa73538826d04f7371b45e82295d22d1e32a4e58 ofl/gidugu/OFL.txt +sha256 d324289a26909a519fb16c3d468a56ab909ad6d9070cac5742e5d59ad9bd9815 ofl/gildadisplay/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/giveyouglory/OFL.txt +sha256 2950994bcfb8e903f0539d28a8ec4af077e0aa1fa7946c33c912d2d6969c2971 ofl/glassantiqua/OFL.txt +sha256 638774cdf8233b5ddaf9ebee1821e9de1d5d59c335d8ee3ba0b47fb17833b502 ofl/glegoo/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/gloriahallelujah/OFL.txt +sha256 042a570b306ab893c6168be7e6e79bbceae46097141357ad0af7ef8bb179ed7b ofl/goblinone/OFL.txt +sha256 fd20b82eb12d16ec31a58fc44f7e6c533b14b425b569d83f616a1f7a9a401e75 ofl/gochihand/OFL.txt +sha256 860cbfdc9dbc3f0e8d35af80c31e8f20945bff393d4f483dfc157469e01d321c ofl/gorditas/OFL.txt +sha256 ed95c33f80ccca002e3a360b683c43368f9c5eb024e5b992abb51af3c10b59bc ofl/gothica1/OFL.txt +sha256 58bdc69f4c6177125c6e7cdbc78f710f5f9952f11bba7bd5b17bd7ef169d731f ofl/goudybookletter1911/OFL.txt +sha256 742a6a4386db47a2987c7c3b4aeedfb5adedfb3356c118de450a664735686535 ofl/graduate/OFL.txt +sha256 4c0a1150a363b42bd8681ff4a00315ac49510a944c4c9978237ff8b90a8920a5 ofl/grandhotel/OFL.txt +sha256 9860b97028024085855e503e32c1971bfd603374641cd018c136433ebcf5a338 ofl/gravitasone/OFL.txt +sha256 f30a7045e4e21201182b2b9fc4e4b96189aaeaceb2c8e9b68d8bd3dc4e3c5a27 ofl/greatvibes/OFL.txt +sha256 879ec56fcc9a961937fd24d542b3b7b3f2b8cb3236b7351e62d16719e25de14c ofl/griffy/OFL.txt +sha256 4579982a484a9745864de2cda666fd7b5017f9182b74dbb4cd53d84c1d1b2231 ofl/gruppo/OFL.txt +sha256 315a576cbc7ab61c9e347b5725893bc8498fdcb8fc10831793c6864bc2cefba8 ofl/gudea/OFL.txt +sha256 391ac3126dacc95b92a8f3408467879edb3245344bc411530a30d5aada52df92 ofl/gugi/OFL.txt +sha256 2bd35914efa381c80f9fb62d6ea7d736d3c0739196a3783c3122593c3408392c ofl/gurajada/OFL.txt +sha256 2a7b0a41ef401e4e0e955280b07c0a2698932d56aad3181089bdbbaad5760491 ofl/habibi/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/halant/OFL.txt +sha256 b43e2530c7af69fe1800f180d210b6d2745915ed4e0e404495038c861bb6dbf7 ofl/hammersmithone/OFL.txt +sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanaleifill/OFL.txt +sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanalei/OFL.txt +sha256 5f1f5510eff7922864bf326ffa1d4a62f01add5193e9367b542378e5a808b500 ofl/handlee/OFL.txt +sha256 d724dea493d89a7a9681186e2fb462b7cd551674960ee4142ae6b325261b5115 ofl/hanna/OFL.txt +sha256 de2246895f0ac21fe05b095d586d36cbc9f987ebcaed1e050c61e69667caf1c6 ofl/hannari/OFL.txt +sha256 1a5e3792a425687a523fc7c0f8ab5d01d58bf853149d57f3dec4b4fc6932fcf6 ofl/hanuman/OFL.txt +sha256 bff4e5087ece354afccd073621197bbb7dd9349943b5ee6aa12b1adf0b133081 ofl/happymonkey/OFL.txt +sha256 757f49d04406c93c40d1781e7867fd85a1f9fdfbfe03a5ae332900da802fffc6 ofl/harmattan/OFL.txt +sha256 7527e73a61f742a0dd050ab2fc7333de71ac7886023c100bca66a0a93b37498e ofl/headlandone/OFL.txt +sha256 a90a8ebe28f3c2905a44557166010a3d219ffcce1703c3c3280ea8728d5e2ebd ofl/heebo/OFL.txt +sha256 2d83a49d05906b5e23285168e72c0d019fc15e3ad110376f640feeeda34c27d1 ofl/hennypenny/OFL.txt +sha256 6e54fc004ebeb61322ecab1d86334ebf69e7051632d48eca489beee505d70762 ofl/hermeneusone/OFL.txt +sha256 50265d2b41f8ad2dd350532d2286509aa694021b4aa0490b06f0068e4ed78c27 ofl/herrvonmuellerhoff/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/himelody/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindcolombo/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindguntur/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindjalandhar/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindkochi/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmadurai/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmysuru/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/hind/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindsiliguri/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindvadodara/OFL.txt +sha256 ac987f9cbc5b18d3239d88adb57a4e134049811d24ddda2f6383faa589fd2727 ofl/holtwoodonesc/OFL.txt +sha256 6b6c6721a30480a323cf33acf6a7703dfce46b846827a65f8ee96230060e3c3e ofl/homenaje/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexmono/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsanscondensed/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsans/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexserif/OFL.txt +sha256 2d62278530348951887211d79d1dba04acebd6ed3b1c413f6154702efea3ea62 ofl/iceberg/OFL.txt +sha256 518962c41d4a5e96b0016bd8d8acc965413ea1a0102467e4955931e702b14a0d ofl/iceland/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepica/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepicasc/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpica/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpicasc/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglish/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglishsc/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanon/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanonsc/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimer/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimersc/OFL.txt +sha256 4539710406c656519f8ddc789056a7cd6f4fe66b44cc2f52ebca6e251bb26e13 ofl/imprima/OFL.txt +sha256 29bd0cfd0fb2a45f9b057c834a057724bae1f63b525a8ac83d3e7525706d9f80 ofl/inconsolata/OFL.txt +sha256 ca9fe3a0e10bbb082f83ecdc07f5f04845c4bd689c46456da3e6bae23e11aae2 ofl/inder/OFL.txt +sha256 d9cdb075679d15a99bab2a8541b9c4fdc71347502111fbe9affd1d462219d96b ofl/indieflower/OFL.txt +sha256 3169e7e0e87168908218f11d660a52c0b81b5952fd73918a596e70721d68d3e5 ofl/inika/OFL.txt +sha256 16f8621a8dda01f044b8a58489334dbaadfad44ef2fa1d5ce0864cc2f309df01 ofl/inknutantiqua/OFL.txt +sha256 1e511bb01d29562932157365418c02d954d8faeef794bcd54729177fb2b03db0 ofl/istokweb/OFL.txt +sha256 486c4d5b9baf0d0ba5546ef3c43fcfe22c062299ab6948045a43efffe4b0f74b ofl/italiana/OFL.txt +sha256 43c372f43d145c22e654781860506a75cb85b086dc76028a62a28a446506d253 ofl/italianno/OFL.txt +sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/itim/OFL.txt +sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancois/OFL.txt +sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancoisshadow/OFL.txt +sha256 a74380bba78a364ec70b3a5fb6a1161b83cb05cc3e75a0910afbd1b5aff4f9c8 ofl/jaldi/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejugothic/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejuhallasan/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejumyeongjo/OFL.txt +sha256 fca01a37b10879d7685c7d03fc5a04086b15cdb2cb4f870cb687aa5a9a0a1361 ofl/jimnightshade/OFL.txt +sha256 c4cd9f38c3246ee6a68c264f017320dc1af09677d386166d8cda806d9a12e0d2 ofl/jockeyone/OFL.txt +sha256 28c6d2887c3dfa42488c5418c6c16ead580d33ff0afe60c05159689201f9ec63 ofl/jollylodger/OFL.txt +sha256 ca64dee162bf239c7b92d854d388bcd30552edc3ae1ef5e31714acda34c988db ofl/jomhuria/OFL.txt +sha256 49b9214f7b40024abec2fc89a32bdda380f2174ba7005d7636e6ea340157c5a6 ofl/jomolhari/OFL.txt +sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsans/OFL.txt +sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsansstdlight/OFL.txt +sha256 01003114b77326df223f291c48cdf12e95f6a5937437f164347919f2bbde12d4 ofl/josefinslab/OFL.txt +sha256 dc35123e99a857674b3e8807e9d7df82220d298423d9fc50ce084fbcdecf602d ofl/jotione/OFL.txt +sha256 44a7c6e4c5572392ae122d3b1d8c6ba6fd640a7797e675384585d947f2773e3c ofl/jua/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/judson/OFL.txt +sha256 f76c1013cffb3e0de0e7dad19ee5b4b7849c7ab10b67218515e39cfd87e554a7 ofl/julee/OFL.txt +sha256 955655cafa13f187f45a79dcf451942fd1118a8426abc5a25ffc5dbb00709da6 ofl/juliussansone/OFL.txt +sha256 a1077580b649c7b0e05ea0e9369d48687b4ab1c585573bf86b0dcce7dde177c0 ofl/junge/OFL.txt +sha256 ee9d043332991eb6bf2bd56fb04db3c558c1ee2f0cb9aa7b18366c77e34fef30 ofl/jura/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/justmeagaindownhere/OFL.txt +sha256 869e4c29978c318b33c2e5c7c8f24d2e947f249071bb1471620036a9d1ba87ad ofl/k2d/OFL.txt +sha256 b01cec9e5e2035b70a6aeb61c673d1f6d5c91539845be07733bd9880fddeb9f0 ofl/kadwa/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/kalam/OFL.txt +sha256 694282197de3d750a43689dc64a8116cd19578cd516e7b2490c7b5362c064dbe ofl/kameron/OFL.txt +sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/kanit/OFL.txt +sha256 136a256d6050ed32bbf96736d70b9099c6359e83dabeb6847cdf6b8ef84319cc ofl/kantumruy/OFL.txt +sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karla/OFL.txt +sha256 fdecdad755f4e5e95bee491c7521f31625dc08283562ea8579543c90430eb269 ofl/karlatamilinclined/OFL.txt +sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karlatamilupright/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/karma/OFL.txt +sha256 251f65282ff48a7e8ef3fb661fc99254d9b3b0c368427c98b1edbfe4ca66e888 ofl/katibeh/OFL.txt +sha256 3336bf5d4e7eedba48ecb831f37bf676e901c39f2e6a422cceadd9d2ffa55be8 ofl/kaushanscript/OFL.txt +sha256 0acef93ca37cf19eeb83a1c6a29b78b08377a211c8d80cd27626e210176828da ofl/kavivanar/OFL.txt +sha256 82831e8f12ecb6deb2f4d9919a04049895b4619e0301fa6b699c861bd7311c54 ofl/kavoon/OFL.txt +sha256 723764a50d4e6985dfcbd75fcb40dbd3abab37ba25ae626486d4a32084854487 ofl/kdamthmor/OFL.txt +sha256 ca13e9cd1faaa6afb9e43dcb534a8984cec3218993fb4b436468a79a1657ee19 ofl/keaniaone/OFL.txt +sha256 393d494f9ebb5db6a3552ffa03a4c6f3746c22808b40d011b391681da55ca3f6 ofl/kellyslab/OFL.txt +sha256 ce78cc8de3f6edd2738e8c02f2079db7086c9a74314baa5854675f83c33954ff ofl/kenia/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/khand/OFL.txt +sha256 6827fa45930d5847fca5b3d3898b3d87a229fba772a5b6c5bc33bf73ec83478d ofl/khmer/OFL.txt +sha256 2171558d2482764644a2f793696fa2e48c361730ecc87686b9a29082d6daeb10 ofl/khula/OFL.txt +sha256 38a83f1f8b6efc3ab354b8b6eed22e8524dc71280844dc24811d95ae27b34952 ofl/khyay/OFL.txt +sha256 7e896665d0863d2a17a671001dbe2528a5f9302f1dff9222af8b0834e9088d0c ofl/kiranghaerang/OFL.txt +sha256 11bdf9c7abd81f46a88b0b017d78a0e51f451e9dc0c2272813aa9f456ee886ca ofl/kiteone/OFL.txt +sha256 14b3fbd06078a869cf2ba96e6dacb852d373703c86ca7ad54a4cdd6e20fbab19 ofl/knewave/OFL.txt +sha256 b1958132ff727bd74409aa37ec0abbe4be13b1b379e1210e6fb77fc608c607d5 ofl/kodchasan/OFL.txt +sha256 0878e7d6e842bc3c45154059a1c2812de0d31dca343fe6bc16abc9afdee3e3de ofl/koho/OFL.txt +sha256 d3711c90a7deda6210d30e41b945f16bdaa00662b30ee0b7c36abfee82525bfe ofl/kokoro/OFL.txt +sha256 9c56b4e2e4e922cc37e19e1a9e2e1128beaa17a812e1b67c8ac371b0fb57ae03 ofl/kopubbatang/OFL.txt +sha256 e39d6ec64a37ed1523a59940695a61ea5e7882d9bbe0e7eb11653fda4b04fc79 ofl/kottaone/OFL.txt +sha256 a3deaae17ab9a15dc3c2778126aa6f80d41d567741853f84b16a9e1318ed799a ofl/koulen/OFL.txt +sha256 6627b9c2c8ff8e0c6ef23f1b0125dd5b293320c10c916d402fef64916c296d0e ofl/kreon/OFL.txt +sha256 4ec46c3e4469afa19f0156bac6917472974f9c85c189f9220cf8735d3e810401 ofl/kristi/OFL.txt +sha256 6c181f5a0045e8f414e1c232c35972ab83ea084ac44825f517ba001628d97b21 ofl/kronaone/OFL.txt +sha256 8f187da1eb4f23e3fe7ba68b1cb2e92881a415dd34c46489698454517e273c4f ofl/krub/OFL.txt +sha256 ff72e4d89860e64ee38ccf8a5a7e9dc085d5e36115b096a6c7f8bc988e9bec61 ofl/kumarone/OFL.txt +sha256 b712dacdda5da76c0213f8478886f893b855665c1153ae438bc3e55a7dc525ef ofl/kurale/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/labelleaurore/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/laila/OFL.txt +sha256 b5c3d12a3085b96011fee65555234bb9d31fa7444cf6f8d5ae6b1f5771394399 ofl/lakkireddy/OFL.txt +sha256 327bac41d89cf9f32e0efe353228018e1661cff458a5d4905714958514df7bd5 ofl/lalezar/OFL.txt +sha256 d51f3341fd7b3dfa1114d3ef0bdabbe57f60eef86a1458019e0077d676fa1fcb ofl/lancelot/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangdon/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangkhong/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laosanspro/OFL.txt +sha256 1ed119b01f03187dbe2f5f89c95431b9a4ca46db604fd263164d8b4055189f46 ofl/lateef/OFL.txt +sha256 74ba064d03f1f1c4a952da936c3eb71866c34404916734de3cae73b34357e59e ofl/lato/OFL.txt +sha256 81d0973236b5b5709a80a217a330db36eabedf57bf4031de46b4660b69901234 ofl/leaguescript/OFL.txt +sha256 2937c7789b0e4fdeda6eafe93164a2ab36e20386704c4cb6f87b1deb620ec0da ofl/leckerlione/OFL.txt +sha256 ba01480319f922ecebbc73f1a523e7f8876e92b16553a32c494bcd3f6f5a27fa ofl/ledger/OFL.txt +sha256 3fa0ceff4b9a2d28dde43bc63cde3acfb5e6e92d13a53e484ca0e501e18c7e2e ofl/lekton/OFL.txt +sha256 75b2a5f39a53b4cf9286eb3d2cc1f895a8f3442680013c77124121bc347a6448 ofl/lemonada/OFL.txt +sha256 ed93e9833f18acc2775380a28139fd88d3ebf82df7cb814042498467be3463bb ofl/lemon/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128text/OFL.txt +sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extended/OFL.txt +sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extendedtext/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39text/OFL.txt +sha256 c867d1a613bebc4932cf28c060fefb3bcfba3be56ed498b873c79f4eb786af1d ofl/librebaskerville/OFL.txt +sha256 d7f96801a28ea11eaa51bc4a9c87fd91f2133bc298068e6e2847a15ddda23089 ofl/librecaslontext/OFL.txt +sha256 ad6f73fa3edb7aea340aadbc63c0d7ef7663abed82664432ae09a6b377fa313f ofl/librefranklin/OFL.txt +sha256 aa36087ecd7e9085e5a1439b0a6d0ee35966e8cd2ccaa649bebe62cae5815e82 ofl/lifesavers/OFL.txt +sha256 255d5debbb80eb2ea762644311f266a279e8778f00156655a516e2b7781a63e1 ofl/lilitaone/OFL.txt +sha256 878aec7282ab41d058cedbf90e14512bcb4fbd0658496de8c2dfc592ed1f0cd0 ofl/lilyscriptone/OFL.txt +sha256 6b53fb03a50914cc382f4d025ee595c17c43f24ae870f840bc51969d3e316c7e ofl/limelight/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/lindenhill/OFL.txt +sha256 88aece7d90f2bb7049719f11619a560af22af3451af141f12aa4f46bb157a99b ofl/lobster/OFL.txt +sha256 f46c3ea04f38ea73c0731d73dfba3d7361d4b38970feb31a3558bd1b75e0656a ofl/lobstertwo/OFL.txt +sha256 e88691a5e0a8a3f788f31db959701ec90a1d5e7505f1cc53c5663180a7d23c81 ofl/lohitbengali/OFL.txt +sha256 4fe81901e6f84cfce1145c715e931352a9a12aa7ac75cc193eb523c0cb0e5eb5 ofl/lohitdevanagari/OFL.txt +sha256 c87702d8b70f714fbefb554660e8ca57a43ef62a59089d11cbf0c6bd51d56928 ofl/lohittamil/OFL.txt +sha256 9551ade371e7bcb1f6d9959273bbf1fed3bdf398efb5c57cc1fd85d6a13e9e5e ofl/londrinaoutline/OFL.txt +sha256 819e3b25f9b50f12299a3db1638be3813efc6b938f2b86693a218d20ec4e3209 ofl/londrinashadow/OFL.txt +sha256 85b700bfba1250a6f8bdf930cd7113faf3d8e9dc52cd89eb98c3ac8a038a4aa9 ofl/londrinasketch/OFL.txt +sha256 66b5c49d384cba754806a891ebd52f2ca08dd05c0eb3c56170192da466a00a20 ofl/londrinasolid/OFL.txt +sha256 7706a84d7e49e2273877106334a1eded8ae89fb5839fb81e0f2bb27c846f667e ofl/lora/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/lovedbytheking/OFL.txt +sha256 1d1b7f3480c8d9b65c26d205e41dcbfa85731588d6ea50bccfa78e91f242d629 ofl/loversquarrel/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/loveyalikeasister/OFL.txt +sha256 65f43260cf7e66b57ddca8d148384a6602e2c06edd389a8b3cf388045127b47d ofl/lusitana/OFL.txt +sha256 930fed5b06a415736dc3b4e5f4f01585523b672717564bf677f93966bcd57636 ofl/lustria/OFL.txt +sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondo/OFL.txt +sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondoswashcaps/OFL.txt +sha256 34b8afbcab7508bea23847288332a8c05a507364ca6f0c8756ce560d7d59d506 ofl/mada/OFL.txt +sha256 746b384383888d9325ed2fa9c40d2456b458aa190dd2b8c515ed4f02a1075bb7 ofl/magra/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/maitree/OFL.txt +sha256 616e75d879831bedfa7725c078e09bb56f8a17f40b194e16691b12251bb42b3e ofl/majormonodisplay/OFL.txt +sha256 ad9ce814ff266b57d3c4698d3fadca4b41a6f942a0ddd215db5cc66abf92d668 ofl/mako/OFL.txt +sha256 bc1175730d609233043cde47e48f69831f012e85537c5ec1a2cf4836757c1540 ofl/mali/OFL.txt +sha256 8928e999ff156e35852ab41d7a906598a8285acd3bcd81dff67213a6cd98d43e ofl/mallanna/OFL.txt +sha256 1b8eef90c567309fef17962cc969dd9ed1de69176517238e744018bb983e7c1c ofl/mandali/OFL.txt +sha256 aa72b0185d828cb2fafa62a154e84bd3e20c88ada30326089bb20542b6363aaa ofl/manuale/OFL.txt +sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellus/OFL.txt +sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellussc/OFL.txt +sha256 f22a2beea88d631a620b15683fd03e79f13ad3297ad97fa5e42283c0b1a3a038 ofl/marckscript/OFL.txt +sha256 50f7b09af5ff677f611a96cdf5eb916307c59b29f2e8144942718cb432a9bf6f ofl/margarine/OFL.txt +sha256 a345b13576140008a697ac66ca8c76cd63b1dd076712bc30a0f5e97dcc53cc83 ofl/markoone/OFL.txt +sha256 7e98b49a12b51240c85b04eb0d9919a6fec7dbd491bef6cbddc22d3f851bd1f1 ofl/marmelad/OFL.txt +sha256 f177d98c67b84250ec87a03ca6ad161e84cab15b435e960039b971797a065f4a ofl/martel/OFL.txt +sha256 5641212407f956b828bf632afc4bbb3344f461f82255ab56756d9e3e8604c7b1 ofl/martelsans/OFL.txt +sha256 6cca1abc09d677cf00a55674ce2775e0eeb6dc5c0137b0401816680b9e500f81 ofl/marvel/OFL.txt +sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/mate/OFL.txt +sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/matesc/OFL.txt +sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenpro/OFL.txt +sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenprovfbeta/OFL.txt +sha256 846ce83956a732edd57b74d9ba988d58abc8c8e6d0926859559318ce6aed139d ofl/mclaren/OFL.txt +sha256 eb1992aec1cf892ec94ffc116d79b62c7cb03dc108141b94a57a4195d210b514 ofl/meddon/OFL.txt +sha256 45b1f44d2cb859ea4b7be2f322c57b8ff7be55075c336744e62b5550cd0a97eb ofl/medievalsharp/OFL.txt +sha256 88ac81fcd30e64f6e6b91b61b159c9b700bb3dd59012b72ec61629abcfc7fba1 ofl/medulaone/OFL.txt +sha256 d530c14e9cc263c567b47742ef20df2a41374f00732ba4f290f52adad428b1a2 ofl/meerainimai/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/megrim/OFL.txt +sha256 e12a3e737fa75c0ee072d965b6185710f35e38a4f7a0793ebc66ba14a216109b ofl/meiescript/OFL.txt +sha256 131d19126a0e7ddd25540fd6bee219cebbc8aee7e8374882998ee6c2f4ff6cf4 ofl/mergeone/OFL.txt +sha256 c264f64bb2b91ca0dfdeab75d71719120271fa6a30035396416af235ef481c1e ofl/merienda/OFL.txt +sha256 6383249ddffbd87f2bbd7878ceba2dee0f1a2193cd7a4f41c00aaceb8e6d8b5b ofl/meriendaone/OFL.txt +sha256 a7ba785ad99b6eae0444ab89910e512d4af9865937fddbcb5c72c4f59f55d6ad ofl/merriweather/OFL.txt +sha256 22c4588bdc14621220ba14515d52041d1312541e034a15d1f5c2a88fc6075276 ofl/merriweathersans/OFL.txt +sha256 2f871c2e81de6d0c72c981615002c30bc9f1637003d6d3d4c3f0149886b70569 ofl/mervalescript/OFL.txt +sha256 4e66943af352059c059dd658774f25fbc831f1ad478f9f0890c06ecc2dd324c7 ofl/metalmania/OFL.txt +sha256 f1888ed385b528866a472d02f4e06ef0873aca5b3c63ff1f6116cbb150dc9a13 ofl/metal/OFL.txt +sha256 4fece81b541808b40293b0cd3f5b1990274e1100e1c20455dc2987cd96639d3f ofl/metamorphous/OFL.txt +sha256 ae28423a5e63cb65e651ccf62c9091b322fff1d2d4e87ad9f98b1096c2e7abb5 ofl/metrophobic/OFL.txt +sha256 6958d8c61b6b223f81bdc2109941e5d0004996dde61e197d628e0293f4f1bc58 ofl/miama/OFL.txt +sha256 026610186158060ad351fb20cd1452def5d35b2531634c090ce8cd1d9e9aeaf2 ofl/michroma/OFL.txt +sha256 3997621a219c7758e31dbafdd3cbd2bcb0b6144a41d1ca068d04dbcc4bafcde6 ofl/milonga/OFL.txt +sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltonian/OFL.txt +sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltoniantattoo/OFL.txt +sha256 d2875ded3e44e9ae53ea2b35e825dafffa19e82c5d14addb9f1150fcd7a3463d ofl/mina/OFL.txt +sha256 56c4ff36faaaf336bc5fee659ff6fab2413d67499cc22acc29079b3892d8931b ofl/miniver/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/miriamlibre/OFL.txt +sha256 d1bf0acea511ad1f4de53e942cffb8ab0e67c03c6203d6f390d71105d52c33f0 ofl/missfajardose/OFL.txt +sha256 b8fb5cd1bafb52e652c733fdb75ee20c763e97acb0398f6b4bbe1d8ada0c07e5 ofl/misssaintdelafield/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/modak/OFL.txt +sha256 3e908f3a95680bdf3c8456bfbf76392605b34cb3fba109e46441056ab966cb35 ofl/modernantiqua/OFL.txt +sha256 4dee45deee99672fbe342b2f4b7aa75b0cd12de18a68f9732c77f096bab47e0e ofl/molengo/OFL.txt +sha256 af9b97696048d509e3d70f8108b7c4381084f95c8fedd97acaa76b0b287668be ofl/molle/OFL.txt +sha256 04b895d77ccec5034191e953e8e5884637269be15fe0675fc25039014eb46349 ofl/monda/OFL.txt +sha256 02faa476b17db0044d0c502a3ce12fdc81eeeb9bd618e6a005407c79d6081bbb ofl/monofett/OFL.txt +sha256 585c6d2da8bcd8ffa651e0016f2e992a6891b625143a46a1dacf00699a817d9a ofl/monoton/OFL.txt +sha256 a5fc033225d145b43fd7391482ae7689825414ce29a01614d651a3012b57c81e ofl/monsieurladoulaise/OFL.txt +sha256 cb8bbf7a86eefa8c146f24ae5be74fffa887ba83719ab3c87036be8e3d0191e2 ofl/montaga/OFL.txt +sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserratalternates/OFL.txt +sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserrat/OFL.txt +sha256 c54957d55e7c9e66c28e474cd39de75dc044e8f69056788cae44eb78841ceef1 ofl/montserratsubrayada/OFL.txt +sha256 1fac7a3e4e43b091c2d31aef7a375d2b969c42b2d5fce8e2d40b5f7b1233ddb7 ofl/moul/OFL.txt +sha256 581f08727777cb2a1a1ec95c0f981ce64fb1ad4354f78a0ac4f3481afa605577 ofl/moulpali/OFL.txt +sha256 81d6c3788a6b641cb9f543389d9d5c0cd3bf94fbb5639be19c102b9274c34291 ofl/mousememoirs/OFL.txt +sha256 da15da6b1496d4de18f97e2ad1b722ef8a1c121149c2c93b2cf7eac6ac27b35c ofl/mplus1p/OFL.txt +sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedford/OFL.txt +sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedfort/OFL.txt +sha256 0da6a3e5b24a9fa04085c20a2a1d3101eeb1e0bff56a2291f407187e1b2adcf2 ofl/mrdafoe/OFL.txt +sha256 c3bfad2900a83f571d5c984d490d51c56aef14806c28dde38125593e1e71daca ofl/mrdehaviland/OFL.txt +sha256 f354ef1e7256644b320c5e1d9a07a819c2e2b930166003c96680894f9fba81be ofl/mrssaintdelafield/OFL.txt +sha256 967d75b89eef1f8a0ba1f5ee7dfb13427621f9116c6e7878ca04da8c9aa8641b ofl/mrssheppards/OFL.txt +sha256 46751a31966477e3f038d1e5ff1146a33234a3a523a0e6a21be3221cba082a34 ofl/muktamahee/OFL.txt +sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktamalar/OFL.txt +sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/mukta/OFL.txt +sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktavaani/OFL.txt +sha256 7f55affd2bce8ed9be13297ba8df1a4a7e9835c2a006126dc2a1eb4ce75a7943 ofl/muli/OFL.txt +sha256 b9d592c3bf421197d9b7e353416b8e2ec81584988824b43d38c86d997a08b868 ofl/myanmarsanspro/OFL.txt +sha256 965bd2c907f7bb6f36da4f85e83f29aea8b2f720783deebd7ed7b40678e67672 ofl/mysteryquest/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumbrushscript/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothiccoding/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothic/OFL.txt +sha256 8eb1c1019fe7fe6d0b6e7d7bbbba1d9cbdd969d8c5f26455708f6cfb8a77284c ofl/nanummyeongjo/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumpenscript/OFL.txt +sha256 c0a7efe98e77cbfcf1a5ca43e874e25cf53d9185c56295bc3b5c407f95dae638 ofl/nats/OFL.txt +sha256 656a20870fbcb8f559f1c6308c1df90ac93d7cd0279aab49b43a43b5e58534e6 ofl/neucha/OFL.txt +sha256 636d62f04d7bda9fcf9354f258f6244e7e18288cae036b95122e204f1acbec80 ofl/neuton/OFL.txt +sha256 942d51cf079299e83e9dd7a9a37eb92260524e8d1d576b2f0b3f7ca207c53f8e ofl/newrocker/OFL.txt +sha256 7729f005b7a087368e2cf61fc4b65cdc85988e47d0e6e38c93a72de345e86b41 ofl/newscycle/OFL.txt +sha256 6aa923334ec515d26b1a61bb978a0bb5bd8884de7529add1625beef2f4a53f74 ofl/nicomoji/OFL.txt +sha256 70f664de65e7bb62e1ac728f20a9bb28de7fdc18be594186137a9e15ce9dcee5 ofl/niconne/OFL.txt +sha256 f9f28345ffcd6cea6e3c6699e4579cd1948053d80fe89a6a5a2ecb269afc95f8 ofl/nikukyu/OFL.txt +sha256 513346ac60af1dde9d4a7bcfad3f39909d5697373a8aa1a6ee4376e6d22d3cdf ofl/niramit/OFL.txt +sha256 e711c816f7de931244976f51166baa15446fc307e5d0ea04fdca1bc2c04afb1c ofl/nixieone/OFL.txt +sha256 9465823369fbe1ae0b5a3065021d53ef8c56e113e664229455dc80b237fa6a07 ofl/nobile/OFL.txt +sha256 4dbbe5c21b46f2647d227dde69b971a1b46de1435e0752a9eda1ce120725a93c ofl/norican/OFL.txt +sha256 4f8b437578b20bff261adfe6c02f63bcf7dbb6a45ab37804b3547e5d5f44927b ofl/nosifercaps/OFL.txt +sha256 b41b99f35b507564e54f6b2f5162ad1c21f94a16837c632da6632b376a341f42 ofl/nosifer/OFL.txt +sha256 fa28ba897eb819768d6bc00c30aa03ef560e80e5f6fb872eaea089c66992f502 ofl/notable/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/nothingyoucoulddo/OFL.txt +sha256 f2ab7e5c5c750fa03a8d8f64c72a089ed86fbd3dc172440fcc704b27816d5957 ofl/noticiatext/OFL.txt +sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notosans/OFL.txt +sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 ofl/notosanstamil/OFL.txt +sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notoserif/OFL.txt +sha256 5505d1a010ee0f2eeecdf624984d2a6170480adab3091170abbcedd85361f1b9 ofl/novacut/OFL.txt +sha256 d2f87f90d108a947f98c030d9d8e4bf27e761ce83f222453b9a7230c5fb309e1 ofl/novaflat/OFL.txt +sha256 197c3f48cff4df3d768230e0bbdbc4305d8b8b9041ea6fb5e00872af66adc5ae ofl/novamono/OFL.txt +sha256 bb655534b6c7bf3e547c1368a68a5b1032d0e96fd08b5cc75f3d7a78528784ef ofl/novaoval/OFL.txt +sha256 f1ef4c3ef43322403f5c30e4fb46496969cb5c34a2a6e7247b507254b69caa6a ofl/novaround/OFL.txt +sha256 9b1cfccef4a7e19f90e2901f808f3aec4335d3cc81f978453ad0c8ded14447a0 ofl/novascript/OFL.txt +sha256 42e7b456fee0d0dc86927579b3d2626d42bb0f4cc9778f3a92ca8ada4e46348e ofl/novaslim/OFL.txt +sha256 c0bcb72e68dd416db0bb9fcec7a7fa62321b0147cde00d8c8f82748e33aefd34 ofl/novasquare/OFL.txt +sha256 455755e2e7ce9dbac6beb3729c97c57d6f74a638dcb5be548ec953021fbdbfb3 ofl/ntr/OFL.txt +sha256 760fb433c515570f6b77ebc60299c2c91d5f03848c659452a9d2458b28935768 ofl/numans/OFL.txt +sha256 010cb216e8f3fbb2836fa3f38787a412b749352de546797f57c03c3bcfe46b1f ofl/nunito/OFL.txt +sha256 43c89012c2b640187aae7e0c83d5ffa8381a0368c00e8426594358d44d3811e3 ofl/nunitosans/OFL.txt +sha256 a10a07aaa150c147fa3cb22e845013f38e6c2b45fe5ba32a74ed1be9d4c417ae ofl/odormeanchey/OFL.txt +sha256 07dbf75115edfc1fd75580aa19c4c730201a099e8f86a9869887dfbed0547266 ofl/offside/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/oflsortsmillgoudytt/OFL.txt +sha256 fc59ca3cd3bcb47bd4df597519111ec130c25cabcc57a8808dd2d243cdcec6ae ofl/oldenburg/OFL.txt +sha256 4faa2d9e2ce0a4b5b37e62ee6fafe474a539b31578f7214ed97cc3503aeb8ebd ofl/oldstandardtt/OFL.txt +sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscript/OFL.txt +sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscriptswashcaps/OFL.txt +sha256 d941c5b788d47aa469ee54e30f4c12d6a43c45a295f10c568bdf9772f2893b7b ofl/oranienbaum/OFL.txt +sha256 ffaf7bc750bdaa0b95b09eb80e419748bfaf46268c6612860f0a5e19e17abb12 ofl/orbitron/OFL.txt +sha256 96b7bc175186cd0153a9682a1c9bb1da7103ab13a83abef8026bc64582ca616f ofl/oregano/OFL.txt +sha256 57f8d60cfe9212b971f07253e303746128edd06b21e3a0e4e188308e569f03e5 ofl/orienta/OFL.txt +sha256 173ea2d0bdda981829719623c35699e8c0e4aa508e0af12817ad7ccbfa4c6137 ofl/originalsurfer/OFL.txt +sha256 ae05f8781a5ef38380ef3efe8cad86783610b6a780c6c278d7472f95310fccee ofl/oswald/OFL.txt +sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlock/OFL.txt +sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlocksc/OFL.txt +sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpassmono/OFL.txt +sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpass/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/overtherainbow/OFL.txt +sha256 008445a4d53fbd71bff9cf733bdfd841a1b15fb58ef3473f7bab4c456e3b2930 ofl/ovo/OFL.txt +sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygenmono/OFL.txt +sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygen/OFL.txt +sha256 4705fc9bceb299b2a951d23c321d31f3679871bb99ceadb978907704d211f4f2 ofl/pacifico/OFL.txt +sha256 fccf4916b5f84ef5f88d93fec464421aaf4121d11d4be8d74ee2d032f7661d6c ofl/padauk/OFL.txt +sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquindark/OFL.txt +sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquin/OFL.txt +sha256 b4fc1d55ce610f255c5712f8169543f9610536d002deb99bbc99bfbba9f8a560 ofl/pangolin/OFL.txt +sha256 38fab5a643fa935a4e11edae2d7b2bbe9866b4f4828c2be2f41451b3f27cb67a ofl/paprika/OFL.txt +sha256 1dd84b611f4bed7f9ff9089e76a96337b187e6f283a4ab33bcb987f844f2c4db ofl/parisienne/OFL.txt +sha256 5802c9e3509199c7aa9a13ea410ae27febbc0cdea184bf7d227170fac703bba8 ofl/passeroone/OFL.txt +sha256 36c285c5472c625901d4a13da7e31c5ea6126678d31d56cf95572c49f27c8950 ofl/passionone/OFL.txt +sha256 a89ac8075be60f2beba79bed3fa253415a373dbdc3bb108b23f4854d0dd495b8 ofl/pathwaygothicone/OFL.txt +sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhand/OFL.txt +sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhandsc/OFL.txt +sha256 72060253bd481a8dc18664bb9117072dc07c0f0270a40617c230654821774850 ofl/pattaya/OFL.txt +sha256 cd2dea62cd4b0c5fb335cf07ff04fd5c4bacb49b8d6c2bbbef9766c663d79b1c ofl/patuaone/OFL.txt +sha256 75a77451968e55a1ab404bd953bd8778983e21116d507b890fbcf838e58c8e8b ofl/pavanam/OFL.txt +sha256 12404fcefccc3cb964cb2406510ba679b30f7d7ae689db08df5b455ae24b3feb ofl/paytoneone/OFL.txt +sha256 9e1c955538817c3fab7160cb3110501e73ce109eeb58c4992a14e8323d900849 ofl/pecita/OFL.txt +sha256 9263f9488a9ed1d5f4218581b642e0f054f9a20d208f1a53c19c9f7dbd27eaf2 ofl/peddana/OFL.txt +sha256 e8dd8f53b2fa502ace0636debbe7e357c4888d8d02b8b41d6a9a22d3058a63dc ofl/peralta/OFL.txt +sha256 cf5c4103b0ecf3c38e7c26768b5caf05e1b3e16d4d87b32d859b3c19ce7c216c ofl/petitformalscript/OFL.txt +sha256 1313ae342eae4e1810304b6cd32f6815dd11b8e45812a2af98e58b6960684fa0 ofl/petrona/OFL.txt +sha256 6e6efa9b0556d100cfe60690cff5d9be7144df77adabfd2c278dbfee451351ea ofl/phetsarath/OFL.txt +sha256 331c71cbd8f1d8a70cd6eec3d55553b64e6261a9bb0982fa12e6e48baca827c5 ofl/philosopher/OFL.txt +sha256 5b158abb3406e69b7408b562b7199f6ff55a41ea56e260b87176d693b0095e47 ofl/piedra/OFL.txt +sha256 ff1f38ac4e694a4ad5bd3d7a5146cd8bd73fd57aae794ced76a24b0d68e41206 ofl/pinyonscript/OFL.txt +sha256 e8ad3f3de5baeff6bac6e711d8c406e0a6b8a61d2944741532d8965d893a2681 ofl/pirataone/OFL.txt +sha256 2400b30a72d2b1555255b81625576dfb552584a19a9c85ad8d43ff77bceab13b ofl/plaster/OFL.txt +sha256 5fba78215eb4e42aed6cb0b5c5df52e0f71246281a866cd4493dfcfcbcab9518 ofl/playball/OFL.txt +sha256 f5b03ea0b27c7f5afb9702771ee57679ae8ba6b471b6ba9e62d985d3256f1929 ofl/playfairdisplay/OFL.txt +sha256 e414e07f7a4da16ed47ebec80d52dd79f21d3ca42bc92385a755d8078a038814 ofl/playfairdisplaysc/OFL.txt +sha256 6d216cec166b6e139adaa599053dd49720c053e1f2adb4845de3cc9c3704344d ofl/play/OFL.txt +sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkova/OFL.txt +sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkovavfbeta/OFL.txt +sha256 24af1fb3ab8dfeddc83162b7f3b6c1104149b6c3022f1aa948ef4f8ff7e6bf7c ofl/poetsenone/OFL.txt +sha256 708e33bed791c40638926a7577bcef8ff8748f84045f3825277540cbb8d483ba ofl/poiretone/OFL.txt +sha256 de318dcb99e332a746edb9f83180ee206fc3bce74ff96ad7d1cb219967ec74af ofl/pollerone/OFL.txt +sha256 56edbe5fff7981dae6f6eff32f61ba04cd54324e5abfa44b1257b2a307ea561c ofl/poly/OFL.txt +sha256 bdce62dd98db969b73f93f8e8e2151004c20ad871ceb15ad9bfcbdf2cf939dba ofl/pompiere/OFL.txt +sha256 6ea7a3ef1d07feb592693f3f22c26d0b09321ff81814292b49be99888d0da9d7 ofl/ponnala/OFL.txt +sha256 ae30055f1e31d12f6235802c25a8872bb7053fca8ed4a604c530f4b2ee83e572 ofl/pontanosans/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/poorstory/OFL.txt +sha256 31bc966c36352bfd33717382786d0458c38ecf540628ab134e0ce35fde801d28 ofl/poppins/OFL.txt +sha256 ac55580be2df22a06d29a47501e2ae11e1d399620f5a779e17a66f016ba6d5ff ofl/portersansblock/OFL.txt +sha256 021d5f1df697848da51620394659187be77cbe382ff2f896bc84ffb89c0c2d52 ofl/portlligatsans/OFL.txt +sha256 e37fcc467040ecd81bf4cf59c99ef56b20f57918995e82b3de1d5b4e931bc2e6 ofl/portlligatslab/OFL.txt +sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillscolombo/OFL.txt +sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillsjaffna/OFL.txt +sha256 2dab153a33dcb2101bba3f194d27d953c848a0fabf2e336650a81f84a0c33b3f ofl/pragatinarrow/OFL.txt +sha256 56d9c3529facf93873a2a1626dd038054d244b3af30a1e3ffe0e78bbda1c7622 ofl/preahvihear/OFL.txt +sha256 705960c3281a5765ecc0b59bd4ed7ca59eed165748076bc2fc3e8fdbfeb944b0 ofl/pressstart2p/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/pridi/OFL.txt +sha256 3f0f27931c92453994176af3b1e7954f9aac39fe145374d6d08c47c822e82e59 ofl/princesssofia/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/prociono/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/prompt/OFL.txt +sha256 7039124ec9c84f9d637637da9f80158f0d3681c82d4e6a811053467f7c33d587 ofl/prostoone/OFL.txt +sha256 a68d8ec6bea7f277053ae93bf563d4b97c233f09f8e79f86ffe5db66f31fdddf ofl/prozalibre/OFL.txt +sha256 511125dc85198375795fdbc109d088654d3b7f9dbd3ccb7bf93d844aef0b153c ofl/ptmono/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsanscaption/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsansnarrow/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsans/OFL.txt +sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserifcaption/OFL.txt +sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserif/OFL.txt +sha256 5f5dbf452c1657370d9280b50d647212a53c80acae6d78e0b5e8c2b26dc62b09 ofl/puritan/OFL.txt +sha256 89d9d01291eeb91074ccf1f7ce07e7a1d9d421ec1191f8e84d440cb50830ed92 ofl/purplepurse/OFL.txt +sha256 3747fdcbfe4f51d6a2f101c35105bacde3715b3c32b34b6b03e5fb37983f89fc ofl/quando/OFL.txt +sha256 25995bcf8e8ddea1aafa5449870567cbbeae7e26b27ba30aca5642f2c02e9757 ofl/quantico/OFL.txt +sha256 684ef102ca4c5ff61cf1c1e5c2c6326f3c26f848446f98b8862dcca716a87601 ofl/quattrocento/OFL.txt +sha256 b00c646b7d04a6da1665a148815b8c589c1e05ed7e1febf7ccbd91758747cb03 ofl/quattrocentosans/OFL.txt +sha256 9d61931b909f9a738964f8fb311eb8fa40dba1ef9f1688b36039ebb15ee1805e ofl/questrial/OFL.txt +sha256 14d28541780d90f6577bb7abcc6f005bf6969614294e75c82abb8758a696ad46 ofl/quicksand/OFL.txt +sha256 0786594992757ea0290ae4a490ab9249728f372adb13959c0c8ae4fec83057ff ofl/quintessential/OFL.txt +sha256 7f91d7d8854e5cb4fc630807c0f4d57c07777769dc597173fe0aef5e58f0992c ofl/qwigley/OFL.txt +sha256 cdcc959c42ab255b4cea4bd82f2db5c24a2da7ecabe615d02d5a5dba3716e446 ofl/racingsansone/OFL.txt +sha256 a3b0977c5c25101d45054cf9199b9127b05fddc79d4da7dcf400821824e5a6d0 ofl/radley/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rajdhani/OFL.txt +sha256 5c36e7ec460b285185ea23847aa1f508708d9ce15d5c055279defd022972f836 ofl/rakkas/OFL.txt +sha256 e31de7000a2a13b2e54ad01e788fd29e979fe05ea1fded44d6e71cc06e33bb2b ofl/ralewaydots/OFL.txt +sha256 e588abf45ca2b19c340c4b27349c9b6b6e5e198316fd965128ed9f4422942cbe ofl/raleway/OFL.txt +sha256 0c922e2d65050677c26ae8dc501bc9ad3e0059c4b10df2fc9717d7bdacdfeb6d ofl/ramabhadra/OFL.txt +sha256 525411e604e7a1d85a4cd42641869f94388f04a6ed77829d6c4edd7fd740ceab ofl/ramaraja/OFL.txt +sha256 9a9f089005f389717106bb3ba427cda9bd51b8a477078644566543f2a60ca85d ofl/rambla/OFL.txt +sha256 af88d31020bb48a1f78f4384249814d04a44d22feeede2ff4ae79fbb4fcf74da ofl/rammettoone/OFL.txt +sha256 0fc8e6675568c02aac6b41dd3cccaf2264fc5969601effe68e09b26635879b2c ofl/ranchers/OFL.txt +sha256 8c22fb3866eaebd77a2cb8e8ecbb095381ff32300db57758326fef35a26132f5 ofl/ranga/OFL.txt +sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/rasa/OFL.txt +sha256 064539f87826887d2062b7823b2b97b7625d68b642f6c945c99c0b8dc8084195 ofl/rationale/OFL.txt +sha256 ae629d13b06d9afc5cf3c07d585f3192b89b7decaffc5c4dfcfa7ce11a2a2b11 ofl/raviprakash/OFL.txt +sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redacted/OFL.txt +sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redactedscript/OFL.txt +sha256 791936b10381b512512317572fb5eee91bf503344d52c37335e402fc1cf19992 ofl/reemkufi/OFL.txt +sha256 fbb941b371c6348ee2572ce8c78fb66128a61885f960dec1906c4e44ca4b4d3c ofl/reeniebeanie/OFL.txt +sha256 a1580ba69a8d706bd95e1e72ee0b5cfda0a478fbbab6a4af13b4a9e1b28faac0 ofl/revalia/OFL.txt +sha256 0886960207bb5bcf81a46ce663bab6c52a742dad80ee2cff5cbcda6f1df88568 ofl/rhodiumlibre/OFL.txt +sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeyemarrow/OFL.txt +sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeye/OFL.txt +sha256 1c5bc055869d5e9151ec7774082727db720ec4293c65be67f91a4bdcaeb02998 ofl/righteous/OFL.txt +sha256 33e3a83e377c6a41149044bd919f50d9a971d801052d4e0c0a98cb417b42ae38 ofl/risque/OFL.txt +sha256 03082243ebc53e2090bc59987f693982ccee83b30516457b11f6a2349b78f5f8 ofl/rokkitt/OFL.txt +sha256 e75230ee246a04912366cd8d759d081200d80fb0756766c96dd52f73e8b40bed ofl/romanesco/OFL.txt +sha256 16741ac498178f645283cfb45b7a487b6d361b5de5730c5ea729f056f414f6b0 ofl/ropasans/OFL.txt +sha256 d69bcd35f4a121b312a64f7e8eb15bed61c9056e9e9cdaa8d513366142c8e005 ofl/rosario/OFL.txt +sha256 8a59454b7f1cc0b1fa29805781769047e5c269aa629e3422c2d7fc04b89e5c1f ofl/rosarivo/OFL.txt +sha256 08fdc7cbd92b9bbc4d41d0945ae7f25450d91c5fc8c66c68df331af3505e4ec3 ofl/rougescript/OFL.txt +sha256 67f64c5509e5151796599e3ad47c3131cbe0c80c4f9430b90236a1249c2eacc9 ofl/roundedmplus1c/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rozhaone/OFL.txt +sha256 43d530580461a574f6dfed9e15af6a74e95f7c04d9bfa1174a63ff036e8eee07 ofl/rubikmonoone/OFL.txt +sha256 898a9cf80636e86d6b6009b96795fda29e431ee701c28c36f274a7e8a7d8246b ofl/rubik/OFL.txt +sha256 9788e3b3e67f22ab5846a0bb867a230e7df2468c3cd20f730a5d9c34e673d090 ofl/rubikone/OFL.txt +sha256 1c45059cea5c6798c8591b0a17961a30328747d44214ff9b8f9c62a683bd6598 ofl/ruda/OFL.txt +sha256 ce1108854c91696a8549bb21459f1dc74e8a1ec11664d712c3868c40042f1a8a ofl/rufina/OFL.txt +sha256 39b26527bf9ed27b4c85b86341eceea0579f3550bcf448cf06345eaadf947ec9 ofl/rugeboogie/OFL.txt +sha256 e604b133509815768e6ec4738bb04844ce9a23e80099d2b61e5d75ef46acbeb0 ofl/ruluko/OFL.txt +sha256 b598b7fddfd578950aa1fe6e0e2607b779abfaa686b83af8ec65c860f646b2cd ofl/rumraisin/OFL.txt +sha256 76af3e9e5d8768b17647813a443fcf5df3eb3ced017ee285796625e714d5ea2c ofl/ruslandisplay/OFL.txt +sha256 3ac1301549523d9861fedca12871f24e575fbd26d520632fc00ba849b471d275 ofl/russoone/OFL.txt +sha256 bb49cbf811dafcb11e0de081efcdc8385e45ccc85a5bfc3231ec4861d444dc42 ofl/ruthie/OFL.txt +sha256 399b33eb38cdfc76b8665defa5f81d52e8193d630ad5858c893db6bc20031bc9 ofl/rye/OFL.txt +sha256 2e2cb5a98da665f2ab82a9fd01fb18c2337f845761b0c163f690ed65f3b94677 ofl/sacramento/OFL.txt +sha256 9ee6b2ec20a06c599a07412690876eb457bf192c10e886e60d8bdffb80bc21a3 ofl/sahitya/OFL.txt +sha256 55e13d77a4457aa9c60f10c5b97baea3343d3bac30960d49554a033cb9eaff7c ofl/sail/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairacondensed/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairaextracondensed/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/saira/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairasemicondensed/OFL.txt +sha256 31c59bcdd538c113ef5c048f56827439facb12b7e5cfd158b04c83727edc453b ofl/salsa/OFL.txt +sha256 5f8ff4a3f951c104e99245bdb952be08c73369222048bbf19fa3bf7170d10949 ofl/sanchez/OFL.txt +sha256 87000f71a897c8c130c7777d058c5868f84316f99a32644b3bf595cd11edeb12 ofl/sancreek/OFL.txt +sha256 156ea6985861158c7dea63ecaac4c78ab0ed737d168ddffc3e34c687985a033b ofl/sansation/OFL.txt +sha256 0cf28cdcf1cdfd35054352816b2d8c81bd6d6f73632198b61507f26dd4dcbeea ofl/sansita/OFL.txt +sha256 9e0d3db586ba0abf5ca398683809dacdf4c81b2960f592bd085fbf206a67ddb0 ofl/sansitaone/OFL.txt +sha256 b26cae1321380296ba8311b632a397d5eac11b47197f9d0aa0b9310f1531ad60 ofl/sarabun/OFL.txt +sha256 afb8c471158619593df0fb501453bd39fda42396e2cc3911e2a0a471c11b863c ofl/sarala/OFL.txt +sha256 2cc926050c4c6ccd9a0288b7792e2fcf93e5629ee6269e35986f092275e5a1b9 ofl/sarina/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/sarpanch/OFL.txt +sha256 5f247fad3e8a86b6c0779dff09277047c1ce2b0b7580a1093347a8af755352ba ofl/sawarabigothic/OFL.txt +sha256 c254ae01c407f4a2bd0ad163e4c1a795d57ddfa8967c21b8a28c250b44d13963 ofl/sawarabimincho/OFL.txt +sha256 0a852a06f0256a6684662663ccb1d8e08d131abd1f70cf8d972a344cf31aa381 ofl/scada/OFL.txt +sha256 fb1dbf3725bbdd389b2c569e0eed5091d8d10eed2833ec7efacfc3542e408615 ofl/scheherazade/OFL.txt +sha256 b5c776129b160163c84620b35fd45dea45edf49789cda5a94c2290c230581e0b ofl/scopeone/OFL.txt +sha256 3d08baba63f1f2427fd96dee8da30b1ef6c1421b3be0e1f07cc2a78abb27c91d ofl/seaweedscript/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/secularone/OFL.txt +sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedan/OFL.txt +sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedansc/OFL.txt +sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickavedisplay/OFL.txt +sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickave/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangangcondensed/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangang/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsancondensed/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsan/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsanvertical/OFL.txt +sha256 473c5e3123102434d05c66a9fc8b19cf285a3bf71cd8a91a41acef44d1448e62 ofl/sevillana/OFL.txt +sha256 b54d54664cddcbf05f5b4ea3aec7e89317eb917cf465920969e7b22361e0f4a5 ofl/seymourone/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/shadowsintolight/OFL.txt +sha256 6a28d4d5d8b4d1ea89ace5a047ac6e0de182acdb8bfa22897bf7702102094f69 ofl/shadowsintolighttwo/OFL.txt +sha256 a6a74417db7c37f69495da556a3eb86a22a784ffb0131e3e0a5a47ce8d7fa5fb ofl/shanti/OFL.txt +sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/share/OFL.txt +sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/sharetechmono/OFL.txt +sha256 87b7d831a81fe8b37e7e6c672937493f710ff81883eee3adec7b5423297efd16 ofl/sharetech/OFL.txt +sha256 ee81f11dd1970e9749afd2a572256f8eefce65532872762a4d7a3d5daa0812c8 ofl/shojumaru/OFL.txt +sha256 fe079cdbbad0f6520eb0a8235bce65b21596dd0c4c5a2694b3325cc87313b618 ofl/shortstack/OFL.txt +sha256 325e890b8b26fe0a683c3ba24c506d902bdd7034d9c47bd7fa2bb72b5433b9c9 ofl/shrikhand/OFL.txt +sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siamreap/OFL.txt +sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siemreap/OFL.txt +sha256 2db02cb5d05d5f8a003ffefce36a32a16520ad4cab9ed90635ff953b583e4e82 ofl/sigmarone/OFL.txt +sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signikanegative/OFL.txt +sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signika/OFL.txt +sha256 61056041809e0ba18bf8b9d637a375ab1c725025428533d74d668d88b2cb8b89 ofl/simonetta/OFL.txt +sha256 397e83b05703a4240be51e2c3a2be1d0d7693d7a2d8b1ff367c26a2b9afc013e ofl/singleday/OFL.txt +sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/sintony/OFL.txt +sha256 ca19ac21c7656f493189093eca52b4239fcc5eacc15ab2e3d67cfbfc0e6e443b ofl/sirinstencil/OFL.txt +sha256 95803fae1b063e592c67b5867f1f36df1df526e5ebf33c6cd4d4afa31a9d5586 ofl/sitara/OFL.txt +sha256 29cca754098468057880970c604e55c4e2bcb8479742e4130c94f2ddc0363f9c ofl/sixcaps/OFL.txt +sha256 593f0bc55c75b673772b378eaee314f128283745c4bb1cfdb9b8012a3b6c46fe ofl/skranji/OFL.txt +sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo13px/OFL.txt +sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo27px/OFL.txt +sha256 d849309d514833fe3d7a610e10f6cd5d99b4f9552bfa304969acbf89c66e4422 ofl/smythe/OFL.txt +sha256 89418a3c7b5726c3f8828a7b7c3f1cad661cf5b7a1be3d2bd9ea243f8d9890c8 ofl/sniglet/OFL.txt +sha256 d3909465d5838d9d1c72b975ff1ed4f410a85dccd43801be525bf2b2bde89f92 ofl/snippet/OFL.txt +sha256 cd354a6084383c50398fae709ebe3a5dd98b947c486c1fe9de5f89caf81f980c ofl/snowburstone/OFL.txt +sha256 455397ca15d39e9178bbbf4b485a29187751d60f7ceb7829980a521d5ab6848d ofl/sofadione/OFL.txt +sha256 336fab6956d78eb34b50cd7bc6b16116c44735fbd0bf9f4def769ca4d8e218a9 ofl/sofia/OFL.txt +sha256 40bd3f35477284c021978816e9d3b8723ff2283fd7065fafaa5bb3004e41b237 ofl/songmyung/OFL.txt +sha256 6cbe0f55c154b5dee71ca4f2418d69e4e916448ef2ab52dc4541197b292efa24 ofl/sonsieone/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/sortsmillgoudy/OFL.txt +sha256 e8d0118fa9d640543e7f6848d1d93f47313c7f56b64f73f37291d859cd5932bf ofl/souliyo/OFL.txt +sha256 cb30d3086a8b3ce0b9e3690bf48d6620402b61160bc658076f95180ccd9e9dae ofl/sourcecodepro/OFL.txt +sha256 fce9f9e2fb268507a89fceea0b3eccc044f39fc3492968a04fd9e04df5ae95fa ofl/sourcesanspro/OFL.txt +sha256 caa697668c3cf3e622753fb202c6c2e29648b94a3499dc7b869a14192e38c553 ofl/sourceserifpro/OFL.txt +sha256 4664e83780a263c53dbab95d3590a5a9db914aeb9a3c78f7e7ad451f9151c998 ofl/spacemono/OFL.txt +sha256 963f283b5410c7df62067a35cd7def0802c583a880e7cd7e326832ec3985ec87 ofl/spectral/OFL.txt +sha256 466aaa3bbd245e4c91c4e82c0828efe9fcfd913f5b020d75f0918516c2540fa8 ofl/spicyrice/OFL.txt +sha256 f938d4076b66a13cf984ce88d92a07ff9802e8ae5e1f4a28cdc43fad122ae611 ofl/spinnaker/OFL.txt +sha256 2c3737ea83b48d48624068d1bbd1d9f8049eb7cf2e1f67435e420375c42e0686 ofl/spirax/OFL.txt +sha256 d2f9c74aba2716333b0a3d283083f9fdc93b2e060c5ae094c79e97e8cba9d7e6 ofl/squadaone/OFL.txt +sha256 f8c2225a5fdb50e2e75f98cf6e69f198571f605f1b7f6f7eacc0947e2fcdbe8d ofl/sreekrushnadevaraya/OFL.txt +sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/sriracha/OFL.txt +sha256 4398885e6b303830d81eea03444aae6fb08a44f41b6acd193c88a2f8cd17606e ofl/srisakdi/OFL.txt +sha256 72afba97d1ac9409a9fd3bb91a02a639427ca1988977909dad273e293a508d7e ofl/staatliches/OFL.txt +sha256 d7577acbab1d70f2e6bd1b21d8f61db189d6aabe6375bc2d96564b8d94031664 ofl/stalemate/OFL.txt +sha256 194e25172d0144f29aff4b6fb2931ff0be0139448a5cd867db37863c9179330a ofl/stalinistone/OFL.txt +sha256 b687f920fe20fe48d8f7709421e5deeb4becea295c80ce62aadcffc54132fa1b ofl/stalinone/OFL.txt +sha256 88d3abd47414e7912d0d2eb44ca89e0b1bd7c43cc2ebe58a8a75281ad75a0f60 ofl/stardosstencil/OFL.txt +sha256 fc1e501d419d84a8f1a800adae092045002d7141241f498237611dbb8ea763d7 ofl/stintultracondensed/OFL.txt +sha256 fbc351e1b5428e4f45834647dc23a5f8aaa3e744e2f4117ca03c44f640b9a3a2 ofl/stintultraexpanded/OFL.txt +sha256 a57810cbca0b4715ae8610dd7a268260cebbdd4fd76d304e371517f828150669 ofl/stoke/OFL.txt +sha256 eb4a7a082fb0e7dde0a8f975d33f02907ccbe40751c8115e790cf3679787d01c ofl/strait/OFL.txt +sha256 c8af073a60e30b55ef5d0e4f80cea168e06dd65bdee7ec18c1ea8de8f7228780 ofl/strong/OFL.txt +sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/stylish/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/sueellenfrancisco/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/suezone/OFL.txt +sha256 c8155eb9337078a9ea9f1e576ac813a03030ca43e2694593e90cd4fee6fce937 ofl/sumana/OFL.txt +sha256 a9b40759b5821a0c2ad07cbd2c2a61dca4b3e222e6370a7d5bfb6b373bf4fb10 ofl/sunflower/OFL.txt +sha256 88dcde7d08e509a3eec64886292a36cbd58ed9bb52f37f91f55656fb9d21ddb8 ofl/supermercadoone/OFL.txt +sha256 c5a77946a56488790364d060628385d51226da62a18f30d2be0181d82ee62b00 ofl/suranna/OFL.txt +sha256 53ad6a474f68ddfc3fe72449de3ede4d3f033b2f24b77833b1d56edf505486d2 ofl/sura/OFL.txt +sha256 42ad5a49e171bec80308a1c9e8e66b03e638b3ea65af7fafa6fc0e42f45e7626 ofl/suravaram/OFL.txt +sha256 b2d4b0c773afce947728ab99fca43b242b7edb0da26fe29f60c7c2d5094ec23e ofl/suwannaphum/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/swankyandmoomoo/OFL.txt +sha256 9b584984f9db0ee30347391a76eff9c0a6b03dc450c3c6afe3757a2cb3a4db87 ofl/tajawal/OFL.txt +sha256 adadb8d5d34fe2218dca0f4a4919a9b6f81dfaebb289e5446ac7b3063d6965e9 ofl/tangerine/OFL.txt +sha256 5625e91bd7c2a45c8b9f59106d587bd025470b462ea901df691defe0099621e1 ofl/taprom/OFL.txt +sha256 6506b2fa2a14259a8859608a6148a4591d67bbaef4d8e1948b43c4078561b0e5 ofl/tauri/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/taviraj/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/teko/OFL.txt +sha256 5a5cf278190adf8be3e9905c2b21460241cb376c600bdfd6eb7aceb66036c4bf ofl/telex/OFL.txt +sha256 cbdf9d35f32a9a2f02fb23c8b89c115a5a8e45feaaa2266920c4594c83dd5ed4 ofl/tenaliramakrishna/OFL.txt +sha256 7b826efb1b74a50b1c1aef0a1ba4530925b993ceadc3016d1d787c68a61649dd ofl/tenorsans/OFL.txt +sha256 d7b108fc1f23fb016a47bb40c63d6f6e04cc35a1edfb991638d7f03621bf7f33 ofl/terminaldosislight/OFL.txt +sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/terminaldosis/OFL.txt +sha256 75798d56e448ba4d2aec3ef5f3c2d805d9c6fe2ba688cd3d7162b2dd31e9cf48 ofl/textmeone/OFL.txt +sha256 9b8405bf5f503f92401fc990f372b34d469670ab60041d5298d1015d3d0b45f8 ofl/thabit/OFL.txt +sha256 59bda6b53e28d388de5eac7bbb8f3e65889dc8489be3d922f95a525354110c0e ofl/tharlon/OFL.txt +sha256 31eb7046f4c80e0f96944c4b40b0772de68b34783b794fc13aab3f54c2ef6d9b ofl/thasadith/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/thegirlnextdoor/OFL.txt +sha256 01af2625d6247ecd2430d1d1603c579f85989d43b2d9129e08e0ac0df8909918 ofl/tienne/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/tillana/OFL.txt +sha256 f2fcbde4b8968400d661e7dcc23052b1885815c8e3b45323b26cbb833352f5de ofl/timmana/OFL.txt +sha256 61be7c29f4835e2be7243db12213d75d53ff028f29f4b493212a1688b1d3a1ba ofl/titanone/OFL.txt +sha256 c0562e066174197902a4a10606673d189f067970ef89c6013943b9cf182aadbc ofl/titilliumweb/OFL.txt +sha256 018d17b5e04c0a217a21979fa6b6d77bd5a143a5f06ea2ea102e427abd1ebfa2 ofl/tradewinds/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/trirong/OFL.txt +sha256 9452ef55386e77bd284ca466587d72802337621d7f10aa700e449753883b3397 ofl/trocchi/OFL.txt +sha256 72a22b6dd29b6b0cdcc98de30701b46532c9f7314ee095df3063d10775dd70c3 ofl/trochut/OFL.txt +sha256 4bed7eaae70cab1bdf2bcf9b1cb562fcd9cc26d1c3533c4ade0ec70516dfb3a4 ofl/trykker/OFL.txt +sha256 a36ab46c8b1a74a480a1c51d6a5af08b643e870c6d247f233bc97c97c8ad2098 ofl/tuffy/OFL.txt +sha256 6fc386ac48a529b85c21f90a6c8d2111c6271b3063f9ddd78e92645db5259510 ofl/tulpenone/OFL.txt +sha256 244ca4ef7b106d8c660e9a00cecf5d581b6a222f447d7d59a8f61711b2ad3400 ofl/uncialantiqua/OFL.txt +sha256 b0316f404a7b291e40921c605160181065791a5010a2d2d5691fc7e28cdbdff2 ofl/underdog/OFL.txt +sha256 9a2d8c5a3de0a6e62432322115dce136139948411dba33cd86525c0a02749fb8 ofl/unicaone/OFL.txt +sha256 99d2f30e282d6174af8ff68597f58bb53c0dcb2b104a4c1b8d19da49021d00d3 ofl/unifrakturcook/OFL.txt +sha256 96199bf9ff12dd471a66911dee95440737b437e7f5a6fd30e9e950c16d66e8df ofl/unifrakturmaguntia/OFL.txt +sha256 bb3e8082faf86b1474a6b042125ef0f83669d28110b72f70416a7587b7b9f144 ofl/unlock/OFL.txt +sha256 99d67fff016522688b8f913377f8ae9f6da6ffeae42cf67c0e5e87cfb0928d33 ofl/unna/OFL.txt +sha256 7344b8b8c97c4f88c0ff8bb72bb024bba72f404be1c740b6596a73ed15d28df3 ofl/vampiroone/OFL.txt +sha256 5a8751bef5a4fc867ae015099267905034345260f14060fa276aac4051ddd8b4 ofl/varela/OFL.txt +sha256 08b6f5cceaefcf2881eb009adeb78edd0fabf9c8f0eaf8b88f07a690222227e6 ofl/varelaround/OFL.txt +sha256 3670ddaf348c62ada22a2f606158dedcd9ca5fd5422a6173d6593204a8f53d4f ofl/varta/OFL.txt +sha256 f1d1a3536fa4b9c71d04fe4c8d8bbfc0cc5c457d6883f45086b04d0bc07ed12d ofl/vastshadow/OFL.txt +sha256 f3758ee70600ecd5450f01ea373204b202e048d0454c9db2d1175c5a5dd1e92f ofl/vesperlibre/OFL.txt +sha256 26e4c39c4905bd7f1068b0bab008f5a4a9b945e2d7fda31e52719fc5aa9655bf ofl/vibur/OFL.txt +sha256 36931b77dd81fa96fffad91b6acb54931e600845eb81f91ecf1b4459012c621a ofl/vidaloka/OFL.txt +sha256 b67eed9578defb59cc4ff4b58428fb816786e499e84cdeafca54723b055c169e ofl/viga/OFL.txt +sha256 fd17f80dc48ff767d91d0dd9f821eebfd8b73ee82f55537a9052b6b0107622c8 ofl/voces/OFL.txt +sha256 1c43e70c49ef7a9b35fcb3758fec8ec5969ff1274c4834b4466b9014f3b9f55f ofl/volkhov/OFL.txt +sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkorn/OFL.txt +sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkornsc/OFL.txt +sha256 8242e7737bce317f7a7f2b887ac87f5bb21305ab96bee92aadc3febac16c35bf ofl/voltaire/OFL.txt +sha256 27d9af34210253e7ca1251fbace86c6f65b40031d6ce1a75493a1b2093631298 ofl/vt323/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/waitingforthesunrise/OFL.txt +sha256 bddfe669338d0dbc24c15ccd31dbf5c101a213da38049c24baca9ccb7fde45a4 ofl/wallpoet/OFL.txt +sha256 9a536e5a3b55c2605b0a553eed383cd3efa42ba48dc45cc6f0635b3c53ee791e ofl/warnes/OFL.txt +sha256 4281c00ab5b8f672fc8d686f48cb886ffbe900c8c9ee22473ca7e72e7cef8fbe ofl/wellfleet/OFL.txt +sha256 aff3cea99bf300b4b29f4dc04867cf9b49d83de8c5ecaf991c446d506b56173e ofl/wendyone/OFL.txt +sha256 5b26c88d163b1430561f53fd3d9021d6057f3c67d25534a5d8d232cfbf8ee2a4 ofl/wireone/OFL.txt +sha256 8d325681662a30f58f57c92ab656dcbc9679deb78a493e4c0eab75321b2df6c3 ofl/worksans/OFL.txt +sha256 f016385cb4b360e7698d22a48c6b58c0634b1ed5c9c17df78515d43887511df6 ofl/yaldevicolombo/OFL.txt +sha256 e75ed24435d1711de0bebfaa621c3eb5564798c88cc0c1d1f8d529bbaae703a9 ofl/yanonekaffeesatz/OFL.txt +sha256 8f2e5a9b52cf355023104413827e17dd7126c5a3656492d45eaa1ceb270aa4f1 ofl/yantramanav/OFL.txt +sha256 71e5222c549d85a1403b6e709b4328b81d7b51ba021b8bd20df89550da80c087 ofl/yatraone/OFL.txt +sha256 d7d8074c2dd46804990c184e25849947ab76c5ac7607fbf3966543455769bb73 ofl/yeonsung/OFL.txt +sha256 ab592d1abca19428b89d851706fa7815ec25139c6affb45d366577ca63fb91b7 ofl/yesevaone/OFL.txt +sha256 a80ee908b60f5bec9c10b135d3da93730e2194107d1f7fd3f61bd8c1a97b3e0c ofl/yesteryear/OFL.txt +sha256 f9e5dfcdb2947c0db70465668706b0617cd052b6f86e582dff8741d9e5cded0a ofl/yinmar/OFL.txt +sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/yrsa/OFL.txt +sha256 5d6517d497bea6116ed35079b30374043f6d90b19c8d97fc4e5ec48520d1e08b ofl/zcoolkuaile/OFL.txt +sha256 f1bce31b817dee01c1e4ef8bc45d8ecb95f01f4abbf0a985007cb3cd0fd8123d ofl/zcoolqingkehuangyou/OFL.txt +sha256 94625b91cba99cf9c8e580febf5e738b2e3c7cde9034a16bcfb7538b672137e5 ofl/zcoolxiaowei/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/zeyada/OFL.txt +sha256 3cbf579238e4eacd90ad67883d971aa346ce8990d658635f78f98d608a6830a2 ofl/zillaslabhighlight/OFL.txt sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntucondensed/LICENCE.txt -sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntumono/LICENCE.txt sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntu/LICENCE.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntumono/LICENCE.txt diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index d7425513fd..1d4013d122 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -8,7 +8,7 @@ GPSD_VERSION = 3.25 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd GPSD_LICENSE = BSD-2-Clause GPSD_LICENSE_FILES = COPYING -GPSD_CPE_ID_VENDOR = gpsd_project +GPSD_CPE_ID_VALID = YES GPSD_SELINUX_MODULES = gpsd GPSD_INSTALL_STAGING = YES diff --git a/package/gr-osmosdr/Config.in b/package/gr-osmosdr/Config.in index d83de75282..72d3c3f481 100644 --- a/package/gr-osmosdr/Config.in +++ b/package/gr-osmosdr/Config.in @@ -36,4 +36,17 @@ config BR2_PACKAGE_GR_OSMOSDR_RFSPACE help Enable RFSPACE Receivers support +config BR2_PACKAGE_GR_OSMOSDR_HACKRF + bool "Osmocom HACKRF support" + depends on !BR2_STATIC_LIBS # hackrf + depends on BR2_TOOLCHAIN_HAS_THREADS # hackrf + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # hackrf + select BR2_PACKAGE_HACKRF + help + Enable Osmocom HACKRF support + +comment "hackrf support needs a toolchain w/ threads, dynamic library, gcc >= 4.9" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + endif diff --git a/package/gr-osmosdr/gr-osmosdr.mk b/package/gr-osmosdr/gr-osmosdr.mk index 6011a67539..8491c005d8 100644 --- a/package/gr-osmosdr/gr-osmosdr.mk +++ b/package/gr-osmosdr/gr-osmosdr.mk @@ -54,4 +54,11 @@ else GR_OSMOSDR_CONF_OPTS += -DENABLE_RFSPACE=OFF endif +ifeq ($(BR2_PACKAGE_GR_OSMOSDR_HACKRF),y) +GR_OSMOSDR_CONF_OPTS += -DENABLE_HACKRF=ON +GR_OSMOSDR_DEPENDENCIES += hackrf +else +GR_OSMOSDR_CONF_OPTS += -DENABLE_HACKRF=OFF +endif + $(eval $(cmake-package)) diff --git a/package/grep/grep.hash b/package/grep/grep.hash index 142d15644d..a0028a4e2f 100644 --- a/package/grep/grep.hash +++ b/package/grep/grep.hash @@ -1,5 +1,5 @@ # Locally calculated after checking signature -# https://ftp.gnu.org/gnu/grep/grep-3.10.tar.xz.sig +# https://ftp.gnu.org/gnu/grep/grep-3.11.tar.xz.sig # using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE -sha256 24efa5b595fb5a7100879b51b8868a0bb87a71c183d02c4c602633b88af6855b grep-3.10.tar.xz +sha256 1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab grep-3.11.tar.xz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/grep/grep.mk b/package/grep/grep.mk index 2f3b405f93..61900bb957 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -4,7 +4,7 @@ # ################################################################################ -GREP_VERSION = 3.10 +GREP_VERSION = 3.11 GREP_SITE = $(BR2_GNU_MIRROR)/grep GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_LICENSE = GPL-3.0+ diff --git a/package/grpc/Config.in b/package/grpc/Config.in index db6425819b..7664948b40 100644 --- a/package/grpc/Config.in +++ b/package/grpc/Config.in @@ -3,8 +3,8 @@ config BR2_PACKAGE_GRPC depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf, re2 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 - depends on !BR2_STATIC_LIBS # protobuf, libabseil-cpp + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # libabseil-cpp, re2 + depends on !BR2_STATIC_LIBS # protobuf, libabseil-cpp, re2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS select BR2_PACKAGE_C_ARES @@ -19,9 +19,9 @@ config BR2_PACKAGE_GRPC http://github.com/grpc/grpc -comment "grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 5" +comment "grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 8" depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS diff --git a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.hash b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.hash index bad8eab91d..0d80c87e06 100644 --- a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.hash +++ b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/gsettings-desktop-schemas/3.36/gsettings-desktop-schemas-3.36.1.sha256sum -sha256 004bdbe43cf8290f2de7d8537e14d8957610ca479a4fa368e34dbd03f03ec9d9 gsettings-desktop-schemas-3.36.1.tar.xz +# From https://download.gnome.org/sources/gsettings-desktop-schemas/45/gsettings-desktop-schemas-45.0.sha256sum +sha256 365c8d04daf79b38c8b3dc9626349a024f9e4befdd31fede74b42f7a9fbe0ae2 gsettings-desktop-schemas-45.0.tar.xz # Hash for license file sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk index b77397d565..b47097b9fe 100644 --- a/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk +++ b/package/gsettings-desktop-schemas/gsettings-desktop-schemas.mk @@ -4,8 +4,8 @@ # ################################################################################ -GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR = 3.36 -GSETTINGS_DESKTOP_SCHEMAS_VERSION = $(GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR).1 +GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR = 45 +GSETTINGS_DESKTOP_SCHEMAS_VERSION = $(GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR).0 GSETTINGS_DESKTOP_SCHEMAS_SOURCE = gsettings-desktop-schemas-$(GSETTINGS_DESKTOP_SCHEMAS_VERSION).tar.xz GSETTINGS_DESKTOP_SCHEMAS_SITE = https://download.gnome.org/sources/gsettings-desktop-schemas/$(GSETTINGS_DESKTOP_SCHEMAS_VERSION_MAJOR) GSETTINGS_DESKTOP_SCHEMAS_INSTALL_STAGING = YES diff --git a/package/gsl/0001-configure.ac-fix-build-on-powerpc.patch b/package/gsl/0001-configure.ac-fix-build-on-powerpc.patch index 13f6da4588..96ab780467 100644 --- a/package/gsl/0001-configure.ac-fix-build-on-powerpc.patch +++ b/package/gsl/0001-configure.ac-fix-build-on-powerpc.patch @@ -1,9 +1,9 @@ From 84e62d57b90b41a0c96bb9fb6ec61ecaac76a1ab Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 5 Nov 2022 21:31:36 +0100 -Subject: [PATCH] configure.ac: fix build on powerpc +Subject: [PATCH] configure.ac: fix build on powerpc and m68k -Fix the following powerpc build failures on: +Fix the following powerpc and m68k build failures on: - musl raised because fpu_control.h is not available: In file included from fp.c:8: @@ -25,6 +25,7 @@ Fixes: - http://autobuild.buildroot.org/results/48403946bb4cda9013e51db59c1b2ffdcf4e2854 Signed-off-by: Fabrice Fontaine +Upstream: https://lists.gnu.org/archive/html/bug-gsl/2022-11/msg00000.html --- configure.ac | 8 ++++++++ 1 file changed, 8 insertions(+) @@ -37,7 +38,7 @@ index bfd9ca30..1ee6dca0 100644 fi fi -+if test "$ac_cv_c_ieee_interface" = "gnuppc" ; then ++if test "$ac_cv_c_ieee_interface" = "gnuppc" -o "$ac_cv_c_ieee_interface" = "gnum68k" ; then + AC_CACHE_CHECK([for _FPU_RC_NEAREST], ac_cv_c__fpu_rc_nearest, + [ac_cv_c__fpu_rc_nearest=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include diff --git a/package/gssdp/Config.in b/package/gssdp/Config.in index 80c5edfffc..5a9317f486 100644 --- a/package/gssdp/Config.in +++ b/package/gssdp/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_GSSDP bool "gssdp" - depends on BR2_USE_WCHAR # glib2, libsoup - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, libsoup - depends on BR2_USE_MMU # glib2, libsoup + depends on BR2_USE_WCHAR # glib2, libsoup3 + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, libsoup3 + depends on BR2_USE_MMU # glib2, libsoup3 select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBSOUP + select BR2_PACKAGE_LIBSOUP3 help GSSDP implements resource discovery and announcement over SSDP. diff --git a/package/gssdp/gssdp.hash b/package/gssdp/gssdp.hash index 34ccfa8044..06bf51090f 100644 --- a/package/gssdp/gssdp.hash +++ b/package/gssdp/gssdp.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.gnome.org/sources/gssdp/1.4/gssdp-1.4.0.1.sha256sum: -sha256 8676849d57fb822b8728856dbadebf3867f89ee47a0ec47a20045d011f431582 gssdp-1.4.0.1.tar.xz +# Hash from: https://download.gnome.org/sources/gssdp/1.6/gssdp-1.6.3.sha256sum: +sha256 2fedb5afdb22cf14d5498a39a773ca89788a250fcf70118783df821e1f3f3446 gssdp-1.6.3.tar.xz # Hash for license file: sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gssdp/gssdp.mk b/package/gssdp/gssdp.mk index f7ebb44acd..3b446496ea 100644 --- a/package/gssdp/gssdp.mk +++ b/package/gssdp/gssdp.mk @@ -4,15 +4,19 @@ # ################################################################################ -GSSDP_VERSION_MAJOR = 1.4 -GSSDP_VERSION = $(GSSDP_VERSION_MAJOR).0.1 +GSSDP_VERSION_MAJOR = 1.6 +GSSDP_VERSION = $(GSSDP_VERSION_MAJOR).3 GSSDP_SOURCE = gssdp-$(GSSDP_VERSION).tar.xz GSSDP_SITE = https://download.gnome.org/sources/gssdp/$(GSSDP_VERSION_MAJOR) GSSDP_LICENSE = LGPL-2.1+ GSSDP_LICENSE_FILES = COPYING GSSDP_INSTALL_STAGING = YES -GSSDP_DEPENDENCIES = host-pkgconf libglib2 libsoup -GSSDP_CONF_OPTS = -Dexamples=false -Dgtk_doc=false -Dsniffer=false +GSSDP_DEPENDENCIES = host-pkgconf libglib2 libsoup3 +GSSDP_CONF_OPTS = \ + -Dexamples=false \ + -Dgtk_doc=false \ + -Dmanpages=false \ + -Dsniffer=false ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) GSSDP_CONF_OPTS += -Dintrospection=true -Dvapi=true diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index 5878991b5b..86f8c772c9 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.22.6.tar.xz.sha256sum -sha256 223833c42518ad7eb1923bb4dd3726809f59a66d6e9aaaa69cb29ad0750c8758 gst-omx-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.22.9.tar.xz.sha256sum +sha256 9362d6117985d09dcf6e27bdaef377dc08efb7df01d00101d04fb644addac61e gst-omx-1.22.9.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index 3d2ba90290..32891bafa6 100644 --- a/package/gstreamer1/gst-omx/gst-omx.mk +++ b/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST_OMX_VERSION = 1.22.6 +GST_OMX_VERSION = 1.22.9 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx diff --git a/package/gstreamer1/gst1-devtools/gst1-devtools.hash b/package/gstreamer1/gst1-devtools/gst1-devtools.hash index 9eada91614..6cf7c9597f 100644 --- a/package/gstreamer1/gst1-devtools/gst1-devtools.hash +++ b/package/gstreamer1/gst1-devtools/gst1-devtools.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.22.6.tar.xz.sha256sum -sha256 8928560efaf16137c30285e718708e5d0bab0777eb4ef8127e0274e120d3d86b gst-devtools-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.22.9.tar.xz.sha256sum +sha256 02e29400b44e9cc603aa6444dee5726b57edabef6455e6d0921ffed6f13840ee gst-devtools-1.22.9.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 validate/COPYING diff --git a/package/gstreamer1/gst1-devtools/gst1-devtools.mk b/package/gstreamer1/gst1-devtools/gst1-devtools.mk index 8608c2f75b..0c085b8b42 100644 --- a/package/gstreamer1/gst1-devtools/gst1-devtools.mk +++ b/package/gstreamer1/gst1-devtools/gst1-devtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_DEVTOOLS_VERSION = 1.22.6 +GST1_DEVTOOLS_VERSION = 1.22.9 GST1_DEVTOOLS_SOURCE = gst-devtools-$(GST1_DEVTOOLS_VERSION).tar.xz GST1_DEVTOOLS_SITE = https://gstreamer.freedesktop.org/src/gst-devtools GST1_DEVTOOLS_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index 251e924792..b5bc84d672 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.22.6.tar.xz.sha256sum -sha256 7789e6408388a25f23cbf948cfc5c6230d735bbcd8b7f37f4a01c9e348a1e3a7 gst-libav-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.22.9.tar.xz.sha256sum +sha256 192f7d27d21c1e7c72c339a2647a9b0c247fedc62ea5029115f8c3e22ebb87d8 gst-libav-1.22.9.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 23d4a29799..1b872b7fa9 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.22.6 +GST1_LIBAV_VERSION = 1.22.9 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gst1-plugins-bad/0001-webrtcdsp-Update-code-for-webrtc-audio-processing-1.patch b/package/gstreamer1/gst1-plugins-bad/0001-webrtcdsp-Update-code-for-webrtc-audio-processing-1.patch new file mode 100644 index 0000000000..a2ab0ef6d8 --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bad/0001-webrtcdsp-Update-code-for-webrtc-audio-processing-1.patch @@ -0,0 +1,883 @@ +From d5755744c3e2b70e9f04704ae9d18b928d9fa456 Mon Sep 17 00:00:00 2001 +From: Arun Raghavan +Date: Wed, 2 Dec 2020 18:31:44 -0500 +Subject: [PATCH] webrtcdsp: Update code for webrtc-audio-processing-1 + +Updated API usage appropriately, and now we have a versioned package to +track breaking vs. non-breaking updates. + +Deprecates a number of properties (and we have to plug in our own values +for related enums which are now gone): + + * echo-suprression-level + * experimental-agc + * extended-filter + * delay-agnostic + * voice-detection-frame-size-ms + * voice-detection-likelihood + +Part-of: +Signed-off-by: James Hilliard +Upstream: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/d5755744c3e2b70e9f04704ae9d18b928d9fa456 +--- + .../ext/webrtcdsp/gstwebrtcdsp.cpp | 271 +++++++----------- + .../ext/webrtcdsp/gstwebrtcechoprobe.cpp | 87 +++--- + .../ext/webrtcdsp/gstwebrtcechoprobe.h | 9 +- + .../gst-plugins-bad/ext/webrtcdsp/meson.build | 4 +- + 4 files changed, 164 insertions(+), 207 deletions(-) + +diff --git a/ext/webrtcdsp/gstwebrtcdsp.cpp b/ext/webrtcdsp/gstwebrtcdsp.cpp +index 7ee09488fb..c9a7cdae2f 100644 +--- a/ext/webrtcdsp/gstwebrtcdsp.cpp ++++ b/ext/webrtcdsp/gstwebrtcdsp.cpp +@@ -71,9 +71,7 @@ + #include "gstwebrtcdsp.h" + #include "gstwebrtcechoprobe.h" + +-#include +-#include +-#include ++#include + + GST_DEBUG_CATEGORY (webrtc_dsp_debug); + #define GST_CAT_DEFAULT (webrtc_dsp_debug) +@@ -82,10 +80,9 @@ GST_DEBUG_CATEGORY (webrtc_dsp_debug); + #define DEFAULT_COMPRESSION_GAIN_DB 9 + #define DEFAULT_STARTUP_MIN_VOLUME 12 + #define DEFAULT_LIMITER TRUE +-#define DEFAULT_GAIN_CONTROL_MODE webrtc::GainControl::kAdaptiveDigital ++#define DEFAULT_GAIN_CONTROL_MODE webrtc::AudioProcessing::Config::GainController1::Mode::kAdaptiveDigital + #define DEFAULT_VOICE_DETECTION FALSE + #define DEFAULT_VOICE_DETECTION_FRAME_SIZE_MS 10 +-#define DEFAULT_VOICE_DETECTION_LIKELIHOOD webrtc::VoiceDetection::kLowLikelihood + + static GstStaticPadTemplate gst_webrtc_dsp_sink_template = + GST_STATIC_PAD_TEMPLATE ("sink", +@@ -119,7 +116,7 @@ GST_STATIC_PAD_TEMPLATE ("src", + "channels = (int) [1, MAX]") + ); + +-typedef webrtc::EchoCancellation::SuppressionLevel GstWebrtcEchoSuppressionLevel; ++typedef int GstWebrtcEchoSuppressionLevel; + #define GST_TYPE_WEBRTC_ECHO_SUPPRESSION_LEVEL \ + (gst_webrtc_echo_suppression_level_get_type ()) + static GType +@@ -127,10 +124,9 @@ gst_webrtc_echo_suppression_level_get_type (void) + { + static GType suppression_level_type = 0; + static const GEnumValue level_types[] = { +- {webrtc::EchoCancellation::kLowSuppression, "Low Suppression", "low"}, +- {webrtc::EchoCancellation::kModerateSuppression, +- "Moderate Suppression", "moderate"}, +- {webrtc::EchoCancellation::kHighSuppression, "high Suppression", "high"}, ++ {1, "Low Suppression", "low"}, ++ {2, "Moderate Suppression", "moderate"}, ++ {3, "high Suppression", "high"}, + {0, NULL, NULL} + }; + +@@ -141,7 +137,7 @@ gst_webrtc_echo_suppression_level_get_type (void) + return suppression_level_type; + } + +-typedef webrtc::NoiseSuppression::Level GstWebrtcNoiseSuppressionLevel; ++typedef webrtc::AudioProcessing::Config::NoiseSuppression::Level GstWebrtcNoiseSuppressionLevel; + #define GST_TYPE_WEBRTC_NOISE_SUPPRESSION_LEVEL \ + (gst_webrtc_noise_suppression_level_get_type ()) + static GType +@@ -149,10 +145,10 @@ gst_webrtc_noise_suppression_level_get_type (void) + { + static GType suppression_level_type = 0; + static const GEnumValue level_types[] = { +- {webrtc::NoiseSuppression::kLow, "Low Suppression", "low"}, +- {webrtc::NoiseSuppression::kModerate, "Moderate Suppression", "moderate"}, +- {webrtc::NoiseSuppression::kHigh, "High Suppression", "high"}, +- {webrtc::NoiseSuppression::kVeryHigh, "Very High Suppression", ++ {webrtc::AudioProcessing::Config::NoiseSuppression::Level::kLow, "Low Suppression", "low"}, ++ {webrtc::AudioProcessing::Config::NoiseSuppression::Level::kModerate, "Moderate Suppression", "moderate"}, ++ {webrtc::AudioProcessing::Config::NoiseSuppression::Level::kHigh, "High Suppression", "high"}, ++ {webrtc::AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh, "Very High Suppression", + "very-high"}, + {0, NULL, NULL} + }; +@@ -164,7 +160,7 @@ gst_webrtc_noise_suppression_level_get_type (void) + return suppression_level_type; + } + +-typedef webrtc::GainControl::Mode GstWebrtcGainControlMode; ++typedef webrtc::AudioProcessing::Config::GainController1::Mode GstWebrtcGainControlMode; + #define GST_TYPE_WEBRTC_GAIN_CONTROL_MODE \ + (gst_webrtc_gain_control_mode_get_type ()) + static GType +@@ -172,8 +168,9 @@ gst_webrtc_gain_control_mode_get_type (void) + { + static GType gain_control_mode_type = 0; + static const GEnumValue mode_types[] = { +- {webrtc::GainControl::kAdaptiveDigital, "Adaptive Digital", "adaptive-digital"}, +- {webrtc::GainControl::kFixedDigital, "Fixed Digital", "fixed-digital"}, ++ {webrtc::AudioProcessing::Config::GainController1::kAdaptiveDigital, "Adaptive Digital", "adaptive-digital"}, ++ {webrtc::AudioProcessing::Config::GainController1::kFixedDigital, "Fixed Digital", "fixed-digital"}, ++ {webrtc::AudioProcessing::Config::GainController1::kAdaptiveAnalog, "Adaptive Analog", "adaptive-analog"}, + {0, NULL, NULL} + }; + +@@ -184,7 +181,7 @@ gst_webrtc_gain_control_mode_get_type (void) + return gain_control_mode_type; + } + +-typedef webrtc::VoiceDetection::Likelihood GstWebrtcVoiceDetectionLikelihood; ++typedef int GstWebrtcVoiceDetectionLikelihood; + #define GST_TYPE_WEBRTC_VOICE_DETECTION_LIKELIHOOD \ + (gst_webrtc_voice_detection_likelihood_get_type ()) + static GType +@@ -192,10 +189,10 @@ gst_webrtc_voice_detection_likelihood_get_type (void) + { + static GType likelihood_type = 0; + static const GEnumValue likelihood_types[] = { +- {webrtc::VoiceDetection::kVeryLowLikelihood, "Very Low Likelihood", "very-low"}, +- {webrtc::VoiceDetection::kLowLikelihood, "Low Likelihood", "low"}, +- {webrtc::VoiceDetection::kModerateLikelihood, "Moderate Likelihood", "moderate"}, +- {webrtc::VoiceDetection::kHighLikelihood, "High Likelihood", "high"}, ++ {1, "Very Low Likelihood", "very-low"}, ++ {2, "Low Likelihood", "low"}, ++ {3, "Moderate Likelihood", "moderate"}, ++ {4, "High Likelihood", "high"}, + {0, NULL, NULL} + }; + +@@ -227,6 +224,7 @@ enum + PROP_VOICE_DETECTION, + PROP_VOICE_DETECTION_FRAME_SIZE_MS, + PROP_VOICE_DETECTION_LIKELIHOOD, ++ PROP_EXTRA_DELAY_MS, + }; + + /** +@@ -248,7 +246,7 @@ struct _GstWebrtcDsp + /* Protected by the stream lock */ + GstAdapter *adapter; + GstPlanarAudioAdapter *padapter; +- webrtc::AudioProcessing * apm; ++ webrtc::AudioProcessing *apm; + + /* Protected by the object lock */ + gchar *probe_name; +@@ -257,21 +255,15 @@ struct _GstWebrtcDsp + /* Properties */ + gboolean high_pass_filter; + gboolean echo_cancel; +- webrtc::EchoCancellation::SuppressionLevel echo_suppression_level; + gboolean noise_suppression; +- webrtc::NoiseSuppression::Level noise_suppression_level; ++ webrtc::AudioProcessing::Config::NoiseSuppression::Level noise_suppression_level; + gboolean gain_control; +- gboolean experimental_agc; +- gboolean extended_filter; +- gboolean delay_agnostic; + gint target_level_dbfs; + gint compression_gain_db; + gint startup_min_volume; + gboolean limiter; +- webrtc::GainControl::Mode gain_control_mode; ++ webrtc::AudioProcessing::Config::GainController1::Mode gain_control_mode; + gboolean voice_detection; +- gint voice_detection_frame_size_ms; +- webrtc::VoiceDetection::Likelihood voice_detection_likelihood; + }; + + G_DEFINE_TYPE_WITH_CODE (GstWebrtcDsp, gst_webrtc_dsp, GST_TYPE_AUDIO_FILTER, +@@ -376,9 +368,9 @@ gst_webrtc_dsp_analyze_reverse_stream (GstWebrtcDsp * self, + GstClockTime rec_time) + { + GstWebrtcEchoProbe *probe = NULL; +- webrtc::AudioProcessing * apm; +- webrtc::AudioFrame frame; ++ webrtc::AudioProcessing *apm; + GstBuffer *buf = NULL; ++ GstAudioBuffer abuf; + GstFlowReturn ret = GST_FLOW_OK; + gint err, delay; + +@@ -391,48 +383,44 @@ gst_webrtc_dsp_analyze_reverse_stream (GstWebrtcDsp * self, + if (!probe) + return GST_FLOW_OK; + ++ webrtc::StreamConfig config (probe->info.rate, probe->info.channels, ++ false); + apm = self->apm; + +- if (self->delay_agnostic) +- rec_time = GST_CLOCK_TIME_NONE; +- +-again: +- delay = gst_webrtc_echo_probe_read (probe, rec_time, (gpointer) &frame, &buf); ++ delay = gst_webrtc_echo_probe_read (probe, rec_time, &buf); + apm->set_stream_delay_ms (delay); + ++ g_return_val_if_fail (buf != NULL, GST_FLOW_ERROR); ++ + if (delay < 0) + goto done; + +- if (frame.sample_rate_hz_ != self->info.rate) { ++ if (probe->info.rate != self->info.rate) { + GST_ELEMENT_ERROR (self, STREAM, FORMAT, + ("Echo Probe has rate %i , while the DSP is running at rate %i," + " use a caps filter to ensure those are the same.", +- frame.sample_rate_hz_, self->info.rate), (NULL)); ++ probe->info.rate, self->info.rate), (NULL)); + ret = GST_FLOW_ERROR; + goto done; + } + +- if (buf) { +- webrtc::StreamConfig config (frame.sample_rate_hz_, frame.num_channels_, +- false); +- GstAudioBuffer abuf; +- float * const * data; ++ gst_audio_buffer_map (&abuf, &self->info, buf, GST_MAP_READWRITE); ++ ++ if (probe->interleaved) { ++ int16_t * const data = (int16_t * const) abuf.planes[0]; + +- gst_audio_buffer_map (&abuf, &self->info, buf, GST_MAP_READWRITE); +- data = (float * const *) abuf.planes; + if ((err = apm->ProcessReverseStream (data, config, config, data)) < 0) + GST_WARNING_OBJECT (self, "Reverse stream analyses failed: %s.", + webrtc_error_to_string (err)); +- gst_audio_buffer_unmap (&abuf); +- gst_buffer_replace (&buf, NULL); + } else { +- if ((err = apm->AnalyzeReverseStream (&frame)) < 0) ++ float * const * data = (float * const *) abuf.planes; ++ ++ if ((err = apm->ProcessReverseStream (data, config, config, data)) < 0) + GST_WARNING_OBJECT (self, "Reverse stream analyses failed: %s.", + webrtc_error_to_string (err)); + } + +- if (self->delay_agnostic) +- goto again; ++ gst_audio_buffer_unmap (&abuf); + + done: + gst_object_unref (probe); +@@ -443,16 +431,14 @@ done: + + static void + gst_webrtc_vad_post_activity (GstWebrtcDsp *self, GstBuffer *buffer, +- gboolean stream_has_voice) ++ gboolean stream_has_voice, guint8 level) + { + GstClockTime timestamp = GST_BUFFER_PTS (buffer); + GstBaseTransform *trans = GST_BASE_TRANSFORM_CAST (self); + GstStructure *s; + GstClockTime stream_time; + GstAudioLevelMeta *meta; +- guint8 level; + +- level = self->apm->level_estimator ()->RMS (); + meta = gst_buffer_get_audio_level_meta (buffer); + if (meta) { + meta->voice_activity = stream_has_voice; +@@ -481,6 +467,7 @@ gst_webrtc_dsp_process_stream (GstWebrtcDsp * self, + { + GstAudioBuffer abuf; + webrtc::AudioProcessing * apm = self->apm; ++ webrtc::StreamConfig config (self->info.rate, self->info.channels, false); + gint err; + + if (!gst_audio_buffer_map (&abuf, &self->info, buffer, +@@ -490,19 +477,10 @@ gst_webrtc_dsp_process_stream (GstWebrtcDsp * self, + } + + if (self->interleaved) { +- webrtc::AudioFrame frame; +- frame.num_channels_ = self->info.channels; +- frame.sample_rate_hz_ = self->info.rate; +- frame.samples_per_channel_ = self->period_samples; +- +- memcpy (frame.data_, abuf.planes[0], self->period_size); +- err = apm->ProcessStream (&frame); +- if (err >= 0) +- memcpy (abuf.planes[0], frame.data_, self->period_size); ++ int16_t * const data = (int16_t * const) abuf.planes[0]; ++ err = apm->ProcessStream (data, config, config, data); + } else { + float * const * data = (float * const *) abuf.planes; +- webrtc::StreamConfig config (self->info.rate, self->info.channels, false); +- + err = apm->ProcessStream (data, config, config, data); + } + +@@ -511,10 +489,13 @@ gst_webrtc_dsp_process_stream (GstWebrtcDsp * self, + webrtc_error_to_string (err)); + } else { + if (self->voice_detection) { +- gboolean stream_has_voice = apm->voice_detection ()->stream_has_voice (); ++ webrtc::AudioProcessingStats stats = apm->GetStatistics (); ++ gboolean stream_has_voice = stats.voice_detected && *stats.voice_detected; ++ // The meta takes the value as -dbov, so we negate ++ guint8 level = stats.output_rms_dbfs ? (guint8) -(*stats.output_rms_dbfs) : 127; + + if (stream_has_voice != self->stream_has_voice) +- gst_webrtc_vad_post_activity (self, buffer, stream_has_voice); ++ gst_webrtc_vad_post_activity (self, buffer, stream_has_voice, level); + + self->stream_has_voice = stream_has_voice; + } +@@ -583,21 +564,9 @@ static gboolean + gst_webrtc_dsp_start (GstBaseTransform * btrans) + { + GstWebrtcDsp *self = GST_WEBRTC_DSP (btrans); +- webrtc::Config config; + + GST_OBJECT_LOCK (self); + +- config.Set < webrtc::ExtendedFilter > +- (new webrtc::ExtendedFilter (self->extended_filter)); +- config.Set < webrtc::ExperimentalAgc > +- (new webrtc::ExperimentalAgc (self->experimental_agc, self->startup_min_volume)); +- config.Set < webrtc::DelayAgnostic > +- (new webrtc::DelayAgnostic (self->delay_agnostic)); +- +- /* TODO Intelligibility enhancer, Beamforming, etc. */ +- +- self->apm = webrtc::AudioProcessing::Create (config); +- + if (self->echo_cancel) { + self->probe = gst_webrtc_acquire_echo_probe (self->probe_name); + +@@ -618,10 +587,8 @@ static gboolean + gst_webrtc_dsp_setup (GstAudioFilter * filter, const GstAudioInfo * info) + { + GstWebrtcDsp *self = GST_WEBRTC_DSP (filter); +- webrtc::AudioProcessing * apm; +- webrtc::ProcessingConfig pconfig; ++ webrtc::AudioProcessing::Config config; + GstAudioInfo probe_info = *info; +- gint err = 0; + + GST_LOG_OBJECT (self, "setting format to %s with %i Hz and %i channels", + info->finfo->description, info->rate, info->channels); +@@ -633,7 +600,7 @@ gst_webrtc_dsp_setup (GstAudioFilter * filter, const GstAudioInfo * info) + + self->info = *info; + self->interleaved = (info->layout == GST_AUDIO_LAYOUT_INTERLEAVED); +- apm = self->apm; ++ self->apm = webrtc::AudioProcessingBuilder().Create(); + + if (!self->interleaved) + gst_planar_audio_adapter_configure (self->padapter, info); +@@ -642,8 +609,7 @@ gst_webrtc_dsp_setup (GstAudioFilter * filter, const GstAudioInfo * info) + self->period_samples = info->rate / 100; + self->period_size = self->period_samples * info->bpf; + +- if (self->interleaved && +- (webrtc::AudioFrame::kMaxDataSizeSamples * 2) < self->period_size) ++ if (self->interleaved && (self->period_size > MAX_DATA_SIZE_SAMPLES * 2)) + goto period_too_big; + + if (self->probe) { +@@ -658,40 +624,31 @@ gst_webrtc_dsp_setup (GstAudioFilter * filter, const GstAudioInfo * info) + GST_WEBRTC_ECHO_PROBE_UNLOCK (self->probe); + } + +- /* input stream */ +- pconfig.streams[webrtc::ProcessingConfig::kInputStream] = +- webrtc::StreamConfig (info->rate, info->channels, false); +- /* output stream */ +- pconfig.streams[webrtc::ProcessingConfig::kOutputStream] = +- webrtc::StreamConfig (info->rate, info->channels, false); +- /* reverse input stream */ +- pconfig.streams[webrtc::ProcessingConfig::kReverseInputStream] = +- webrtc::StreamConfig (probe_info.rate, probe_info.channels, false); +- /* reverse output stream */ +- pconfig.streams[webrtc::ProcessingConfig::kReverseOutputStream] = +- webrtc::StreamConfig (probe_info.rate, probe_info.channels, false); +- +- if ((err = apm->Initialize (pconfig)) < 0) +- goto initialize_failed; +- + /* Setup Filters */ ++ // TODO: expose pre_amplifier ++ + if (self->high_pass_filter) { + GST_DEBUG_OBJECT (self, "Enabling High Pass filter"); +- apm->high_pass_filter ()->Enable (true); ++ config.high_pass_filter.enabled = true; + } + + if (self->echo_cancel) { + GST_DEBUG_OBJECT (self, "Enabling Echo Cancellation"); +- apm->echo_cancellation ()->enable_drift_compensation (false); +- apm->echo_cancellation () +- ->set_suppression_level (self->echo_suppression_level); +- apm->echo_cancellation ()->Enable (true); ++ config.echo_canceller.enabled = true; + } + + if (self->noise_suppression) { + GST_DEBUG_OBJECT (self, "Enabling Noise Suppression"); +- apm->noise_suppression ()->set_level (self->noise_suppression_level); +- apm->noise_suppression ()->Enable (true); ++ config.noise_suppression.enabled = true; ++ config.noise_suppression.level = self->noise_suppression_level; ++ } ++ ++ // TODO: expose transient suppression ++ ++ if (self->voice_detection) { ++ GST_DEBUG_OBJECT (self, "Enabling Voice Activity Detection"); ++ config.voice_detection.enabled = true; ++ self->stream_has_voice = FALSE; + } + + if (self->gain_control) { +@@ -706,30 +663,17 @@ gst_webrtc_dsp_setup (GstAudioFilter * filter, const GstAudioInfo * info) + + g_type_class_unref (mode_class); + +- apm->gain_control ()->set_mode (self->gain_control_mode); +- apm->gain_control ()->set_target_level_dbfs (self->target_level_dbfs); +- apm->gain_control ()->set_compression_gain_db (self->compression_gain_db); +- apm->gain_control ()->enable_limiter (self->limiter); +- apm->gain_control ()->Enable (true); ++ config.gain_controller1.enabled = true; ++ config.gain_controller1.target_level_dbfs = self->target_level_dbfs; ++ config.gain_controller1.compression_gain_db = self->compression_gain_db; ++ config.gain_controller1.enable_limiter = self->limiter; ++ config.level_estimation.enabled = true; + } + +- if (self->voice_detection) { +- GEnumClass *likelihood_class = (GEnumClass *) +- g_type_class_ref (GST_TYPE_WEBRTC_VOICE_DETECTION_LIKELIHOOD); +- GST_DEBUG_OBJECT (self, "Enabling Voice Activity Detection, frame size " +- "%d milliseconds, likelihood: %s", self->voice_detection_frame_size_ms, +- g_enum_get_value (likelihood_class, +- self->voice_detection_likelihood)->value_name); +- g_type_class_unref (likelihood_class); ++ // TODO: expose gain controller 2 ++ // TODO: expose residual echo detector + +- self->stream_has_voice = FALSE; +- +- apm->voice_detection ()->Enable (true); +- apm->voice_detection ()->set_likelihood (self->voice_detection_likelihood); +- apm->voice_detection ()->set_frame_size_ms ( +- self->voice_detection_frame_size_ms); +- apm->level_estimator ()->Enable (true); +- } ++ self->apm->ApplyConfig (config); + + GST_OBJECT_UNLOCK (self); + +@@ -738,9 +682,9 @@ gst_webrtc_dsp_setup (GstAudioFilter * filter, const GstAudioInfo * info) + period_too_big: + GST_OBJECT_UNLOCK (self); + GST_WARNING_OBJECT (self, "webrtcdsp format produce too big period " +- "(maximum is %" G_GSIZE_FORMAT " samples and we have %u samples), " ++ "(maximum is %d samples and we have %u samples), " + "reduce the number of channels or the rate.", +- webrtc::AudioFrame::kMaxDataSizeSamples, self->period_size / 2); ++ MAX_DATA_SIZE_SAMPLES, self->period_size / 2); + return FALSE; + + probe_has_wrong_rate: +@@ -751,14 +695,6 @@ probe_has_wrong_rate: + " use a caps filter to ensure those are the same.", + probe_info.rate, info->rate), (NULL)); + return FALSE; +- +-initialize_failed: +- GST_OBJECT_UNLOCK (self); +- GST_ELEMENT_ERROR (self, LIBRARY, INIT, +- ("Failed to initialize WebRTC Audio Processing library"), +- ("webrtc::AudioProcessing::Initialize() failed: %s", +- webrtc_error_to_string (err))); +- return FALSE; + } + + static gboolean +@@ -803,8 +739,6 @@ gst_webrtc_dsp_set_property (GObject * object, + self->echo_cancel = g_value_get_boolean (value); + break; + case PROP_ECHO_SUPPRESSION_LEVEL: +- self->echo_suppression_level = +- (GstWebrtcEchoSuppressionLevel) g_value_get_enum (value); + break; + case PROP_NOISE_SUPPRESSION: + self->noise_suppression = g_value_get_boolean (value); +@@ -817,13 +751,10 @@ gst_webrtc_dsp_set_property (GObject * object, + self->gain_control = g_value_get_boolean (value); + break; + case PROP_EXPERIMENTAL_AGC: +- self->experimental_agc = g_value_get_boolean (value); + break; + case PROP_EXTENDED_FILTER: +- self->extended_filter = g_value_get_boolean (value); + break; + case PROP_DELAY_AGNOSTIC: +- self->delay_agnostic = g_value_get_boolean (value); + break; + case PROP_TARGET_LEVEL_DBFS: + self->target_level_dbfs = g_value_get_int (value); +@@ -845,11 +776,8 @@ gst_webrtc_dsp_set_property (GObject * object, + self->voice_detection = g_value_get_boolean (value); + break; + case PROP_VOICE_DETECTION_FRAME_SIZE_MS: +- self->voice_detection_frame_size_ms = g_value_get_int (value); + break; + case PROP_VOICE_DETECTION_LIKELIHOOD: +- self->voice_detection_likelihood = +- (GstWebrtcVoiceDetectionLikelihood) g_value_get_enum (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); +@@ -876,7 +804,7 @@ gst_webrtc_dsp_get_property (GObject * object, + g_value_set_boolean (value, self->echo_cancel); + break; + case PROP_ECHO_SUPPRESSION_LEVEL: +- g_value_set_enum (value, self->echo_suppression_level); ++ g_value_set_enum (value, (GstWebrtcEchoSuppressionLevel) 2); + break; + case PROP_NOISE_SUPPRESSION: + g_value_set_boolean (value, self->noise_suppression); +@@ -888,13 +816,13 @@ gst_webrtc_dsp_get_property (GObject * object, + g_value_set_boolean (value, self->gain_control); + break; + case PROP_EXPERIMENTAL_AGC: +- g_value_set_boolean (value, self->experimental_agc); ++ g_value_set_boolean (value, false); + break; + case PROP_EXTENDED_FILTER: +- g_value_set_boolean (value, self->extended_filter); ++ g_value_set_boolean (value, false); + break; + case PROP_DELAY_AGNOSTIC: +- g_value_set_boolean (value, self->delay_agnostic); ++ g_value_set_boolean (value, false); + break; + case PROP_TARGET_LEVEL_DBFS: + g_value_set_int (value, self->target_level_dbfs); +@@ -915,10 +843,10 @@ gst_webrtc_dsp_get_property (GObject * object, + g_value_set_boolean (value, self->voice_detection); + break; + case PROP_VOICE_DETECTION_FRAME_SIZE_MS: +- g_value_set_int (value, self->voice_detection_frame_size_ms); ++ g_value_set_int (value, 0); + break; + case PROP_VOICE_DETECTION_LIKELIHOOD: +- g_value_set_enum (value, self->voice_detection_likelihood); ++ g_value_set_enum (value, 2); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); +@@ -1005,13 +933,13 @@ gst_webrtc_dsp_class_init (GstWebrtcDspClass * klass) + + g_object_class_install_property (gobject_class, + PROP_ECHO_SUPPRESSION_LEVEL, +- g_param_spec_enum ("echo-suppression-level", "Echo Suppression Level", ++ g_param_spec_enum ("echo-suppression-level", ++ "Echo Suppression Level (does nothing)", + "Controls the aggressiveness of the suppressor. A higher level " + "trades off double-talk performance for increased echo suppression.", +- GST_TYPE_WEBRTC_ECHO_SUPPRESSION_LEVEL, +- webrtc::EchoCancellation::kModerateSuppression, ++ GST_TYPE_WEBRTC_ECHO_SUPPRESSION_LEVEL, 2, + (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | +- G_PARAM_CONSTRUCT))); ++ G_PARAM_CONSTRUCT | G_PARAM_DEPRECATED))); + + g_object_class_install_property (gobject_class, + PROP_NOISE_SUPPRESSION, +@@ -1026,7 +954,7 @@ gst_webrtc_dsp_class_init (GstWebrtcDspClass * klass) + "Controls the aggressiveness of the suppression. Increasing the " + "level will reduce the noise level at the expense of a higher " + "speech distortion.", GST_TYPE_WEBRTC_NOISE_SUPPRESSION_LEVEL, +- webrtc::EchoCancellation::kModerateSuppression, ++ webrtc::AudioProcessing::Config::NoiseSuppression::Level::kModerate, + (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | + G_PARAM_CONSTRUCT))); + +@@ -1039,24 +967,26 @@ gst_webrtc_dsp_class_init (GstWebrtcDspClass * klass) + + g_object_class_install_property (gobject_class, + PROP_EXPERIMENTAL_AGC, +- g_param_spec_boolean ("experimental-agc", "Experimental AGC", ++ g_param_spec_boolean ("experimental-agc", ++ "Experimental AGC (does nothing)", + "Enable or disable experimental automatic gain control.", + FALSE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | +- G_PARAM_CONSTRUCT))); ++ G_PARAM_CONSTRUCT | G_PARAM_DEPRECATED))); + + g_object_class_install_property (gobject_class, + PROP_EXTENDED_FILTER, + g_param_spec_boolean ("extended-filter", "Extended Filter", + "Enable or disable the extended filter.", + TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | +- G_PARAM_CONSTRUCT))); ++ G_PARAM_CONSTRUCT | G_PARAM_DEPRECATED))); + + g_object_class_install_property (gobject_class, + PROP_DELAY_AGNOSTIC, +- g_param_spec_boolean ("delay-agnostic", "Delay Agnostic", ++ g_param_spec_boolean ("delay-agnostic", ++ "Delay agnostic mode (does nothing)", + "Enable or disable the delay agnostic mode.", + FALSE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | +- G_PARAM_CONSTRUCT))); ++ G_PARAM_CONSTRUCT | G_PARAM_DEPRECATED))); + + g_object_class_install_property (gobject_class, + PROP_TARGET_LEVEL_DBFS, +@@ -1111,24 +1041,23 @@ gst_webrtc_dsp_class_init (GstWebrtcDspClass * klass) + g_object_class_install_property (gobject_class, + PROP_VOICE_DETECTION_FRAME_SIZE_MS, + g_param_spec_int ("voice-detection-frame-size-ms", +- "Voice Detection Frame Size Milliseconds", ++ "Voice detection frame size in milliseconds (does nothing)", + "Sets the |size| of the frames in ms on which the VAD will operate. " + "Larger frames will improve detection accuracy, but reduce the " + "frequency of updates", + 10, 30, DEFAULT_VOICE_DETECTION_FRAME_SIZE_MS, + (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | +- G_PARAM_CONSTRUCT))); ++ G_PARAM_CONSTRUCT | G_PARAM_DEPRECATED))); + + g_object_class_install_property (gobject_class, + PROP_VOICE_DETECTION_LIKELIHOOD, + g_param_spec_enum ("voice-detection-likelihood", +- "Voice Detection Likelihood", ++ "Voice detection likelihood (does nothing)", + "Specifies the likelihood that a frame will be declared to contain " + "voice.", +- GST_TYPE_WEBRTC_VOICE_DETECTION_LIKELIHOOD, +- DEFAULT_VOICE_DETECTION_LIKELIHOOD, ++ GST_TYPE_WEBRTC_VOICE_DETECTION_LIKELIHOOD, 2, + (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | +- G_PARAM_CONSTRUCT))); ++ G_PARAM_CONSTRUCT | G_PARAM_DEPRECATED))); + + gst_type_mark_as_plugin_api (GST_TYPE_WEBRTC_GAIN_CONTROL_MODE, (GstPluginAPIFlags) 0); + gst_type_mark_as_plugin_api (GST_TYPE_WEBRTC_NOISE_SUPPRESSION_LEVEL, (GstPluginAPIFlags) 0); +diff --git a/ext/webrtcdsp/gstwebrtcechoprobe.cpp b/ext/webrtcdsp/gstwebrtcechoprobe.cpp +index acdb3d8a7d..8e8ca064c4 100644 +--- a/ext/webrtcdsp/gstwebrtcechoprobe.cpp ++++ b/ext/webrtcdsp/gstwebrtcechoprobe.cpp +@@ -33,7 +33,8 @@ + + #include "gstwebrtcechoprobe.h" + +-#include ++#include ++ + #include + + GST_DEBUG_CATEGORY_EXTERN (webrtc_dsp_debug); +@@ -102,7 +103,7 @@ gst_webrtc_echo_probe_setup (GstAudioFilter * filter, const GstAudioInfo * info) + self->period_size = self->period_samples * info->bpf; + + if (self->interleaved && +- (webrtc::AudioFrame::kMaxDataSizeSamples * 2) < self->period_size) ++ (MAX_DATA_SIZE_SAMPLES * 2) < self->period_size) + goto period_too_big; + + GST_WEBRTC_ECHO_PROBE_UNLOCK (self); +@@ -112,9 +113,9 @@ gst_webrtc_echo_probe_setup (GstAudioFilter * filter, const GstAudioInfo * info) + period_too_big: + GST_WEBRTC_ECHO_PROBE_UNLOCK (self); + GST_WARNING_OBJECT (self, "webrtcdsp format produce too big period " +- "(maximum is %" G_GSIZE_FORMAT " samples and we have %u samples), " ++ "(maximum is %d samples and we have %u samples), " + "reduce the number of channels or the rate.", +- webrtc::AudioFrame::kMaxDataSizeSamples, self->period_size / 2); ++ MAX_DATA_SIZE_SAMPLES, self->period_size / 2); + return FALSE; + } + +@@ -303,18 +304,20 @@ gst_webrtc_release_echo_probe (GstWebrtcEchoProbe * probe) + + gint + gst_webrtc_echo_probe_read (GstWebrtcEchoProbe * self, GstClockTime rec_time, +- gpointer _frame, GstBuffer ** buf) ++ GstBuffer ** buf) + { +- webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame; + GstClockTimeDiff diff; +- gsize avail, skip, offset, size; ++ gsize avail, skip, offset, size = 0; + gint delay = -1; + + GST_WEBRTC_ECHO_PROBE_LOCK (self); + ++ /* We always return a buffer -- if don't have data (size == 0), we generate a ++ * silence buffer */ ++ + if (!GST_CLOCK_TIME_IS_VALID (self->latency) || + !GST_AUDIO_INFO_IS_VALID (&self->info)) +- goto done; ++ goto copy; + + if (self->interleaved) + avail = gst_adapter_available (self->adapter) / self->info.bpf; +@@ -324,7 +327,7 @@ gst_webrtc_echo_probe_read (GstWebrtcEchoProbe * self, GstClockTime rec_time, + /* In delay agnostic mode, just return 10ms of data */ + if (!GST_CLOCK_TIME_IS_VALID (rec_time)) { + if (avail < self->period_samples) +- goto done; ++ goto copy; + + size = self->period_samples; + skip = 0; +@@ -371,23 +374,51 @@ gst_webrtc_echo_probe_read (GstWebrtcEchoProbe * self, GstClockTime rec_time, + size = MIN (avail - offset, self->period_samples - skip); + + copy: +- if (self->interleaved) { +- skip *= self->info.bpf; +- offset *= self->info.bpf; +- size *= self->info.bpf; +- +- if (size < self->period_size) +- memset (frame->data_, 0, self->period_size); +- +- if (size) { +- gst_adapter_copy (self->adapter, (guint8 *) frame->data_ + skip, +- offset, size); +- gst_adapter_flush (self->adapter, offset + size); +- } ++ if (!size) { ++ /* No data, provide a period's worth of silence */ ++ *buf = gst_buffer_new_allocate (NULL, self->period_size, NULL); ++ gst_buffer_memset (*buf, 0, 0, self->period_size); ++ gst_buffer_add_audio_meta (*buf, &self->info, self->period_samples, ++ NULL); + } else { ++ /* We have some actual data, pop period_samples' worth if have it, else pad ++ * with silence and provide what we do have */ + GstBuffer *ret, *taken, *tmp; + +- if (size) { ++ if (self->interleaved) { ++ skip *= self->info.bpf; ++ offset *= self->info.bpf; ++ size *= self->info.bpf; ++ ++ gst_adapter_flush (self->adapter, offset); ++ ++ /* we need to fill silence at the beginning and/or the end of the ++ * buffer in order to have period_samples in the buffer */ ++ if (size < self->period_size) { ++ gsize padding = self->period_size - (skip + size); ++ ++ taken = gst_adapter_take_buffer (self->adapter, size); ++ ret = gst_buffer_new (); ++ ++ /* need some silence at the beginning */ ++ if (skip) { ++ tmp = gst_buffer_new_allocate (NULL, skip, NULL); ++ gst_buffer_memset (tmp, 0, 0, skip); ++ ret = gst_buffer_append (ret, tmp); ++ } ++ ++ ret = gst_buffer_append (ret, taken); ++ ++ /* need some silence at the end */ ++ if (padding) { ++ tmp = gst_buffer_new_allocate (NULL, padding, NULL); ++ gst_buffer_memset (tmp, 0, 0, padding); ++ ret = gst_buffer_append (ret, tmp); ++ } ++ } else { ++ ret = gst_adapter_take_buffer (self->adapter, size); ++ } ++ } else { + gst_planar_audio_adapter_flush (self->padapter, offset); + + /* we need to fill silence at the beginning and/or the end of each +@@ -430,23 +461,13 @@ copy: + ret = gst_planar_audio_adapter_take_buffer (self->padapter, size, + GST_MAP_READWRITE); + } +- } else { +- ret = gst_buffer_new_allocate (NULL, self->period_size, NULL); +- gst_buffer_memset (ret, 0, 0, self->period_size); +- gst_buffer_add_audio_meta (ret, &self->info, self->period_samples, +- NULL); + } + + *buf = ret; + } + +- frame->num_channels_ = self->info.channels; +- frame->sample_rate_hz_ = self->info.rate; +- frame->samples_per_channel_ = self->period_samples; +- + delay = self->delay; + +-done: + GST_WEBRTC_ECHO_PROBE_UNLOCK (self); + + return delay; +diff --git a/ext/webrtcdsp/gstwebrtcechoprobe.h b/ext/webrtcdsp/gstwebrtcechoprobe.h +index 36fd34f179..488c0e958f 100644 +--- a/ext/webrtcdsp/gstwebrtcechoprobe.h ++++ b/ext/webrtcdsp/gstwebrtcechoprobe.h +@@ -45,6 +45,12 @@ G_BEGIN_DECLS + #define GST_WEBRTC_ECHO_PROBE_LOCK(obj) g_mutex_lock (&GST_WEBRTC_ECHO_PROBE (obj)->lock) + #define GST_WEBRTC_ECHO_PROBE_UNLOCK(obj) g_mutex_unlock (&GST_WEBRTC_ECHO_PROBE (obj)->lock) + ++/* From the webrtc audio_frame.h definition of kMaxDataSizeSamples: ++ * Stereo, 32 kHz, 120 ms (2 * 32 * 120) ++ * Stereo, 192 kHz, 20 ms (2 * 192 * 20) ++ */ ++#define MAX_DATA_SIZE_SAMPLES 7680 ++ + typedef struct _GstWebrtcEchoProbe GstWebrtcEchoProbe; + typedef struct _GstWebrtcEchoProbeClass GstWebrtcEchoProbeClass; + +@@ -71,6 +77,7 @@ struct _GstWebrtcEchoProbe + GstClockTime latency; + gint delay; + gboolean interleaved; ++ gint extra_delay; + + GstSegment segment; + GstAdapter *adapter; +@@ -92,7 +99,7 @@ GST_ELEMENT_REGISTER_DECLARE (webrtcechoprobe); + GstWebrtcEchoProbe *gst_webrtc_acquire_echo_probe (const gchar * name); + void gst_webrtc_release_echo_probe (GstWebrtcEchoProbe * probe); + gint gst_webrtc_echo_probe_read (GstWebrtcEchoProbe * self, +- GstClockTime rec_time, gpointer frame, GstBuffer ** buf); ++ GstClockTime rec_time, GstBuffer ** buf); + + G_END_DECLS + #endif /* __GST_WEBRTC_ECHO_PROBE_H__ */ +diff --git a/ext/webrtcdsp/meson.build b/ext/webrtcdsp/meson.build +index 5aeae69a44..09565e27c7 100644 +--- a/ext/webrtcdsp/meson.build ++++ b/ext/webrtcdsp/meson.build +@@ -4,7 +4,7 @@ webrtc_sources = [ + 'gstwebrtcdspplugin.cpp' + ] + +-webrtc_dep = dependency('webrtc-audio-processing', version : ['>= 0.2', '< 0.4'], ++webrtc_dep = dependency('webrtc-audio-processing-1', version : ['>= 1.0'], + required : get_option('webrtcdsp')) + + if not gnustl_dep.found() and get_option('webrtcdsp').enabled() +@@ -20,7 +20,7 @@ if webrtc_dep.found() and gnustl_dep.found() + dependencies : [gstbase_dep, gstaudio_dep, gstbadaudio_dep, webrtc_dep, gnustl_dep], + install : true, + install_dir : plugins_install_dir, +- override_options : ['cpp_std=c++11'], ++ override_options : ['cpp_std=c++17'], + ) + plugins += [gstwebrtcdsp] + endif +-- +2.34.1 + diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index d2ef450d74..d2c60ec9ce 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -675,17 +675,20 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP bool "webrtcdsp" # All depends from 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 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING help WebRTC echo-cancellation, gain control and noise suppression -comment "webrtcdsp needs a toolchain w/ C++, NPTL, gcc >= 4.8" +comment "webrtcdsp 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 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WPE bool "wpe" diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index c6d1f2e009..174c4ad572 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.22.6.tar.xz.sha256sum -sha256 b4029cd2908a089c55f1d902a565d007495c95b1442d838485dc47fb12df7137 gst-plugins-bad-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.22.9.tar.xz.sha256sum +sha256 1bc65d0fd5f53a3636564efd3fcf318c3edcdec39c4109a503c1fc8203840a1d gst-plugins-bad-1.22.9.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index 983be754e9..a61038376f 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.22.6 +GST1_PLUGINS_BAD_VERSION = 1.22.9 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index a46ce228c4..060a871b95 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.22.6.tar.xz.sha256sum -sha256 50f2b4d17c02eefe430bbefa8c5cd134b1be78a53c0f60e951136d96cf49fd4b gst-plugins-base-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.22.9.tar.xz.sha256sum +sha256 fac3e0dd2d8e9370388b34bf8c21b89d5f63bc3cfc12cd7fdc8fc6c1cba03334 gst-plugins-base-1.22.9.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 7fcac012f2..512e3fdee2 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.22.6 +GST1_PLUGINS_BASE_VERSION = 1.22.9 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index 36a542227a..e1e2674a4a 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -261,7 +261,7 @@ comment "plugins with external dependencies" config BR2_PACKAGE_GST1_PLUGINS_GOOD_ADAPTIVEMUX2 bool "adaptivedemux2 (Adaptive Streaming 2)" select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_LIBSOUP + select BR2_PACKAGE_LIBSOUP3 config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME bool "lame (*.mp3 audio encoder)" @@ -383,11 +383,11 @@ comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC bool "souphttpsrc (http client)" - depends on BR2_USE_WCHAR # libsoup -> glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libsoup -> glib2 - select BR2_PACKAGE_LIBSOUP + depends on BR2_USE_WCHAR # libsoup3 -> glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libsoup3 -> glib2 + select BR2_PACKAGE_LIBSOUP3 help - libsoup HTTP client src/sink + libsoup3 HTTP client src/sink comment "souphttpsrc needs a toolchain w/ wchar, threads" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 1b315ac1cc..4410da6ef4 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.6.tar.xz.sha256sum -sha256 b3b07fe3f1ce7fe93aa9be7217866044548f35c4a7792280eec7e108a32f9817 gst-plugins-good-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.9.tar.xz.sha256sum +sha256 26959fcfebfff637d4ea08ef40316baf31b61bb7729820b0684e800c3a1478b6 gst-plugins-good-1.22.9.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index 4c6188c097..a1ad63915d 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.22.6 +GST1_PLUGINS_GOOD_VERSION = 1.22.9 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING @@ -60,7 +60,7 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_ADAPTIVEMUX2),y) GST1_PLUGINS_GOOD_CONF_OPTS += -Dadaptivedemux2=enabled -GST1_PLUGINS_GOOD_DEPENDENCIES += libsoup libxml2 +GST1_PLUGINS_GOOD_DEPENDENCIES += libsoup3 libxml2 else GST1_PLUGINS_GOOD_CONF_OPTS += -Dadaptivedemux2=disabled endif @@ -453,7 +453,7 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC),y) GST1_PLUGINS_GOOD_CONF_OPTS += -Dsoup=enabled -GST1_PLUGINS_GOOD_DEPENDENCIES += libsoup +GST1_PLUGINS_GOOD_DEPENDENCIES += libsoup3 else GST1_PLUGINS_GOOD_CONF_OPTS += -Dsoup=disabled endif diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index f55dd7b3a0..20394619b0 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.6.tar.xz.sha256sum -sha256 3e31454c98cb2f7f6d2d355eceb933a892fa0f1dc09bc36c9abc930d8e29ca48 gst-plugins-ugly-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.9.tar.xz.sha256sum +sha256 0bf685d66015a01dd3fc1671b64a1c8acb321dd9d4ab9e05a29ab19782aa6236 gst-plugins-ugly-1.22.9.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index ee3bd1b551..7bb95dd1d0 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.22.6 +GST1_PLUGINS_UGLY_VERSION = 1.22.9 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING diff --git a/package/gstreamer1/gst1-python/gst1-python.hash b/package/gstreamer1/gst1-python/gst1-python.hash index 4495e03945..2f352df92e 100644 --- a/package/gstreamer1/gst1-python/gst1-python.hash +++ b/package/gstreamer1/gst1-python/gst1-python.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.22.6.tar.xz.sha256sum -sha256 51de2d6d13b12ce095eac97c0b94ee59c2aeba3712bb7462b78c4d57dde176c5 gst-python-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.22.9.tar.xz.sha256sum +sha256 3f9d5c6ffefda268703744b592a6b3983aa6723273b1220ecbcb62c2a5800009 gst-python-1.22.9.tar.xz sha256 ea3ad127610e5ded2210b3a86a46314f2b3b28e438eccffdae19a4d6fbcdb0c2 COPYING diff --git a/package/gstreamer1/gst1-python/gst1-python.mk b/package/gstreamer1/gst1-python/gst1-python.mk index 475f2f2d87..501ca5e02b 100644 --- a/package/gstreamer1/gst1-python/gst1-python.mk +++ b/package/gstreamer1/gst1-python/gst1-python.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PYTHON_VERSION = 1.22.6 +GST1_PYTHON_VERSION = 1.22.9 GST1_PYTHON_SOURCE = gst-python-$(GST1_PYTHON_VERSION).tar.xz GST1_PYTHON_SITE = https://gstreamer.freedesktop.org/src/gst-python GST1_PYTHON_INSTALL_STAGING = YES @@ -34,6 +34,7 @@ GST1_PYTHON_CONF_ENV += \ # the correct .so file, and the resulting compiled library has the appropriate # path of /usr/lib/python3.$(PYTHON3_VERSION_MAJOR).so GST1_PYTHON_CONF_OPTS += \ - -Dlibpython-dir=/usr/lib/ + -Dlibpython-dir=/usr/lib/ \ + -Dtests=disabled $(eval $(meson-package)) diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index 521a91ddd7..21f380378c 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,4 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.22.6.tar.xz.sha256sum -sha256 0ae33a8b50443b62f11581a9181e906b41cd3877b2d799dbea72912c3eda4bb3 gst-rtsp-server-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.22.9.tar.xz.sha256sum +sha256 808af148f89404ff74850f8ca5272bed4bfe67f9620231dc4514fd07eb26d0a4 gst-rtsp-server-1.22.9.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING.LIB diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index 46d7606b1d..87e6413d00 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.22.6 +GST1_RTSP_SERVER_VERSION = 1.22.9 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server GST1_RTSP_SERVER_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gst1-shark/gst1-shark.hash b/package/gstreamer1/gst1-shark/gst1-shark.hash index cfd72dd2a6..37276cc93d 100644 --- a/package/gstreamer1/gst1-shark/gst1-shark.hash +++ b/package/gstreamer1/gst1-shark/gst1-shark.hash @@ -1,5 +1,5 @@ # locally computed hash -sha256 413dbd8b6be1b09751e8d00abf9784de18cb74283c95ac078f6fb7d8750de26a gst1-shark-v0.7.5-br1.tar.gz +sha256 07587922dc49d12abe2444590a88c530409854b02904ad50357b312f9b6ea736 gst1-shark-v0.8.1-br1.tar.gz # Hashes for license files: sha256 6d191b8f1fa03cabced18b8e48fddbf960a19f965bed8491e76ed62238f92f0b COPYING diff --git a/package/gstreamer1/gst1-shark/gst1-shark.mk b/package/gstreamer1/gst1-shark/gst1-shark.mk index 17df001cef..a059d41cb8 100644 --- a/package/gstreamer1/gst1-shark/gst1-shark.mk +++ b/package/gstreamer1/gst1-shark/gst1-shark.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_SHARK_VERSION = v0.7.5 +GST1_SHARK_VERSION = v0.8.1 GST1_SHARK_SITE = https://github.com/RidgeRun/gst-shark.git GST1_SHARK_SITE_METHOD = git GST1_SHARK_GIT_SUBMODULES = YES diff --git a/package/gstreamer1/gst1-vaapi/Config.in b/package/gstreamer1/gst1-vaapi/Config.in index a1062097ed..d6a1542ad3 100644 --- a/package/gstreamer1/gst1-vaapi/Config.in +++ b/package/gstreamer1/gst1-vaapi/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_GST1_VAAPI select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_GST1_PLUGINS_BASE select BR2_PACKAGE_GST1_PLUGINS_BAD # gstreamer-codecparsers + select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 help diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash index 53dbe97ca9..ec23ae7c6b 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.22.6.tar.xz.sha256sum -sha256 d9ba2fc26bef98c78e982c599f585d46bbb65fe122da89c2d7ab41f468a52c7b gstreamer-vaapi-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.22.9.tar.xz.sha256sum +sha256 8ba20da8c4cbf5b2953dba904672c4275d0053e1528f97fdf8e59942c7883ca8 gstreamer-vaapi-1.22.9.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk index 46a5839450..d934bab233 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VAAPI_VERSION = 1.22.6 +GST1_VAAPI_VERSION = 1.22.9 GST1_VAAPI_SITE = https://gstreamer.freedesktop.org/src/gstreamer-vaapi GST1_VAAPI_SOURCE = gstreamer-vaapi-$(GST1_VAAPI_VERSION).tar.xz GST1_VAAPI_LICENSE = LGPL-2.1+ @@ -39,6 +39,7 @@ endif ifeq ($(BR2_PACKAGE_WAYLAND),y) GST1_VAAPI_CONF_OPTS += -Dwayland=enabled +GST1_VAAPI_DEPENDENCIES += wayland wayland-protocols else GST1_VAAPI_CONF_OPTS += -Dwayland=disabled endif diff --git a/package/gstreamer1/gstd/Config.in b/package/gstreamer1/gstd/Config.in index df1d2f59c3..bfe1a40bfd 100644 --- a/package/gstreamer1/gstd/Config.in +++ b/package/gstreamer1/gstd/Config.in @@ -10,7 +10,6 @@ config BR2_PACKAGE_GSTD select BR2_PACKAGE_LIBEDIT select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBSOUP - select BR2_PACKAGE_READLINE help GStreamer Daemon, also called gstd, is a GStreamer framework for controlling audio and video streaming using an diff --git a/package/gstreamer1/gstd/gstd.mk b/package/gstreamer1/gstd/gstd.mk index ccb3b3e1bc..965ede7949 100644 --- a/package/gstreamer1/gstd/gstd.mk +++ b/package/gstreamer1/gstd/gstd.mk @@ -17,8 +17,7 @@ GSTD_DEPENDENCIES = \ libdaemon \ libedit \ libglib2 \ - libsoup \ - readline + libsoup GSTD_CONF_OPTS = \ -Denable-tests=disabled \ diff --git a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash index 11e93b8b65..2ea29dae61 100644 --- a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash +++ b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash @@ -1,5 +1,5 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gst-editing-services-1.22.6.tar.xz.sha256sum -sha256 748d423672c597f876e130804fb984848f5b4b89efd78a506cb17f7646795301 gst-editing-services-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gst-editing-services-1.22.9.tar.xz.sha256sum +sha256 3553ad3802dccde0c0ef1461881acd9b55bddf8adf751de4cb51b7f8cb50440d gst-editing-services-1.22.9.tar.xz # Hashes for license files: sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING diff --git a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk index bea59f256b..e2c0f1ccf8 100644 --- a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk +++ b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_EDITING_SERVICES_VERSION = 1.22.6 +GSTREAMER1_EDITING_SERVICES_VERSION = 1.22.9 GSTREAMER1_EDITING_SERVICES_SOURCE = gst-editing-services-$(GSTREAMER1_EDITING_SERVICES_VERSION).tar.xz GSTREAMER1_EDITING_SERVICES_SITE = https://gstreamer.freedesktop.org/src/gstreamer-editing-services GSTREAMER1_EDITING_SERVICES_LICENSE = LGPL-2.0+ diff --git a/package/gstreamer1/gstreamer1-mm/Config.in b/package/gstreamer1/gstreamer1-mm/Config.in deleted file mode 100644 index 471c083ce7..0000000000 --- a/package/gstreamer1/gstreamer1-mm/Config.in +++ /dev/null @@ -1,29 +0,0 @@ -config BR2_PACKAGE_GSTREAMER1_MM - bool "gstreamer1-mm" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # glibmm - depends on BR2_INSTALL_LIBSTDCPP # glibmm - depends on BR2_USE_WCHAR # glibmm -> libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 - depends on BR2_USE_MMU # glibmm -> libglib2 - select BR2_PACKAGE_GLIBMM - select BR2_PACKAGE_GSTREAMER1_CHECK - select BR2_PACKAGE_GST1_PLUGINS_BASE - help - gstreamermm provides C++ bindings for the GStreamer streaming - multimedia library (http://gstreamer.freedesktop.org). With - gstreamermm it is possible to develop applications that work - with multimedia in C++. - - gstreamermm is developed over glibmm, libsigc++ and libxml++ - and the functionalities they provide. This means that, among - other things, referencing and unreferencing of GObjects is - handled automatically via glibmm's automatic pointer class, - Glib::RefPtr, and libsigc++'s slots are used for callbacks and - signals. - - https://gstreamer.freedesktop.org/bindings/cplusplus.html - -comment "gstreamer1-mm 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/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash b/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash deleted file mode 100644 index 425cf05f39..0000000000 --- a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.hash +++ /dev/null @@ -1,6 +0,0 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gstreamermm/1.10/gstreamermm-1.10.0.sha256sum -sha256 be58fe9ef7d7e392568ec85e80a84f4730adbf91fb0355ff7d7c616675ea8d60 gstreamermm-1.10.0.tar.xz - -# Locally computed -sha256 7c78a8d7fc6781d51402d5a6036bedda9cffb0e5d28757e25d54d6eacbb1949f COPYING -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.examples diff --git a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk b/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk deleted file mode 100644 index 539c9df1cb..0000000000 --- a/package/gstreamer1/gstreamer1-mm/gstreamer1-mm.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# -# gstreamer1-mm -# -################################################################################ - -GSTREAMER1_MM_VERSION_MAJOR = 1.10 -GSTREAMER1_MM_VERSION = $(GSTREAMER1_MM_VERSION_MAJOR).0 -GSTREAMER1_MM_SITE = http://ftp.gnome.org/pub/gnome/sources/gstreamermm/$(GSTREAMER1_MM_VERSION_MAJOR) -GSTREAMER1_MM_SOURCE = gstreamermm-$(GSTREAMER1_MM_VERSION).tar.xz -GSTREAMER1_MM_LICENSE = LGPL-2.1+ (library), GPL-2.0 (examples) -GSTREAMER1_MM_LICENSE_FILES = COPYING COPYING.examples -GSTREAMER1_MM_INSTALL_STAGING = YES -GSTREAMER1_MM_DEPENDENCIES += \ - glibmm \ - gstreamer1 \ - gst1-plugins-base - -GSTREAMER1_MM_CONF_OPTS += \ - --disable-gl \ - --enable-unittests=no \ - --disable-deprecated-api - -$(eval $(autotools-package)) diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index 65045c1c30..b6ed001eb3 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.6.tar.xz.sha256sum -sha256 f500e6cfddff55908f937711fc26a0840de28a1e9ec49621c0b6f1adbd8f818e gstreamer-1.22.6.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.9.tar.xz.sha256sum +sha256 1e7124d347e8cdc80f08ec1d370c201be513002af1102bb20e83c5279cb48ebd gstreamer-1.22.9.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 352567ed52..5b9125e62a 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.22.6 +GSTREAMER1_VERSION = 1.22.9 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES diff --git a/package/gtest/Config.in b/package/gtest/Config.in index 4591cb5e48..25d756f72c 100644 --- a/package/gtest/Config.in +++ b/package/gtest/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_GTEST 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++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 depends on BR2_USE_MMU # fork() help Google's framework for writing C++ tests on a variety of diff --git a/package/gtest/gtest.hash b/package/gtest/gtest.hash index a6dd15a8d2..5b1dcf44a8 100644 --- a/package/gtest/gtest.hash +++ b/package/gtest/gtest.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2 gtest-1.12.1.tar.gz +sha256 8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7 gtest-1.14.0.tar.gz sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 LICENSE diff --git a/package/gtest/gtest.mk b/package/gtest/gtest.mk index a53253228e..c252ede818 100644 --- a/package/gtest/gtest.mk +++ b/package/gtest/gtest.mk @@ -4,8 +4,8 @@ # ################################################################################ -GTEST_VERSION = 1.12.1 -GTEST_SITE = $(call github,google,googletest,release-$(GTEST_VERSION)) +GTEST_VERSION = 1.14.0 +GTEST_SITE = $(call github,google,googletest,v$(GTEST_VERSION)) GTEST_INSTALL_STAGING = YES GTEST_INSTALL_TARGET = NO GTEST_LICENSE = BSD-3-Clause diff --git a/package/guile/guile.mk b/package/guile/guile.mk index 1d2e8038f0..82daaf5ad4 100644 --- a/package/guile/guile.mk +++ b/package/guile/guile.mk @@ -44,11 +44,6 @@ ifeq ($(BR2_STATIC_LIBS),y) GUILE_CFLAGS += -DGC_NO_DLOPEN endif -# Triggers assembler error with -Os -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy) -GUILE_CFLAGS += -O2 -endif - # jit triggers build failures with gcc < 5 ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),) GUILE_CONF_OPTS += --disable-jit diff --git a/package/gupnp-av/0002-xml-Fix-compatibility-with-libxml2-2-12-x.patch b/package/gupnp-av/0002-xml-Fix-compatibility-with-libxml2-2-12-x.patch new file mode 100644 index 0000000000..358098fbc4 --- /dev/null +++ b/package/gupnp-av/0002-xml-Fix-compatibility-with-libxml2-2-12-x.patch @@ -0,0 +1,26 @@ +From 1e10a41fcef6ae0d3e89958db89bc22398f3b4f1 Mon Sep 17 00:00:00 2001 +From: Jens Georg +Date: Sat, 25 Nov 2023 17:58:49 +0100 +Subject: [PATCH] xml: Fix compatibility with libxml2 2.12.x + +Upstream: https://gitlab.gnome.org/GNOME/gupnp-av/-/commit/1e10a41fcef6ae0d3e89958db89bc22398f3b4f1 +Signed-off-by: Fabrice Fontaine +--- + libgupnp-av/xml-util.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libgupnp-av/xml-util.h b/libgupnp-av/xml-util.h +index e0e49f7..0bbe0f8 100644 +--- a/libgupnp-av/xml-util.h ++++ b/libgupnp-av/xml-util.h +@@ -16,6 +16,7 @@ + + #include + #include ++#include + #include + #include + +-- +GitLab + diff --git a/package/gupnp-av/gupnp-av.hash b/package/gupnp-av/gupnp-av.hash index ab1739aaa4..c8ed0db2a4 100644 --- a/package/gupnp-av/gupnp-av.hash +++ b/package/gupnp-av/gupnp-av.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.gnome.org/sources/gupnp-av/0.14/gupnp-av-0.14.0.sha256sum: -sha256 20aed546fc882e78a3f186a0c8bce5c841cc3a44b7ea528298fbdc82596fb156 gupnp-av-0.14.0.tar.xz +# Hash from: https://download.gnome.org/sources/gupnp-av/0.14/gupnp-av-0.14.1.sha256sum: +sha256 b79ce0cc4b0c66d9c54bc22183a10e5709a0011d2af272025948efcab33a3e4f gupnp-av-0.14.1.tar.xz # Hash for license file: sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gupnp-av/gupnp-av.mk b/package/gupnp-av/gupnp-av.mk index e83aa57bda..3821c4e170 100644 --- a/package/gupnp-av/gupnp-av.mk +++ b/package/gupnp-av/gupnp-av.mk @@ -5,7 +5,7 @@ ################################################################################ GUPNP_AV_VERSION_MAJOR = 0.14 -GUPNP_AV_VERSION = $(GUPNP_AV_VERSION_MAJOR).0 +GUPNP_AV_VERSION = $(GUPNP_AV_VERSION_MAJOR).1 GUPNP_AV_SOURCE = gupnp-av-$(GUPNP_AV_VERSION).tar.xz GUPNP_AV_SITE = https://download.gnome.org/sources/gupnp-av/$(GUPNP_AV_VERSION_MAJOR) GUPNP_AV_LICENSE = LGPL-2.1+ diff --git a/package/gupnp-tools/0001-common-Drop-deprecated-xmlRecoverMemory.patch b/package/gupnp-tools/0001-common-Drop-deprecated-xmlRecoverMemory.patch new file mode 100644 index 0000000000..c81d1b01fe --- /dev/null +++ b/package/gupnp-tools/0001-common-Drop-deprecated-xmlRecoverMemory.patch @@ -0,0 +1,33 @@ +From f675ac7e0afe67a86f3f1191d3274d6ffbd4e5d7 Mon Sep 17 00:00:00 2001 +From: Jens Georg +Date: Thu, 3 Aug 2023 23:44:15 +0200 +Subject: [PATCH] common: Drop deprecated xmlRecoverMemory + +Fixes #27 + +Upstream: https://gitlab.gnome.org/GNOME/gupnp-tools/-/commit/f675ac7e0afe67a86f3f1191d3274d6ffbd4e5d7 +Signed-off-by: Fabrice Fontaine +--- + src/common/pretty-print.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/common/pretty-print.c b/src/common/pretty-print.c +index c692664..c8ebc9a 100644 +--- a/src/common/pretty-print.c ++++ b/src/common/pretty-print.c +@@ -34,7 +34,11 @@ pretty_print_xml (const char *xml) + char *text; + int length; + +- doc = xmlRecoverMemory (xml, strlen (xml)); ++ doc = xmlReadMemory (xml, ++ strlen (xml), ++ NULL, ++ NULL, ++ XML_PARSE_NONET | XML_PARSE_RECOVER); + + if (!doc) + return NULL; +-- +GitLab + diff --git a/package/gupnp-tools/0002-common-Fix-compatibility-with-libxml2-2-12.patch b/package/gupnp-tools/0002-common-Fix-compatibility-with-libxml2-2-12.patch new file mode 100644 index 0000000000..c76d440b5d --- /dev/null +++ b/package/gupnp-tools/0002-common-Fix-compatibility-with-libxml2-2-12.patch @@ -0,0 +1,28 @@ +From 4e06104df81fba2cda06d4747b33e75f4cade458 Mon Sep 17 00:00:00 2001 +From: Jens Georg +Date: Fri, 24 Nov 2023 18:12:50 +0100 +Subject: [PATCH] common: Fix compatibility with libxml2 2.12 + +Fixes #28 + +Upstream: https://gitlab.gnome.org/GNOME/gupnp-tools/-/commit/4e06104df81fba2cda06d4747b33e75f4cade458 +Signed-off-by: Fabrice Fontaine +--- + src/common/pretty-print.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/common/pretty-print.c b/src/common/pretty-print.c +index c8ebc9a..1519cb0 100644 +--- a/src/common/pretty-print.c ++++ b/src/common/pretty-print.c +@@ -22,6 +22,7 @@ + + #include "pretty-print.h" + ++#include + #include + + #include +-- +GitLab + diff --git a/package/gupnp-tools/Config.in b/package/gupnp-tools/Config.in index af662417c2..5bce5cabeb 100644 --- a/package/gupnp-tools/Config.in +++ b/package/gupnp-tools/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_GUPNP_TOOLS bool "gupnp-tools" depends on BR2_PACKAGE_LIBGTK3 - # gssdp, gupnp, libsoup all select on libglib2, so they have + # gssdp, gupnp, libsoup3 all select on libglib2, so they have # the same dependencies as libgtk3, which we depend on. So for # the same of simplicity, we don't replicate all those # (complex) dependencies. select BR2_PACKAGE_GSSDP select BR2_PACKAGE_GUPNP - select BR2_PACKAGE_LIBSOUP + select BR2_PACKAGE_LIBSOUP3 select BR2_PACKAGE_LIBXML2 help GUPnP Tools are free replacements of Intel UPnP tools that diff --git a/package/gupnp-tools/gupnp-tools.hash b/package/gupnp-tools/gupnp-tools.hash index c3808de6e2..28e2661360 100644 --- a/package/gupnp-tools/gupnp-tools.hash +++ b/package/gupnp-tools/gupnp-tools.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.gnome.org/sources/gupnp-tools/0.10/gupnp-tools-0.10.3.sha256sum: -sha256 457f4d923935b078415cd2ba88d78db60079b725926b7ee106e4565efe3204de gupnp-tools-0.10.3.tar.xz +# Hash from: https://download.gnome.org/sources/gupnp-tools/0.12/gupnp-tools-0.12.1.sha256sum: +sha256 53cf93123f397e8f8f0b8e9e4364c86a7502a5334f4c0be2e054a824478bd5ba gupnp-tools-0.12.1.tar.xz # Locally computed: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/gupnp-tools/gupnp-tools.mk b/package/gupnp-tools/gupnp-tools.mk index f87e98ef03..99fdf54f13 100644 --- a/package/gupnp-tools/gupnp-tools.mk +++ b/package/gupnp-tools/gupnp-tools.mk @@ -4,8 +4,8 @@ # ################################################################################ -GUPNP_TOOLS_VERSION_MAJOR = 0.10 -GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).3 +GUPNP_TOOLS_VERSION_MAJOR = 0.12 +GUPNP_TOOLS_VERSION = $(GUPNP_TOOLS_VERSION_MAJOR).1 GUPNP_TOOLS_SOURCE = gupnp-tools-$(GUPNP_TOOLS_VERSION).tar.xz GUPNP_TOOLS_SITE = \ https://download.gnome.org/sources/gupnp-tools/$(GUPNP_TOOLS_VERSION_MAJOR) @@ -18,7 +18,7 @@ GUPNP_TOOLS_DEPENDENCIES = \ libxml2 \ gssdp \ gupnp \ - libsoup \ + libsoup3 \ libgtk3 \ $(TARGET_NLS_DEPENDENCIES) diff --git a/package/gupnp/0001-all-Drop-xmlRecoverMemory.patch b/package/gupnp/0001-all-Drop-xmlRecoverMemory.patch deleted file mode 100644 index 46e09c267e..0000000000 --- a/package/gupnp/0001-all-Drop-xmlRecoverMemory.patch +++ /dev/null @@ -1,113 +0,0 @@ -From c3d084736cca81dd4ec05f7e4b634050eb6e8525 Mon Sep 17 00:00:00 2001 -From: Jens Georg -Date: Thu, 4 May 2023 19:14:29 +0200 -Subject: [PATCH] all: Drop xmlRecoverMemory - -use xmlReadMemory, also use NONET flat - -Upstream: https://gitlab.gnome.org/GNOME/gupnp/-/commit/80e68995b745a5900eaaa1d0c424d3a9d354e42d - -Signed-off-by: Bernd Kuhls -[Bernd: backported to branch gupnp-1.4] ---- - libgupnp/gupnp-control-point.c | 7 +++++-- - libgupnp/gupnp-service-info.c | 8 ++++++-- - libgupnp/gupnp-service-proxy-action.c | 7 +++++-- - libgupnp/gupnp-service-proxy.c | 7 +++++-- - libgupnp/gupnp-service.c | 7 +++++-- - 5 files changed, 26 insertions(+), 10 deletions(-) - -diff --git a/libgupnp/gupnp-control-point.c b/libgupnp/gupnp-control-point.c -index deb4b42..17c485a 100644 ---- a/libgupnp/gupnp-control-point.c -+++ b/libgupnp/gupnp-control-point.c -@@ -613,8 +613,11 @@ got_description_url (SoupSession *session, - xmlDoc *xml_doc; - - /* Parse response */ -- xml_doc = xmlRecoverMemory (msg->response_body->data, -- msg->response_body->length); -+ xml_doc = xmlReadMemory (msg->response_body->data, -+ msg->response_body->length, -+ NULL, -+ NULL, -+ XML_PARSE_NONET | XML_PARSE_RECOVER); - if (xml_doc) { - doc = gupnp_xml_doc_new (xml_doc); - -diff --git a/libgupnp/gupnp-service-info.c b/libgupnp/gupnp-service-info.c -index 9a9f4de..1c7489e 100644 ---- a/libgupnp/gupnp-service-info.c -+++ b/libgupnp/gupnp-service-info.c -@@ -592,8 +592,12 @@ got_scpd_url (G_GNUC_UNUSED SoupSession *session, - if (SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) { - xmlDoc *scpd; - -- scpd = xmlRecoverMemory (msg->response_body->data, -- msg->response_body->length); -+ scpd = xmlReadMemory (msg->response_body->data, -+ msg->response_body->length, -+ NULL, -+ NULL, -+ XML_PARSE_NONET | XML_PARSE_RECOVER); -+ - if (scpd) { - introspection = gupnp_service_introspection_new (scpd); - -diff --git a/libgupnp/gupnp-service-proxy-action.c b/libgupnp/gupnp-service-proxy-action.c -index f089152..079219f 100644 ---- a/libgupnp/gupnp-service-proxy-action.c -+++ b/libgupnp/gupnp-service-proxy-action.c -@@ -87,8 +87,11 @@ check_action_response (G_GNUC_UNUSED GUPnPServiceProxy *proxy, - } - - /* Parse response */ -- response = xmlRecoverMemory (action->msg->response_body->data, -- action->msg->response_body->length); -+ response = xmlReadMemory (action->msg->response_body->data, -+ action->msg->response_body->length, -+ NULL, -+ NULL, -+ XML_PARSE_NONET | XML_PARSE_RECOVER); - - if (!response) { - if (action->msg->status_code == SOUP_STATUS_OK) { -diff --git a/libgupnp/gupnp-service-proxy.c b/libgupnp/gupnp-service-proxy.c -index 5dd1bfc..eed9882 100644 ---- a/libgupnp/gupnp-service-proxy.c -+++ b/libgupnp/gupnp-service-proxy.c -@@ -1561,8 +1561,11 @@ server_handler (G_GNUC_UNUSED SoupServer *soup_server, - } - - /* Parse the actual XML message content */ -- doc = xmlRecoverMemory (msg->request_body->data, -- msg->request_body->length); -+ doc = xmlReadMemory (msg->request_body->data, -+ msg->request_body->length, -+ NULL, -+ NULL, -+ XML_PARSE_NONET | XML_PARSE_RECOVER); - if (doc == NULL) { - /* Failed */ - g_warning ("Failed to parse NOTIFY message body"); -diff --git a/libgupnp/gupnp-service.c b/libgupnp/gupnp-service.c -index 2794ebc..e82daaa 100644 ---- a/libgupnp/gupnp-service.c -+++ b/libgupnp/gupnp-service.c -@@ -1002,8 +1002,11 @@ control_server_handler (SoupServer *server, - *end = '\0'; - - /* Parse action_node */ -- doc = xmlRecoverMemory (msg->request_body->data, -- msg->request_body->length); -+ doc = xmlReadMemory (msg->request_body->data, -+ msg->request_body->length, -+ NULL, -+ NULL, -+ XML_PARSE_NONET | XML_PARSE_RECOVER); - if (doc == NULL) { - soup_message_set_status (msg, SOUP_STATUS_BAD_REQUEST); - --- -2.39.2 - diff --git a/package/gupnp/0001-all-Fix-compatibility-with-libxml2-2-12-x.patch b/package/gupnp/0001-all-Fix-compatibility-with-libxml2-2-12-x.patch new file mode 100644 index 0000000000..14f696ca80 --- /dev/null +++ b/package/gupnp/0001-all-Fix-compatibility-with-libxml2-2-12-x.patch @@ -0,0 +1,84 @@ +From 00514fb62ebd341803fa44e26a6482a8c25dbd34 Mon Sep 17 00:00:00 2001 +From: Jens Georg +Date: Sat, 25 Nov 2023 17:56:02 +0100 +Subject: [PATCH] all: Fix compatibility with libxml2 2.12.x + +Upstream: https://gitlab.gnome.org/GNOME/gupnp/-/commit/00514fb62ebd341803fa44e26a6482a8c25dbd34 +Signed-off-by: Fabrice Fontaine +--- + libgupnp/gupnp-control-point.c | 2 ++ + libgupnp/gupnp-service-proxy-action.c | 2 ++ + libgupnp/gupnp-service-proxy.c | 2 ++ + libgupnp/gupnp-xml-doc.c | 3 +++ + libgupnp/xml-util.h | 2 ++ + 5 files changed, 11 insertions(+) + +diff --git a/libgupnp/gupnp-control-point.c b/libgupnp/gupnp-control-point.c +index d4b44721..4374f726 100644 +--- a/libgupnp/gupnp-control-point.c ++++ b/libgupnp/gupnp-control-point.c +@@ -27,6 +27,8 @@ + #include + #include + ++#include ++ + #include "gupnp-control-point.h" + #include "gupnp-context-private.h" + #include "gupnp-resource-factory-private.h" +diff --git a/libgupnp/gupnp-service-proxy-action.c b/libgupnp/gupnp-service-proxy-action.c +index b241d86c..6ea241ad 100644 +--- a/libgupnp/gupnp-service-proxy-action.c ++++ b/libgupnp/gupnp-service-proxy-action.c +@@ -9,6 +9,8 @@ + + #include + ++#include ++ + #include "gupnp-error.h" + #include "gupnp-service-proxy.h" + #include "gvalue-util.h" +diff --git a/libgupnp/gupnp-service-proxy.c b/libgupnp/gupnp-service-proxy.c +index adba5ab0..3f1a4454 100644 +--- a/libgupnp/gupnp-service-proxy.c ++++ b/libgupnp/gupnp-service-proxy.c +@@ -16,6 +16,8 @@ + #include + #include + ++#include ++ + #include "gena-protocol.h" + #include "gupnp-context-private.h" + #include "gupnp-error-private.h" +diff --git a/libgupnp/gupnp-xml-doc.c b/libgupnp/gupnp-xml-doc.c +index 627f1a28..66f9b3dd 100644 +--- a/libgupnp/gupnp-xml-doc.c ++++ b/libgupnp/gupnp-xml-doc.c +@@ -15,6 +15,9 @@ + #include + #include + #include ++ ++#include ++ + #include "gupnp-xml-doc.h" + #include "gupnp-error.h" + +diff --git a/libgupnp/xml-util.h b/libgupnp/xml-util.h +index a02eb3d4..d0dcaeba 100644 +--- a/libgupnp/xml-util.h ++++ b/libgupnp/xml-util.h +@@ -10,6 +10,8 @@ + #define GUPNP_XML_UTIL_H + + #include ++#include ++ + #include + #include + +-- +GitLab + diff --git a/package/gupnp/0002-build-properly-spell-provide-in-wrap-files.patch b/package/gupnp/0002-build-properly-spell-provide-in-wrap-files.patch deleted file mode 100644 index 0632469a98..0000000000 --- a/package/gupnp/0002-build-properly-spell-provide-in-wrap-files.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 884639bd29323cbb8fbd36bc69d08097a2ae2cd1 Mon Sep 17 00:00:00 2001 -From: Jan Beich -Date: Sun, 9 Jul 2023 03:30:47 +0000 -Subject: [PATCH] build: properly spell [provide] in *.wrap files - -meson.build:1:0: ERROR: Unexpected "[provides]" section, did you mean "[provide]"? - -Upstream: https://gitlab.gnome.org/GNOME/gupnp/-/commit/884639bd29323cbb8fbd36bc69d08097a2ae2cd1 - -Signed-off-by: Bernd Kuhls -[Bernd: backported to branch gupnp-1.4] ---- - subprojects/gssdp-1.6.wrap | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/subprojects/gssdp-1.6.wrap b/subprojects/gssdp-1.6.wrap -index b0b6504..8adc1a2 100644 ---- a/subprojects/gssdp-1.2.wrap -+++ b/subprojects/gssdp-1.2.wrap -@@ -3,6 +3,6 @@ url = https://gitlab.gnome.org/GNOME/gssdp.git - revision = gssdp-1.4 - depth = 1 - --[provides] -+[provide] - dependency_name = gssdp-1.2 - --- -GitLab - diff --git a/package/gupnp/gupnp.hash b/package/gupnp/gupnp.hash index 823dbd7927..b8a3fa082e 100644 --- a/package/gupnp/gupnp.hash +++ b/package/gupnp/gupnp.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.gnome.org/sources/gupnp/1.4/gupnp-1.4.3.sha256sum: -sha256 14eda777934da2df743d072489933bd9811332b7b5bf41626b8032efb28b33ba gupnp-1.4.3.tar.xz +# Hash from: https://download.gnome.org/sources/gupnp/1.6/gupnp-1.6.6.sha256sum: +sha256 c9dc50e8c78b3792d1b0e6c5c5f52c93e9345d3dae2891e311a993a574f5a04f gupnp-1.6.6.tar.xz # Hash for license file: sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gupnp/gupnp.mk b/package/gupnp/gupnp.mk index f41f26d2dd..cfcc114189 100644 --- a/package/gupnp/gupnp.mk +++ b/package/gupnp/gupnp.mk @@ -4,8 +4,8 @@ # ################################################################################ -GUPNP_VERSION_MAJOR = 1.4 -GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).3 +GUPNP_VERSION_MAJOR = 1.6 +GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).6 GUPNP_SOURCE = gupnp-$(GUPNP_VERSION).tar.xz GUPNP_SITE = https://download.gnome.org/sources/gupnp/$(GUPNP_VERSION_MAJOR) GUPNP_LICENSE = LGPL-2.1+ diff --git a/package/gutenprint/gutenprint.mk b/package/gutenprint/gutenprint.mk index b0fcd5a598..bcc9c54beb 100644 --- a/package/gutenprint/gutenprint.mk +++ b/package/gutenprint/gutenprint.mk @@ -10,7 +10,7 @@ GUTENPRINT_SITE = http://downloads.sourceforge.net/project/gimp-print/gutenprint GUTENPRINT_SOURCE = gutenprint-$(GUTENPRINT_VERSION).tar.bz2 GUTENPRINT_LICENSE = GPL-2.0+ GUTENPRINT_LICENSE_FILES = COPYING -GUTENPRINT_CPE_ID_VENDOR = gutenprint_project +GUTENPRINT_CPE_ID_VALID = YES # Needed, as we touch Makefile.am GUTENPRINT_AUTORECONF = YES diff --git a/package/gzip/gzip.hash b/package/gzip/gzip.hash index 80b86f4797..4d9d0c721b 100644 --- a/package/gzip/gzip.hash +++ b/package/gzip/gzip.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/gzip/gzip-1.12.tar.xz.sig +# https://ftp.gnu.org/gnu/gzip/gzip-1.13.tar.xz.sig # using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE -sha256 ce5e03e519f637e1f814011ace35c4f87b33c0bbabeec35baf5fbd3479e91956 gzip-1.12.tar.xz +sha256 7454eb6935db17c6655576c2e1b0fabefd38b4d0936e0f87f48cd062ce91a057 gzip-1.13.tar.xz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/gzip/gzip.mk b/package/gzip/gzip.mk index 2092df363c..330321352c 100644 --- a/package/gzip/gzip.mk +++ b/package/gzip/gzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -GZIP_VERSION = 1.12 +GZIP_VERSION = 1.13 GZIP_SOURCE = gzip-$(GZIP_VERSION).tar.xz GZIP_SITE = $(BR2_GNU_MIRROR)/gzip # Some other tools expect it to be in /bin diff --git a/package/haproxy/haproxy.mk b/package/haproxy/haproxy.mk index 63a92090f3..61a9ebebe4 100644 --- a/package/haproxy/haproxy.mk +++ b/package/haproxy/haproxy.mk @@ -82,7 +82,7 @@ endif define HAPROXY_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ - $(HAPROXY_MAKE_OPTS) CFLAGS="$(HAPROXY_CFLAGS)" -C $(@D) + $(HAPROXY_MAKE_OPTS) DEFINE="$(HAPROXY_CFLAGS)" -C $(@D) endef define HAPROXY_INSTALL_TARGET_CMDS diff --git a/package/harfbuzz/harfbuzz.hash b/package/harfbuzz/harfbuzz.hash index 6b71e3819c..f107aee8c2 100644 --- a/package/harfbuzz/harfbuzz.hash +++ b/package/harfbuzz/harfbuzz.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c1ce780acd385569f25b9a29603d1d5bc71e6940e55bfdd4f7266fad50e42620 harfbuzz-8.0.1.tar.xz +sha256 f73e1eacd7e2ffae687bc3f056bb0c705b7a05aee86337686e09da8fc1c2030c harfbuzz-8.3.1.tar.xz sha256 ba8f810f2455c2f08e2d56bb49b72f37fcf68f1f4fade38977cfd7372050ad64 COPYING diff --git a/package/harfbuzz/harfbuzz.mk b/package/harfbuzz/harfbuzz.mk index 3118ec62c9..e3da4add43 100644 --- a/package/harfbuzz/harfbuzz.mk +++ b/package/harfbuzz/harfbuzz.mk @@ -4,12 +4,12 @@ # ################################################################################ -HARFBUZZ_VERSION = 8.0.1 +HARFBUZZ_VERSION = 8.3.1 HARFBUZZ_SITE = https://github.com/harfbuzz/harfbuzz/releases/download/$(HARFBUZZ_VERSION) HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.xz HARFBUZZ_LICENSE = MIT, ISC (ucdn library) HARFBUZZ_LICENSE_FILES = COPYING -HARFBUZZ_CPE_ID_VENDOR = harfbuzz_project +HARFBUZZ_CPE_ID_VALID = YES HARFBUZZ_INSTALL_STAGING = YES HARFBUZZ_CONF_OPTS = \ -Dgdi=disabled \ diff --git a/package/haserl/haserl.mk b/package/haserl/haserl.mk index 22950f4d6d..f2a9d714b7 100644 --- a/package/haserl/haserl.mk +++ b/package/haserl/haserl.mk @@ -8,7 +8,7 @@ HASERL_VERSION = 0.9.36 HASERL_SITE = http://downloads.sourceforge.net/project/haserl/haserl-devel HASERL_LICENSE = GPL-2.0 HASERL_LICENSE_FILES = COPYING -HASERL_CPE_ID_VENDOR = haserl_project +HASERL_CPE_ID_VALID = YES HASERL_DEPENDENCIES = host-pkgconf ifeq ($(BR2_PACKAGE_HASERL_WITH_LUA),y) diff --git a/package/hawktracer/hawktracer.hash b/package/hawktracer/hawktracer.hash index 29d00e29ec..585b612c49 100644 --- a/package/hawktracer/hawktracer.hash +++ b/package/hawktracer/hawktracer.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 099f76d5be18ad5d714fded0c6f889f588986cdde2b31f2c0058413698a5f35c hawktracer-3c22b3908912e2ec727fd2ddc5dbfe7464e6b4a5.tar.gz +sha256 12a689a1cfb2ae25ad777b1b2275dbba5cd64905627b0a20d17d6e26de003cef hawktracer-0.11.0.tar.gz sha256 2f377333e64ad08ad3afec8ed6c2c96ced2a6d7d67443eb2784a931bb7b3fd59 LICENSE diff --git a/package/hawktracer/hawktracer.mk b/package/hawktracer/hawktracer.mk index 462d073755..8e722080f5 100644 --- a/package/hawktracer/hawktracer.mk +++ b/package/hawktracer/hawktracer.mk @@ -4,8 +4,8 @@ # ################################################################################ -HAWKTRACER_VERSION = 3c22b3908912e2ec727fd2ddc5dbfe7464e6b4a5 -HAWKTRACER_SITE = $(call github,amzn,hawktracer,$(HAWKTRACER_VERSION)) +HAWKTRACER_VERSION = 0.11.0 +HAWKTRACER_SITE = $(call github,amzn,hawktracer,v$(HAWKTRACER_VERSION)) HAWKTRACER_LICENSE = MIT HAWKTRACER_LICENSE_FILES = LICENSE HAWKTRACER_INSTALL_STAGING = YES diff --git a/package/hdparm/hdparm.hash.9.62 b/package/hdparm/hdparm.hash.9.62 deleted file mode 100644 index b37826caf2..0000000000 --- a/package/hdparm/hdparm.hash.9.62 +++ /dev/null @@ -1,5 +0,0 @@ -# From https://sourceforge.net/projects/hdparm/files/hdparm/ -sha1 100b9a5551b71d87b446b415d56c5d45ac41d131 hdparm-9.62.tar.gz -# Locally computed -sha256 2c0f9d75cdbeda928a25a128cd3d0b7120445ec0910c0b29d4c1038ed1be777f hdparm-9.62.tar.gz -sha256 eae572b06d2733f5c65fbe81680ce2b8a109afee2bdd1a161343c772af0e82e1 LICENSE.TXT diff --git a/package/heimdal/heimdal.mk b/package/heimdal/heimdal.mk index 59b64c358b..786d94a1aa 100644 --- a/package/heimdal/heimdal.mk +++ b/package/heimdal/heimdal.mk @@ -32,7 +32,7 @@ HOST_HEIMDAL_CONF_OPTS = \ HOST_HEIMDAL_CONF_ENV = ac_cv_prog_COMPILE_ET=no MAKEINFO=true HEIMDAL_LICENSE = BSD-3-Clause HEIMDAL_LICENSE_FILES = LICENSE -HEIMDAL_CPE_ID_VENDOR = heimdal_project +HEIMDAL_CPE_ID_VALID = YES # We need compile_et for samba4 define HOST_HEIMDAL_INSTALL_COMPILE_ET diff --git a/package/hidapi/hidapi.hash b/package/hidapi/hidapi.hash index 95046386a7..cc2d13214d 100644 --- a/package/hidapi/hidapi.hash +++ b/package/hidapi/hidapi.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 391d8e52f2d6a5cf76e2b0c079cfefe25497ba1d4659131297081fc0cd744632 hidapi-0.11.0.tar.gz +sha256 a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd hidapi-0.14.0.tar.gz sha256 7d3b087c34f35d4d538e3bcddd1ff8f66e92f9ef336881999482800ddf840913 LICENSE.txt sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE-gpl3.txt sha256 30eb1bef29b46f8ba7ab8b416035dbd93cb034a45481dd97815b944284582cd2 LICENSE-bsd.txt diff --git a/package/hidapi/hidapi.mk b/package/hidapi/hidapi.mk index 9341f0186c..9f5c0a3df2 100644 --- a/package/hidapi/hidapi.mk +++ b/package/hidapi/hidapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -HIDAPI_VERSION = 0.11.0 +HIDAPI_VERSION = 0.14.0 HIDAPI_SITE = $(call github,libusb,hidapi,hidapi-$(HIDAPI_VERSION)) HIDAPI_INSTALL_STAGING = YES # No configure provided, so we need to autoreconf. diff --git a/package/highway/0001-Fix-compilation-for-armv7-with-gcc-8.patch b/package/highway/0001-Fix-compilation-for-armv7-with-gcc-8.patch deleted file mode 100644 index 0634460453..0000000000 --- a/package/highway/0001-Fix-compilation-for-armv7-with-gcc-8.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 94cda9cc8cd12345a6dbe70e40f3119d5bf7ee78 Mon Sep 17 00:00:00 2001 -From: Julien Olivain -Date: Fri, 10 Feb 2023 21:25:36 +0100 -Subject: [PATCH] Fix compilation for armv7 with gcc < 8 - -Highway uses the construct __attribute__((target(+neon-vfpv4)) for -Armv7. The target "+neon-vfpv4" was introduced in gcc 8, in commit [1]. -When using a gcc < 8 (for example, like [2]), compilation fails with -message: - - In file included from /build/highway-1.0.3/hwy/foreach_target.h:81:0, - from /build/highway-1.0.3/hwy/per_target.cc:20: - /build/highway-1.0.3/hwy/per_target.cc: At global scope: - /build/highway-1.0.3/hwy/per_target.cc:23:22: error: attribute(target("+neon-vfpv4")) is unknown - -This commit protects the definition of HWY_TARGET_STR only when gcc -version 8 or greater is used for armv7. - -[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e87afe54b86c478ae63569e51e7abb67d3fe3fce -[2] https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/arm-linux-gnueabihf/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz - -Signed-off-by: Julien Olivain ---- - hwy/ops/set_macros-inl.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/hwy/ops/set_macros-inl.h b/hwy/ops/set_macros-inl.h -index 051dbb3..00b4b1b 100644 ---- a/hwy/ops/set_macros-inl.h -+++ b/hwy/ops/set_macros-inl.h -@@ -230,7 +230,12 @@ - // Can use pragmas instead of -march compiler flag - #if HWY_HAVE_RUNTIME_DISPATCH - #if HWY_ARCH_ARM_V7 -+#if HWY_COMPILER_GCC_ACTUAL >= 800 -+// The __attribute__((target(+neon-vfpv4)) was introduced in gcc >= 8. -+// In case we have a gcc < 8, we can still compile by keeping -+// HWY_TARGET_STR undefined. - #define HWY_TARGET_STR "+neon-vfpv4" -+#endif - #else - #define HWY_TARGET_STR "+crypto" - #endif // HWY_ARCH_ARM_V7 --- -2.39.2 - diff --git a/package/highway/0002-Fix-compilation-for-armv7-targets-with-vfp-v4-and-gc.patch b/package/highway/0002-Fix-compilation-for-armv7-targets-with-vfp-v4-and-gc.patch deleted file mode 100644 index f29b385501..0000000000 --- a/package/highway/0002-Fix-compilation-for-armv7-targets-with-vfp-v4-and-gc.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 93d4579f90dd6ad26fd0dcda6420b3bb2fdcbc02 Mon Sep 17 00:00:00 2001 -From: Julien Olivain -Date: Mon, 20 Feb 2023 23:22:28 +0100 -Subject: [PATCH] Fix compilation for armv7 targets with vfp < v4 and gcc >= 8 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When using a armv7 gcc >= 8 toolchain (like [1]) with Highway -configured with -DHWY_CMAKE_ARM7=OFF and HWY_ENABLE_CONTRIB=ON, -compilation fails with error: - - In file included from /build/highway-1.0.3/hwy/ops/arm_neon-inl.h:33, - from /build/highway-1.0.3/hwy/highway.h:358, - from /build/highway-1.0.3/hwy/contrib/sort/shared-inl.h:104, - from /build/highway-1.0.3/hwy/contrib/sort/traits128-inl.h:27, - from /build/highway-1.0.3/hwy/contrib/sort/vqsort_128d.cc:23, - from /build/highway-1.0.3/hwy/foreach_target.h:81, - from /build/highway-1.0.3/hwy/contrib/sort/vqsort_128d.cc:20: - /toolchain/lib/gcc/arm-buildroot-linux-gnueabihf/12.2.0/include/arm_neon.h: In function 'void hwy::N_NEON::StoreU(Vec128, Full128, uint64_t*)': - /toolchain/lib/gcc/arm-buildroot-linux-gnueabihf/12.2.0/include/arm_neon.h:11052:1: error: inlining failed in call to 'always_inline' 'void vst1q_u64(uint64_t*, uint64x2_t)': target specific option mismatch - 11052 | vst1q_u64 (uint64_t * __a, uint64x2_t __b) - | ^~~~~~~~~ - /build/highway-1.0.3/hwy/ops/arm_neon-inl.h:2786:12: note: called from here - 2786 | vst1q_u64(unaligned, v.raw); - | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ - -The same errors happen when configured with HWY_ENABLE_EXAMPLES=ON, -or from client libraries like libjxl (at other places). - -The issue is that Highway Arm NEON ops have a dependency on the -Advanced SIMD (Neon) v2 and the VFPv4 floating-point instructions. -The SIMD (Neon) v1 and VFPv3 instructions are not supported. - -There was several attempts to fix variants of this issues. -See #834 and #1032. - -HWY_NEON target is selected only if __ARM_NEON is defined. See: -https://github.com/google/highway/blob/1.0.3/hwy/detect_targets.h#L251 - -This test is not sufficient since __ARM_NEON will be predefined in -any cases when Neon is enabled (neon-vfpv3, neon-vfpv4). - -The issue is that HWY_CMAKE_ARM7=ON implies VFPv4 / NEON SIMD v2. -When setting HWY_CMAKE_ARM7=OFF, "neon-vfpv4" will not be forced, -but the code is still using intrinsics assuming VFPv4. Gcc will fail -with error because code cannot be generated for the selected -architecture. - -This issue can be avoided by adding "-DHWY_DISABLED_TARGETS=HWY_NEON" in -CXXFLAGS. The problem with this solution is that every client program will -also need to do the same. This goes against the very purpose of -"hwy/detect_targets.h". - -Technically, Armv7-a processors with VFPv4 can be detected using some -ACLE (Arm C Language Extensions [2]) predefined macros: - -Basically, we want Highway to define HWY_NEON only when the target -supports SIMDv2/VFPv4 or higher. An older target with vfpv3 only -(e.g. Cortex-A8, A9, ...) would NOT define HWY_NEON, and therefore -would fallback on HWY_SCALAR implementation. - -However, not all compiler completely support ACLE. There is also -several versions too. So we cannot easily rely on macros like -"__ARM_VFPV4__" (which clang predefine, but not gcc). - -The alternative solution proposed in this patch, is to declare the -HWY_NEON target architecture as broken, when we detect the target is -Armv7-A, but mandatory features for vfpv4 (namely half-float, FMA) -are missing. Half-floats are tested using the macro __ARM_NEON_FP, -and the FMA with the macro __ARM_FEATURE_FMA. See ACLE [2]. The -intent of declaring the target as broken, rather than selecting -HWY_NEON only if vfpv4 features are detected is to remain a bit -conservative, since the detection is slithly inaccurate. - -For a given compiler/cflags, predefined macros for Arm/ACLE can be -reviewed with commands like: - - arm-linux-gnueabihf-gcc -mcpu=cortex-a9 -mfpu=neon-vfpv3 -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort - arm-linux-gnueabihf-gcc -mcpu=cortex-a7 -mfpu=neon-vfpv4 -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort - clang -target armv7a -mcpu=cortex-a9 -mfpu=neon-vfpv3 -mfloat-abi=hard -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort - clang -target armv7a -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort - -The different values of __ARM_NEON_FP can be seen, depending which -"-mfpu" is passed. Same for __ARM_FEATURE_FMA. - -[1] https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2022.08-1.tar.bz2 -[2] https://github.com/ARM-software/acle/ - -Signed-off-by: Julien Olivain ---- - hwy/detect_targets.h | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/hwy/detect_targets.h b/hwy/detect_targets.h -index 2beca95..40ae7fe 100644 ---- a/hwy/detect_targets.h -+++ b/hwy/detect_targets.h -@@ -154,6 +154,16 @@ - (defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN)) - #define HWY_BROKEN_TARGETS (HWY_NEON) - -+// armv7-a without a detected vfpv4 is not supported -+// (for example Cortex-A8, Cortex-A9) -+// vfpv4 always have neon half-float _and_ FMA. -+#elif HWY_ARCH_ARM_V7 && \ -+ (__ARM_ARCH_PROFILE == 'A') && \ -+ !defined(__ARM_VFPV4__) && \ -+ !((__ARM_NEON_FP & 0x2 /* half-float */) && \ -+ (__ARM_FEATURE_FMA == 1)) -+#define HWY_BROKEN_TARGETS (HWY_NEON) -+ - // SVE[2] require recent clang or gcc versions. - #elif (HWY_COMPILER_CLANG && HWY_COMPILER_CLANG < 1100) || \ - (HWY_COMPILER_GCC_ACTUAL && HWY_COMPILER_GCC_ACTUAL < 1000) --- -2.39.2 - diff --git a/package/highway/highway.hash b/package/highway/highway.hash index 16a9282176..270131134e 100644 --- a/package/highway/highway.hash +++ b/package/highway/highway.hash @@ -1,3 +1,4 @@ # Locally computed: -sha256 566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e highway-1.0.3.tar.gz +sha256 354a8b4539b588e70b98ec70844273e3f2741302c4c377bcc4e81b3d1866f7c9 highway-1.1.0.tar.gz sha256 43070e2d4e532684de521b885f385d0841030efa2b1a20bafb76133a5e1379c1 LICENSE +sha256 d25e82e26acd42ca3ccc9993622631163425b869b9e16284226d534cff6470f2 LICENSE-BSD3 diff --git a/package/highway/highway.mk b/package/highway/highway.mk index 56d63a83f9..3eb0d7a4aa 100644 --- a/package/highway/highway.mk +++ b/package/highway/highway.mk @@ -4,10 +4,10 @@ # ################################################################################ -HIGHWAY_VERSION = 1.0.3 +HIGHWAY_VERSION = 1.1.0 HIGHWAY_SITE = $(call github,google,highway,$(HIGHWAY_VERSION)) -HIGHWAY_LICENSE = Apache-2.0 -HIGHWAY_LICENSE_FILES = LICENSE +HIGHWAY_LICENSE = Apache-2.0 or BSD-3-Clause +HIGHWAY_LICENSE_FILES = LICENSE LICENSE-BSD3 HIGHWAY_INSTALL_STAGING = YES HIGHWAY_CXXFLAGS = $(TARGET_CXXFLAGS) @@ -41,6 +41,10 @@ else HIGHWAY_CONF_OPTS += -DHWY_CMAKE_ARM7=OFF endif +ifeq ($(BR2_RISCV_32),y) +HIGHWAY_CONF_OPTS += -DHWY_CMAKE_RVV=OFF +endif + # Workaround for gcc bug 104028 on m68k. # See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104028 ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_104028),y) diff --git a/package/hiredis/0001-CMakeList-add-option-to-not-install-NuGet-packaging.patch b/package/hiredis/0001-CMakeList-add-option-to-not-install-NuGet-packaging.patch new file mode 100644 index 0000000000..dbe8bc0ae6 --- /dev/null +++ b/package/hiredis/0001-CMakeList-add-option-to-not-install-NuGet-packaging.patch @@ -0,0 +1,51 @@ +From ff7a064490e0aacf718a5263b25b2ddaad0d245e Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sat, 20 Jan 2024 13:53:39 +0100 +Subject: [PATCH] CMakeList: add option to not install NuGet packaging + +The NuGet hiredis.target packaging description file is of no use on +systems that are not using NuGet, like Linux systems, and the spurious +presence of that file is not "clean". + +Add a cmake option to allow users to disable installation of that file. +As some people may have relied on that file to be installed, continue to +install it by default. + +Signed-off-by: Yann E. MORIN +Upstream: https://github.com/redis/hiredis/commit/ff7a064490e0aacf718a5263b25b2ddaad0d245e +--- + CMakeLists.txt | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b7d6ee8..0fcf29b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,9 @@ OPTION(DISABLE_TESTS "If tests should be compiled or not" OFF) + OPTION(ENABLE_SSL_TESTS "Should we test SSL connections" OFF) + OPTION(ENABLE_EXAMPLES "Enable building hiredis examples" OFF) + OPTION(ENABLE_ASYNC_TESTS "Should we run all asynchronous API tests" OFF) ++# Historically, the NuGet file was always install; default ++# to ON for those who rely on that historical behaviour. ++OPTION(ENABLE_NUGET "Install NuGET packaging details" ON) + + MACRO(getVersionBit name) + SET(VERSION_REGEX "^#define ${name} (.+)$") +@@ -105,9 +108,11 @@ if (MSVC AND BUILD_SHARED_LIBS) + CONFIGURATIONS Debug RelWithDebInfo) + endif() + +-# For NuGet packages +-INSTALL(FILES hiredis.targets +- DESTINATION build/native) ++if (ENABLE_NUGET) ++ # For NuGet packages ++ INSTALL(FILES hiredis.targets ++ DESTINATION build/native) ++endif() + + INSTALL(FILES hiredis.h read.h sds.h async.h alloc.h sockcompat.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hiredis) +-- +2.43.0 + diff --git a/package/hiredis/hiredis.mk b/package/hiredis/hiredis.mk index a7a6d639e6..476b079336 100644 --- a/package/hiredis/hiredis.mk +++ b/package/hiredis/hiredis.mk @@ -12,8 +12,8 @@ HIREDIS_LICENSE_FILES = COPYING HIREDIS_CPE_ID_VENDOR = redislabs HIREDIS_INSTALL_STAGING = YES -HIREDIS_CONF_OPTS = -DDISABLE_TESTS=ON -HOST_HIREDIS_CONF_OPTS = -DDISABLE_TESTS=ON -DENABLE_SSL=OFF +HIREDIS_CONF_OPTS = -DENABLE_NUGET=OFF -DDISABLE_TESTS=ON +HOST_HIREDIS_CONF_OPTS = -DENABLE_NUGET=OFF -DDISABLE_TESTS=ON -DENABLE_SSL=OFF # Set CMAKE_BUILD_TYPE to Release or the libraries will be suffixed with "d" # resulting in build failures when linking. diff --git a/package/htop/htop.hash b/package/htop/htop.hash index 12dc864de1..3e45e1a21a 100644 --- a/package/htop/htop.hash +++ b/package/htop/htop.hash @@ -1,5 +1,5 @@ -# From https://github.com/htop-dev/htop/releases/download/3.2.2/htop-3.2.2.tar.xz.sha256 -sha256 bac9e9ab7198256b8802d2e3b327a54804dc2a19b77a5f103645b11c12473dc8 htop-3.2.2.tar.xz +# From https://github.com/htop-dev/htop/releases/download/3.3.0/htop-3.3.0.tar.xz.sha256 +sha256 a69acf9b42ff592c4861010fce7d8006805f0d6ef0e8ee647a6ee6e59b743d5c htop-3.3.0.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/htop/htop.mk b/package/htop/htop.mk index aafda5d48f..6dbaae3796 100644 --- a/package/htop/htop.mk +++ b/package/htop/htop.mk @@ -4,7 +4,7 @@ # ################################################################################ -HTOP_VERSION = 3.2.2 +HTOP_VERSION = 3.3.0 HTOP_SOURCE = htop-$(HTOP_VERSION).tar.xz HTOP_SITE = https://github.com/htop-dev/htop/releases/download/$(HTOP_VERSION) HTOP_DEPENDENCIES = ncurses diff --git a/package/hwdata/hwdata.hash b/package/hwdata/hwdata.hash index 84979a70fa..6915e04e46 100644 --- a/package/hwdata/hwdata.hash +++ b/package/hwdata/hwdata.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 8059ed6f696b5be4bf77c59d57fc26e35d9e579ba2629e325400a6eb8b91089f hwdata-0.371.tar.gz +sha256 0db28dc635d5059ad23d068d2e56ef5dc540f95bc813ea5a3c0f5d63b03d20d6 hwdata-0.373.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 21d0406f93e884a050426ebc21931839a45d56bfcbcbfdda7686d583f36f107f LICENSE diff --git a/package/hwdata/hwdata.mk b/package/hwdata/hwdata.mk index cac6b80185..025f5b4969 100644 --- a/package/hwdata/hwdata.mk +++ b/package/hwdata/hwdata.mk @@ -4,7 +4,7 @@ # ################################################################################ -HWDATA_VERSION = 0.371 +HWDATA_VERSION = 0.373 HWDATA_SITE = $(call github,vcrhonek,hwdata,v$(HWDATA_VERSION)) HWDATA_LICENSE = GPL-2.0+, BSD-3-Clause, XFree86 1.0 HWDATA_LICENSE_FILES = COPYING LICENSE diff --git a/package/hyperfine/hyperfine.hash b/package/hyperfine/hyperfine.hash index 50cc7694b3..c7e094080a 100644 --- a/package/hyperfine/hyperfine.hash +++ b/package/hyperfine/hyperfine.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 28fcd72c556b4ca2150577217a4d7d51907b7e00ff86b764943d068202a92ace hyperfine-1.14.0.tar.gz +sha256 40204671ee8ca73b15c88fcbc6399af0aca69ae9fc45f3ae36487b9c5c07cf48 hyperfine-1.18.0.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE-APACHE sha256 1dfee18c2ff07ce551de4d6a1d2db158c0380746b488a7f0d08c8e0d3568b7c3 LICENSE-MIT diff --git a/package/hyperfine/hyperfine.mk b/package/hyperfine/hyperfine.mk index 62246f002e..b9f09a2820 100644 --- a/package/hyperfine/hyperfine.mk +++ b/package/hyperfine/hyperfine.mk @@ -4,7 +4,7 @@ # ################################################################################ -HYPERFINE_VERSION = 1.14.0 +HYPERFINE_VERSION = 1.18.0 HYPERFINE_SITE = $(call github,sharkdp,hyperfine,v$(HYPERFINE_VERSION)) HYPERFINE_LICENSE = Apache-2.0 or MIT HYPERFINE_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT diff --git a/package/i2c-tools/0001-py-smbus-Use-setuptools-instead-of-distutils.patch b/package/i2c-tools/0001-py-smbus-Use-setuptools-instead-of-distutils.patch new file mode 100644 index 0000000000..63b2a7f82f --- /dev/null +++ b/package/i2c-tools/0001-py-smbus-Use-setuptools-instead-of-distutils.patch @@ -0,0 +1,38 @@ +From cf3541b8a7ed50782edd05836020d31230fb86c6 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Wed, 19 Jan 2022 12:08:53 +0100 +Subject: py-smbus: Use setuptools instead of distutils + +As per [1], distutils is deprecated in Python 3.10 and will be removed +entirely in Python 3.12. + +As setuptools is essentially an enhanced version of distutils, it's +trivial to port to that. + +[1] https://docs.python.org/3/whatsnew/3.10.html#distutils-deprecated + +Signed-off-by: Ross Burton +Signed-off-by: Jean Delvare + +Upstream: https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/commit/?id=cf3541b8a7ed50782edd05836020d31230fb86c6 + +Signed-off-by: Bernd Kuhls +--- + py-smbus/setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/py-smbus/setup.py b/py-smbus/setup.py +index 28a4500..26db33a 100644 +--- a/py-smbus/setup.py ++++ b/py-smbus/setup.py +@@ -1,6 +1,6 @@ + #!/usr/bin/env python + +-from distutils.core import setup, Extension ++from setuptools import setup, Extension + + setup( name="smbus", + version="1.1", +-- +cgit + diff --git a/package/i2c-tools/i2c-tools.mk b/package/i2c-tools/i2c-tools.mk index 5c9ce26628..99388d9537 100644 --- a/package/i2c-tools/i2c-tools.mk +++ b/package/i2c-tools/i2c-tools.mk @@ -9,12 +9,12 @@ I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c) I2C_TOOLS_LICENSE_FILES = COPYING COPYING.LGPL README -I2C_TOOLS_CPE_ID_VENDOR = i2c-tools_project +I2C_TOOLS_CPE_ID_VALID = YES I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog I2C_TOOLS_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_PYTHON3),y) -I2C_TOOLS_DEPENDENCIES += python3 +I2C_TOOLS_DEPENDENCIES += host-python-setuptools python3 endif ifeq ($(BR2_STATIC_LIBS),y) @@ -28,23 +28,23 @@ endif # Build/install steps mirror the distutil python package type in the python package # infrastructure ifeq ($(BR2_PACKAGE_PYTHON3),y) -# BASE_ENV taken from PKG_PYTHON_DISTUTILS_ENV in package/pkg-python.mk +# BASE_ENV taken from PKG_PYTHON_SETUPTOOLS_ENV in package/pkg-python.mk I2C_TOOLS_PYTHON_BASE_ENV = \ - $(PKG_PYTHON_DISTUTILS_ENV) \ + $(PKG_PYTHON_SETUPTOOLS_ENV) \ CFLAGS="$(TARGET_CFLAGS) -I../include" define I2C_TOOLS_BUILD_PYSMBUS (cd $(@D)/py-smbus; \ $(I2C_TOOLS_PYTHON_BASE_ENV) \ - $(HOST_DIR)/bin/python setup.py build \ - $(PKG_PYTHON_DISTUTILS_BUILD_OPTS)) + $(HOST_DIR)/bin/python setup.py build) endef define I2C_TOOLS_INSTALL_PYSMBUS (cd $(@D)/py-smbus; \ $(I2C_TOOLS_PYTHON_BASE_ENV) \ $(HOST_DIR)/bin/python setup.py install \ - $(PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS)) + $(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \ + --root=$(TARGET_DIR)) endef endif # BR2_PACKAGE_PYTHON3 diff --git a/package/ibm-sw-tpm2/0002-Add-support-for-OpenSSL-3-2-x.patch b/package/ibm-sw-tpm2/0002-Add-support-for-OpenSSL-3-2-x.patch new file mode 100644 index 0000000000..6732efce8c --- /dev/null +++ b/package/ibm-sw-tpm2/0002-Add-support-for-OpenSSL-3-2-x.patch @@ -0,0 +1,28 @@ +From beea0f97b3c95ec69f3e269df1af87eb2cdd3c46 Mon Sep 17 00:00:00 2001 +From: Otto Hollmann +Date: Tue, 12 Dec 2023 13:58:32 +0100 +Subject: [PATCH] Add support for OpenSSL 3.2.x + +Upstream: https://github.com/kgoldman/ibmswtpm2/pull/13 +Signed-off-by: Fabrice Fontaine +--- + src/TpmToOsslMath.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/TpmToOsslMath.h b/src/TpmToOsslMath.h +index 0b18191..1271937 100644 +--- a/src/TpmToOsslMath.h ++++ b/src/TpmToOsslMath.h +@@ -76,10 +76,10 @@ + * As of release 3.0.0, OPENSSL_VERSION_NUMBER is a combination of the + * major (M), minor (NN) and patch (PP) version into a single integer 0xMNN00PP0L + */ +-#if OPENSSL_VERSION_NUMBER > 0x30100ff0L ++#if OPENSSL_VERSION_NUMBER > 0x30200ff0L + // Check the bignum_st definition in crypto/bn/bn_lcl.h or crypto/bn/bn_local.h and either update + // the version check or provide the new definition for this version. +-// Currently safe for all 3.1.x ++// Currently safe for all 3.2.x + # error Untested OpenSSL version + #elif OPENSSL_VERSION_NUMBER >= 0x10100000L + // from crypto/bn/bn_lcl.h diff --git a/package/imagemagick/Config.in.host b/package/imagemagick/Config.in.host index 5055101e23..26912e5f04 100644 --- a/package/imagemagick/Config.in.host +++ b/package/imagemagick/Config.in.host @@ -18,6 +18,7 @@ config BR2_PACKAGE_HOST_IMAGEMAGICK_SVG bool "SVG support" depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # host-librsvg depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-pango -> host-harfbuzz + select BR2_PACKAGE_HOST_IMAGEMAGICK_XML help Say 'y' here is you need ImageMagick tools (like convert) to support SVG. @@ -29,4 +30,14 @@ comment "SVG support needs host gcc >= 4.9" depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS depends on !BR2_HOST_GCC_AT_LEAST_4_9 +config BR2_PACKAGE_HOST_IMAGEMAGICK_XML + bool "XML support" + help + Say 'y' here if you need ImageMagick to support XML. Indeed, + ImageMagick does not trust unvalidated XMP profiles in + images. If such a XML profile is encountered inside e.g. a + PNG image the processing is aborted. Validating the XMP + profile requires that ImageMagick is compiled with XML + support. + endif diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index 8988dad5da..fd80316ec5 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4333ef2fe63f2510988af82b726f5b1919ebd54037ea6674566c69fcceb67e11 imagemagick-7.1.0-51.tar.gz +sha256 09402e5f17c6575ef9f010bb2e21ae1710f1f3426f115ad4317ee9129c32608e imagemagick-7.1.1-21.tar.gz sha256 8cceeb67d4e783cb63075c7311fdb990fa0369ee80fbd0f481064cd02386ca2d LICENSE diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 91dd208b0d..53cf02abf4 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.1.0-51 +IMAGEMAGICK_VERSION = 7.1.1-21 IMAGEMAGICK_SITE = $(call github,ImageMagick,ImageMagick,$(IMAGEMAGICK_VERSION)) IMAGEMAGICK_LICENSE = Apache-2.0 IMAGEMAGICK_LICENSE_FILES = LICENSE @@ -238,22 +238,26 @@ HOST_IMAGEMAGICK_DEPENDENCIES += \ host-fontconfig \ host-freetype \ host-librsvg \ - host-libxml2 \ host-pango HOST_IMAGEMAGICK_CONF_ENV += ac_cv_path_xml2_config=$(HOST_DIR)/bin/xml2-config HOST_IMAGEMAGICK_CONF_OPTS += \ --with-fontconfig \ --with-freetype \ --with-pango \ - --with-rsvg \ - --with-xml + --with-rsvg else HOST_IMAGEMAGICK_CONF_OPTS += \ --without-fontconfig \ --without-freetype \ --without-pango \ - --without-rsvg \ - --without-xml + --without-rsvg +endif + +ifeq ($(BR2_PACKAGE_HOST_IMAGEMAGICK_XML),y) +HOST_IMAGEMAGICK_CONF_OPTS += --with-xml +HOST_IMAGEMAGICK_DEPENDENCIES += host-libxml2 +else +HOST_IMAGEMAGICK_CONF_OPTS += --without-xml endif $(eval $(autotools-package)) diff --git a/package/imx-mkimage/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch b/package/imx-mkimage/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch deleted file mode 100644 index 66891ac8e7..0000000000 --- a/package/imx-mkimage/0001-Add-support-for-overriding-BL32-and-BL33-not-only-BL.patch +++ /dev/null @@ -1,60 +0,0 @@ -From a4993eda7483cd01662f3f3e2965e7a568cb7178 Mon Sep 17 00:00:00 2001 -From: Erik Larsson -Date: Thu, 8 Mar 2018 19:04:37 +0100 -Subject: [PATCH] Add support for overriding BL32 and BL33 not only BL31 - -Signed-off-by: Erik Larsson -Signed-off-by: Christopher Dahlberg -Signed-off-by: Marcus Folkesson ---- - iMX8M/mkimage_fit_atf.sh | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/iMX8M/mkimage_fit_atf.sh b/iMX8M/mkimage_fit_atf.sh -index 4f2b3f3..0444ff0 100755 ---- a/iMX8M/mkimage_fit_atf.sh -+++ b/iMX8M/mkimage_fit_atf.sh -@@ -18,23 +18,23 @@ if [ ! -f $BL31 ]; then - echo "ERROR: BL31 file $BL31 NOT found" >&2 - exit 0 - else -- echo "bl31.bin size: " >&2 -- ls -lct bl31.bin | awk '{print $5}' >&2 -+ echo "$BL31 size: " >&2 -+ ls -lct $BL31 | awk '{print $5}' >&2 - fi - --BL32="tee.bin" -+[ -z "$BL32" ] && BL32="tee.bin" - LOADABLES="\"atf-1\"" - - if [ ! -f $BL32 ]; then - BL32=/dev/null - else - echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2 -- echo "tee.bin size: " >&2 -- ls -lct tee.bin | awk '{print $5}' >&2 -+ echo "$BL32 size: " >&2 -+ ls -lct $BL32 | awk '{print $5}' >&2 - LOADABLES="$LOADABLES, \"tee-1\"" - fi - --BL33="u-boot-nodtb.bin" -+[ -z "$BL33" ] && BL33="u-boot-nodtb.bin" - DEK_BLOB="dek_blob_fit_dummy.bin" - - if [ ! -f $DEK_BLOB ]; then -@@ -49,8 +49,8 @@ if [ ! -f $BL33 ]; then - exit 0 - else - -- echo "u-boot-nodtb.bin size: " >&2 -- ls -lct u-boot-nodtb.bin | awk '{print $5}' >&2 -+ echo "$BL33 size: " >&2 -+ ls -lct $BL33 | awk '{print $5}' >&2 - fi - - for dtname in $* --- -2.31.1 - diff --git a/package/imx-mkimage/0003-Add-unused-fake-version.patch b/package/imx-mkimage/0001-Add-unused-fake-version.patch similarity index 100% rename from package/imx-mkimage/0003-Add-unused-fake-version.patch rename to package/imx-mkimage/0001-Add-unused-fake-version.patch diff --git a/package/imx-mkimage/0002-Add-LDFLAGS-to-link-step.patch b/package/imx-mkimage/0002-Add-LDFLAGS-to-link-step.patch deleted file mode 100644 index 086e634d23..0000000000 --- a/package/imx-mkimage/0002-Add-LDFLAGS-to-link-step.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b7ace564b419a05a375a205fd4df8933716b241a Mon Sep 17 00:00:00 2001 -From: Erik Larsson -Date: Tue, 6 Mar 2018 12:28:39 +0100 -Subject: [PATCH] Add LDFLAGS to link step - -Signed-off-by: Erik Larsson ---- - iMX8M/soc.mak | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak -index 4bfdc37..806b805 100644 ---- a/iMX8M/soc.mak -+++ b/iMX8M/soc.mak -@@ -84,7 +84,7 @@ FW_DIR = imx-boot/imx-boot-tools/$(PLAT) - $(MKIMG): mkimage_imx8.c - @echo "PLAT="$(PLAT) "HDMI="$(HDMI) - @echo "Compiling mkimage_imx8" -- $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) -lz -+ $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) $(LDFLAGS) -lz - - lpddr4_imem_1d = lpddr4_pmu_train_1d_imem$(LPDDR_FW_VERSION).bin - lpddr4_dmem_1d = lpddr4_pmu_train_1d_dmem$(LPDDR_FW_VERSION).bin --- -2.31.1 - diff --git a/package/imx-mkimage/0004-Add-support-for-overriding-BL31-BL32-and-BL33.patch b/package/imx-mkimage/0004-Add-support-for-overriding-BL31-BL32-and-BL33.patch deleted file mode 100644 index 494aaf1566..0000000000 --- a/package/imx-mkimage/0004-Add-support-for-overriding-BL31-BL32-and-BL33.patch +++ /dev/null @@ -1,61 +0,0 @@ -From b1e77d8ccabc6a3910ede2441ff567326291a355 Mon Sep 17 00:00:00 2001 -From: Thomas Perrot -Date: Tue, 26 Apr 2022 15:10:04 +0200 -Subject: [PATCH] Add support for overriding BL31, BL32 and BL33 - -Signed-off-by: Thomas Perrot ---- - iMX8M/print_fit_hab.sh | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/iMX8M/print_fit_hab.sh b/iMX8M/print_fit_hab.sh -index b915115..dbc28f2 100755 ---- a/iMX8M/print_fit_hab.sh -+++ b/iMX8M/print_fit_hab.sh -@@ -1,12 +1,16 @@ - #!/bin/bash - --BL32="tee.bin" -- - let fit_off=$1 - - # keep backward compatibility - [ -z "$TEE_LOAD_ADDR" ] && TEE_LOAD_ADDR="0xfe000000" - -+[ -z "$BL31" ] && BL31="bl31.bin" -+ -+[ -z "$BL32" ] && BL32="tee.bin" -+ -+[ -z "$BL33" ] && BL33="u-boot-nodtb.bin" -+ - if [ -z "$ATF_LOAD_ADDR" ]; then - echo "ERROR: BL31 load address is not set" >&2 - exit 0 -@@ -26,7 +30,7 @@ else - let uboot_sign_off=$((fit_off - 0x8000 - ivt_off + 0x3000)) - fi - --let uboot_size=$(ls -lct u-boot-nodtb.bin | awk '{print $5}') -+let uboot_size=$(ls -lct $BL33 | awk '{print $5}') - let uboot_load_addr=0x40200000 - - let last_sign_off=$(((uboot_sign_off + uboot_size + 3) & ~3)) -@@ -64,13 +68,13 @@ done - - let atf_sign_off=$((last_sign_off)) - let atf_load_addr=$ATF_LOAD_ADDR --let atf_size=$(ls -lct bl31.bin | awk '{print $5}') -+let atf_size=$(ls -lct $BL31 | awk '{print $5}') - - if [ ! -f $BL32 ]; then - let tee_size=0x0 - let tee_sign_off=$((atf_sign_off + atf_size)) - else -- let tee_size=$(ls -lct tee.bin | awk '{print $5}') -+ let tee_size=$(ls -lct $BL32 | awk '{print $5}') - - let tee_sign_off=$(((atf_sign_off + atf_size + 3) & ~3)) - let tee_load_addr=$TEE_LOAD_ADDR --- -2.31.1 - diff --git a/package/imx-mkimage/imx-mkimage.hash b/package/imx-mkimage/imx-mkimage.hash index 8346fd64b1..034b3d02ed 100644 --- a/package/imx-mkimage/imx-mkimage.hash +++ b/package/imx-mkimage/imx-mkimage.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 593bd94aac027844bc58c62aae55557c14e1f8a99e68ba235a46f083759df3d4 imx-mkimage-lf-5.10.72_2.2.0.tar.gz -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 fd538dc571ce06609d6a4d9ee8cfd7d0c93ec4685afa9f1079e5a5931ad3bdbc imx-mkimage-lf-6.1.36_2.1.0.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c LICENSE diff --git a/package/imx-mkimage/imx-mkimage.mk b/package/imx-mkimage/imx-mkimage.mk index 54c948e0d3..6e70a946bf 100644 --- a/package/imx-mkimage/imx-mkimage.mk +++ b/package/imx-mkimage/imx-mkimage.mk @@ -4,10 +4,10 @@ # ################################################################################ -IMX_MKIMAGE_VERSION = lf-5.10.72_2.2.0 +IMX_MKIMAGE_VERSION = lf-6.1.36_2.1.0 IMX_MKIMAGE_SITE = $(call github,nxp-imx,imx-mkimage,$(IMX_MKIMAGE_VERSION)) IMX_MKIMAGE_LICENSE = GPL-2.0+ -IMX_MKIMAGE_LICENSE_FILES = COPYING +IMX_MKIMAGE_LICENSE_FILES = LICENSE HOST_IMX_MKIMAGE_DEPENDENCIES = host-zlib ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN)$(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP),y) @@ -15,7 +15,8 @@ ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M)$(BR2_PACKAGE_FREESCALE_IMX_PLA define HOST_IMX_MKIMAGE_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ CFLAGS="$(HOST_CFLAGS) -std=c99" \ - -C $(@D)/iMX8M -f soc.mak mkimage_imx8 + BUILD_LDFLAGS="$(HOST_LDFLAGS)" \ + -C $(@D)/iMX8M SOC_DIR=iMX8M -f soc.mak mkimage_imx8 endef define HOST_IMX_MKIMAGE_INSTALL_CMDS $(INSTALL) -D -m 755 $(@D)/iMX8M/mkimage_imx8 $(HOST_DIR)/bin/mkimage_imx8 @@ -23,7 +24,7 @@ define HOST_IMX_MKIMAGE_INSTALL_CMDS $(INSTALL) -D -m 755 $(@D)/iMX8M/print_fit_hab.sh $(HOST_DIR)/bin/print_fit_hab.sh endef else -# i.MX8 and i.MX8X +# i.MX8, i.MX8X and i.MX9 define HOST_IMX_MKIMAGE_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) \ CFLAGS="$(HOST_CFLAGS) -std=c99" \ diff --git a/package/inadyn/inadyn.hash b/package/inadyn/inadyn.hash index 94af9f87b7..eb5249e371 100644 --- a/package/inadyn/inadyn.hash +++ b/package/inadyn/inadyn.hash @@ -1,5 +1,5 @@ # Upstream .sha256 from GitHub -sha256 9ddac7b6b0a1ed372c6cb5afaec6bea927ab539db02c8536dd10d73bd1d37c95 inadyn-2.11.0.tar.gz +sha256 38fe00f20b293e64a89efc85f766ff40f0be3bcf9c3ed68b842104540a60806e inadyn-2.12.0.tar.gz # Locally computed sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/inadyn/inadyn.mk b/package/inadyn/inadyn.mk index 3e346fd769..fa2eedc1f3 100644 --- a/package/inadyn/inadyn.mk +++ b/package/inadyn/inadyn.mk @@ -4,7 +4,7 @@ # ################################################################################ -INADYN_VERSION = 2.11.0 +INADYN_VERSION = 2.12.0 INADYN_SITE = https://github.com/troglobit/inadyn/releases/download/v$(INADYN_VERSION) INADYN_LICENSE = GPL-2.0+ INADYN_LICENSE_FILES = COPYING diff --git a/package/inadyn/inadyn.service b/package/inadyn/inadyn.service deleted file mode 100644 index abc0a1e401..0000000000 --- a/package/inadyn/inadyn.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=DDNS client -After=syslog.target network.target - -[Service] -ExecStart=/usr/bin/inadyn -Restart=always - -[Install] -WantedBy=multi-user.target diff --git a/package/inih/inih.hash b/package/inih/inih.hash index e2ed923c7a..f20d7ac0b6 100644 --- a/package/inih/inih.hash +++ b/package/inih/inih.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4f2ba6bd122d30281a8c7a4d5723b7af90b56aa828c0e88256d7fceda03a491a inih-56.tar.gz +sha256 e79216260d5dffe809bda840be48ab0eec7737b2bb9f02d2275c1b46344ea7b7 inih-58.tar.gz sha256 9ae3b39e83e9158e44b67733baa3bb2d84e80efdcfb14a5820210a42c7abdf7f LICENSE.txt diff --git a/package/inih/inih.mk b/package/inih/inih.mk index c43412894a..80cde0942b 100644 --- a/package/inih/inih.mk +++ b/package/inih/inih.mk @@ -4,7 +4,7 @@ # ################################################################################ -INIH_VERSION = 56 +INIH_VERSION = 58 INIH_SITE = $(call github,benhoyt,inih,r$(INIH_VERSION)) INIH_INSTALL_STAGING = YES INIH_LICENSE = BSD-3-Clause diff --git a/package/intel-gmmlib/intel-gmmlib.hash b/package/intel-gmmlib/intel-gmmlib.hash index c164c78300..d9cad026c4 100644 --- a/package/intel-gmmlib/intel-gmmlib.hash +++ b/package/intel-gmmlib/intel-gmmlib.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 62d2f8333f1da3361952546a83dd40d1eb23d8bddacf67a160e63f565b68b5a6 intel-gmmlib-22.3.9.tar.gz +sha256 381f7ad104e3d0d8dd6c3ec0c8304e410a479c439e72db35c83fb7e2b0ec556f intel-gmmlib-22.3.18.tar.gz sha256 8b7446825df3f8b0268307e272aa6aaaf78351c83161d860d02c913c22666c48 LICENSE.md diff --git a/package/intel-gmmlib/intel-gmmlib.mk b/package/intel-gmmlib/intel-gmmlib.mk index c637b8a5b4..94a07ebfb8 100644 --- a/package/intel-gmmlib/intel-gmmlib.mk +++ b/package/intel-gmmlib/intel-gmmlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -INTEL_GMMLIB_VERSION = 22.3.9 +INTEL_GMMLIB_VERSION = 22.3.18 INTEL_GMMLIB_SITE = https://github.com/intel/gmmlib/archive INTEL_GMMLIB_LICENSE = MIT INTEL_GMMLIB_LICENSE_FILES = LICENSE.md diff --git a/package/intel-mediadriver/intel-mediadriver.hash b/package/intel-mediadriver/intel-mediadriver.hash index d22732b99f..6bc9549c11 100644 --- a/package/intel-mediadriver/intel-mediadriver.hash +++ b/package/intel-mediadriver/intel-mediadriver.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2d0e8892199f1f2365fd8729776bdfd9968a97a63ce1e759b3724bff57e9fc08 intel-media-23.3.0.tar.gz +sha256 e23ea37c98d8d4b9d1a3a134b6489256d8f5a7a4ee71967b1db8ade70052654f intel-media-24.1.5.tar.gz sha256 74979d5aaee78b8da82e3aafd415a216b6131dfff6d95d6930927c8a4e3bded3 LICENSE.md diff --git a/package/intel-mediadriver/intel-mediadriver.mk b/package/intel-mediadriver/intel-mediadriver.mk index 58376bde2b..875e7e7c78 100644 --- a/package/intel-mediadriver/intel-mediadriver.mk +++ b/package/intel-mediadriver/intel-mediadriver.mk @@ -6,7 +6,7 @@ # based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack -INTEL_MEDIADRIVER_VERSION = 23.3.0 +INTEL_MEDIADRIVER_VERSION = 24.1.5 INTEL_MEDIADRIVER_SITE = https://github.com/intel/media-driver/archive INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz INTEL_MEDIADRIVER_LICENSE = MIT, BSD-3-Clause diff --git a/package/intel-microcode/intel-microcode.hash b/package/intel-microcode/intel-microcode.hash index 64c50dd6f7..742332d552 100644 --- a/package/intel-microcode/intel-microcode.hash +++ b/package/intel-microcode/intel-microcode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 fe49bb719441f20335ed6004090ab38cdc374134d36d4f5d30be7ed93b820313 intel-microcode-20230808.tar.gz +sha256 cee26f311f7e2c039dd48cd30f995183bde9b98fb4c3039800e2ddaf5c090e55 intel-microcode-20231114.tar.gz sha256 03efb1491c7e899feb2665fa299363e64035e5444c1b8bc1f6ebed30de964e12 license diff --git a/package/intel-microcode/intel-microcode.mk b/package/intel-microcode/intel-microcode.mk index 0a89d3a603..a159baa93d 100644 --- a/package/intel-microcode/intel-microcode.mk +++ b/package/intel-microcode/intel-microcode.mk @@ -4,7 +4,7 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20230808 +INTEL_MICROCODE_VERSION = 20231114 INTEL_MICROCODE_SITE = $(call github,intel,Intel-Linux-Processor-Microcode-Data-Files,microcode-$(INTEL_MICROCODE_VERSION)) INTEL_MICROCODE_LICENSE = PROPRIETARY INTEL_MICROCODE_LICENSE_FILES = license diff --git a/package/iodine/0001-disable-systemd-and-selinux.patch b/package/iodine/0001-disable-systemd-and-selinux.patch deleted file mode 100644 index 965abb7cff..0000000000 --- a/package/iodine/0001-disable-systemd-and-selinux.patch +++ /dev/null @@ -1,29 +0,0 @@ -Disable selinux and systemd support since they check for host headers. - -Signed-off-by: Gustavo Zacarias - -diff -Nura iodine-0.7.0.orig/src/osflags iodine-0.7.0/src/osflags ---- iodine-0.7.0.orig/src/osflags 2015-02-20 14:59:00.799958145 -0300 -+++ iodine-0.7.0/src/osflags 2015-02-20 15:05:54.791135141 -0300 -@@ -18,8 +18,8 @@ - ;; - Linux) - FLAGS=""; -- [ -e /usr/include/selinux/selinux.h ] && FLAGS="$FLAGS -lselinux"; -- [ -e /usr/include/systemd/sd-daemon.h ] && FLAGS="$FLAGS -lsystemd-daemon"; -+ #[ -e /usr/include/selinux/selinux.h ] && FLAGS="$FLAGS -lselinux"; -+ #[ -e /usr/include/systemd/sd-daemon.h ] && FLAGS="$FLAGS -lsystemd-daemon"; - echo $FLAGS; - ;; - esac -@@ -34,8 +34,8 @@ - ;; - Linux) - FLAGS="-D_GNU_SOURCE" -- [ -e /usr/include/selinux/selinux.h ] && FLAGS="$FLAGS -DHAVE_SETCON"; -- [ -e /usr/include/systemd/sd-daemon.h ] && FLAGS="$FLAGS -DHAVE_SYSTEMD"; -+ #[ -e /usr/include/selinux/selinux.h ] && FLAGS="$FLAGS -DHAVE_SETCON"; -+ #[ -e /usr/include/systemd/sd-daemon.h ] && FLAGS="$FLAGS -DHAVE_SYSTEMD"; - echo $FLAGS; - ;; - esac diff --git a/package/iodine/0001-src-osflags-fully-fix-cross-compilation.patch b/package/iodine/0001-src-osflags-fully-fix-cross-compilation.patch new file mode 100644 index 0000000000..c6dc321a6f --- /dev/null +++ b/package/iodine/0001-src-osflags-fully-fix-cross-compilation.patch @@ -0,0 +1,40 @@ +From a5d71d076168f8ad1e7dd30b35f1569f180f429c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 2 Nov 2023 23:03:15 +0100 +Subject: [PATCH] src/osflags: fully fix cross-compilation + +Cross-compilation was only partially fixed by +https://github.com/yarrick/iodine/commit/024481c94b97ef37981621cdc38f8b20f8919418 +as selinux was still enabled depending on host file existence + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/yarrick/iodine/pull/93 +--- + src/osflags | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/osflags b/src/osflags +index 9a437bd..39ca5fa 100755 +--- a/src/osflags ++++ b/src/osflags +@@ -20,7 +20,7 @@ link) + ;; + Linux) + FLAGS=""; +- [ -e /usr/include/selinux/selinux.h ] && FLAGS="$FLAGS -lselinux"; ++ "$PKG_CONFIG" --exists libselinux && FLAGS="$FLAGS $($PKG_CONFIG --libs libselinux)"; + "$PKG_CONFIG" --exists libsystemd-daemon && FLAGS="$FLAGS $($PKG_CONFIG --libs libsystemd-daemon)"; + "$PKG_CONFIG" --exists libsystemd && FLAGS="$FLAGS $($PKG_CONFIG --libs libsystemd)"; + echo $FLAGS; +@@ -40,7 +40,7 @@ cflags) + ;; + Linux) + FLAGS="-D_GNU_SOURCE" +- [ -e /usr/include/selinux/selinux.h ] && FLAGS="$FLAGS -DHAVE_SETCON"; ++ "$PKG_CONFIG" --exists libselinux && FLAGS="$FLAGS -DHAVE_SETCON"; + "$PKG_CONFIG" --exists libsystemd-daemon && FLAGS="$FLAGS -DHAVE_SYSTEMD"; + "$PKG_CONFIG" --exists libsystemd && FLAGS="$FLAGS -DHAVE_SYSTEMD"; + echo $FLAGS; +-- +2.42.0 + diff --git a/package/iodine/iodine.hash b/package/iodine/iodine.hash index 4ba7aa95b8..6f765a2462 100644 --- a/package/iodine/iodine.hash +++ b/package/iodine/iodine.hash @@ -1,4 +1,5 @@ # From http://code.kryo.se/iodine/ -md5 fdbf3b81cd69caf5230d76a8b039fd99 iodine-0.7.0.tar.gz +md5 6f2a53476cbc09bbffe7e07d6e9dd19d iodine-0.8.0.tar.gz # Locally computed -sha256 f41a252b2218759aa351270b7ad9791bdd323836b940e35c0614837a5d24dcb7 README +sha256 546e92cf8617f7970ea81c850b1063eb189c68c406d0c6a67e02c55e72e714c6 iodine-0.8.0.tar.gz +sha256 9541123931e4df4ec84612e056a92ecaab905fe201deaf932b895406565fbb85 LICENSE diff --git a/package/iodine/iodine.mk b/package/iodine/iodine.mk index 521ca3d927..998f92503d 100644 --- a/package/iodine/iodine.mk +++ b/package/iodine/iodine.mk @@ -4,13 +4,17 @@ # ################################################################################ -IODINE_VERSION = 0.7.0 +IODINE_VERSION = 0.8.0 IODINE_SITE = http://code.kryo.se/iodine -IODINE_DEPENDENCIES = zlib IODINE_LICENSE = MIT -IODINE_LICENSE_FILES = README +IODINE_LICENSE_FILES = LICENSE IODINE_CPE_ID_VENDOR = kryo IODINE_SELINUX_MODULES = iodine +IODINE_DEPENDENCIES = \ + host-pkgconf \ + $(if $(BR2_PACKAGE_LIBSELINUX),libselinux) \ + $(if $(BR2_PACKAGE_SYSTEMD),systemd) \ + zlib IODINE_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/iotop/iotop.mk b/package/iotop/iotop.mk index 8b5564974e..e9ef9edc10 100644 --- a/package/iotop/iotop.mk +++ b/package/iotop/iotop.mk @@ -8,6 +8,6 @@ IOTOP_VERSION = 0.6 IOTOP_SITE = http://guichaz.free.fr/iotop/files IOTOP_LICENSE = GPL-2.0+ IOTOP_LICENSE_FILES = COPYING -IOTOP_SETUP_TYPE = distutils +IOTOP_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/ipcalc/ipcalc.hash b/package/ipcalc/ipcalc.hash index 50d08239fa..dec69d2abf 100644 --- a/package/ipcalc/ipcalc.hash +++ b/package/ipcalc/ipcalc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 47c866941916800270fca23496acc9976ca9488ce9053aeaedc5f47c5929b772 ipcalc-1.0.2.tar.bz2 +sha256 5ed8f20819a5bdb089829fc62c9a2c685252759d5c3ec289492e6ef5762f4e3b ipcalc-1.0.3.tar.bz2 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ipcalc/ipcalc.mk b/package/ipcalc/ipcalc.mk index e63e174ce2..c1eba5d59f 100644 --- a/package/ipcalc/ipcalc.mk +++ b/package/ipcalc/ipcalc.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPCALC_VERSION = 1.0.2 +IPCALC_VERSION = 1.0.3 IPCALC_SITE = $(call gitlab,ipcalc,ipcalc,$(IPCALC_VERSION)) IPCALC_SOURCE = ipcalc-$(IPCALC_VERSION).tar.bz2 IPCALC_LICENSE = GPL-2.0+ diff --git a/package/iperf/0001-fix-single-threaded-compile-breakage.patch b/package/iperf/0001-fix-single-threaded-compile-breakage.patch deleted file mode 100644 index 85baf76ea4..0000000000 --- a/package/iperf/0001-fix-single-threaded-compile-breakage.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6405b7a005bb2364466b56f480d50af0be423d76 Mon Sep 17 00:00:00 2001 -From: Robert McMahon -Date: Tue, 27 Sep 2022 20:31:04 -0700 -Subject: [PATCH] fix single threaded compile breakage - -[Retrieved (and backported) from: -https://sourceforge.net/p/iperf2/code/ci/6405b7a005bb2364466b56f480d50af0be423d76] -Signed-off-by: Fabrice Fontaine ---- - include/version.h | 2 +- - src/Settings.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Settings.cpp b/src/Settings.cpp -index aac1b5f..fc5a181 100644 ---- a/src/Settings.cpp -+++ b/src/Settings.cpp -@@ -1160,10 +1160,10 @@ void Settings_Interpret (char option, const char *optarg, struct thread_Settings - delete [] tmp; - } - } -+ } - #else - fprintf(stderr, "bounceback-congest option requires a platform that supports threads\n"); - #endif -- } - } - if (bouncebackdelaystart) { - bouncebackdelaystart = 0; --- -2.35.1 - diff --git a/package/iperf/iperf.hash b/package/iperf/iperf.hash index 34218bcf3b..eb6088649d 100644 --- a/package/iperf/iperf.hash +++ b/package/iperf/iperf.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/iperf2/files/ -sha1 7725efffc6ef46fe5247ee326c39e5fa2eadf1eb iperf-2.1.8.tar.gz +sha1 e7b669c2e8747df95b59956e83ff53d3971d7a5f iperf-2.1.9.tar.gz # Locally computed: -sha256 8e2cf2fbc9d0d4d1cf9d109b1e328459f9622993dc9a4c5a7dc8a2088fb7beaf iperf-2.1.8.tar.gz +sha256 5c0771aab00ef14520013aef01675977816e23bb8f5d9fde016f90eb2f1be788 iperf-2.1.9.tar.gz sha256 5f9f5c4feca3347c3b3c0ada8b16b4e6b698aac4e6f016a24adf61a5915336d1 COPYING diff --git a/package/iperf/iperf.mk b/package/iperf/iperf.mk index 47944880a3..1347f766d1 100644 --- a/package/iperf/iperf.mk +++ b/package/iperf/iperf.mk @@ -4,8 +4,8 @@ # ################################################################################ -IPERF_VERSION = 2.1.8 -IPERF_SITE = http://downloads.sourceforge.net/project/iperf2 +IPERF_VERSION = 2.1.9 +IPERF_SITE = https://downloads.sourceforge.net/project/iperf2 IPERF_LICENSE = MIT-like IPERF_LICENSE_FILES = COPYING IPERF_CPE_ID_VENDOR = iperf2_project diff --git a/package/ipmitool/ipmitool.mk b/package/ipmitool/ipmitool.mk index b3f1e217ff..4f2151904d 100644 --- a/package/ipmitool/ipmitool.mk +++ b/package/ipmitool/ipmitool.mk @@ -8,7 +8,7 @@ IPMITOOL_VERSION = 1_8_19 IPMITOOL_SITE = $(call github,ipmitool,ipmitool,IPMITOOL_$(IPMITOOL_VERSION)) IPMITOOL_LICENSE = BSD-3-Clause IPMITOOL_LICENSE_FILES = COPYING -IPMITOOL_CPE_ID_VENDOR = ipmitool_project +IPMITOOL_CPE_ID_VALID = YES # From git IPMITOOL_AUTORECONF = YES IPMITOOL_DEPENDENCIES = host-pkgconf diff --git a/package/ipmiutil/ipmiutil.hash b/package/ipmiutil/ipmiutil.hash index c1a813ad1f..ecefdac547 100644 --- a/package/ipmiutil/ipmiutil.hash +++ b/package/ipmiutil/ipmiutil.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/ipmiutil/files/ -md5 b38ef567b6bb8a24418e448f23115190 ipmiutil-3.1.8.tar.gz -sha1 0697fc2342c55ba4374e31dcd38e58a00d1287e8 ipmiutil-3.1.8.tar.gz +md5 332f688084510771ed79946c815a2ba7 ipmiutil-3.1.9.tar.gz +sha1 3959d22d6c83b2452d087b1c325f47e6bc2b08ac ipmiutil-3.1.9.tar.gz # Locally computed -sha256 b14357b9723e38a19c24df2771cff63d5f15f8682cd8a5b47235044b767b1888 ipmiutil-3.1.8.tar.gz +sha256 5ae99bdd1296a8e25cea839784ec39ebca57b0e3701b2d440b8e02e22dc4bc95 ipmiutil-3.1.9.tar.gz sha256 7e0ec8238aa1431e95a4950032a4483fe33fec3fac348eaade5856cdc5ae3e39 COPYING diff --git a/package/ipmiutil/ipmiutil.mk b/package/ipmiutil/ipmiutil.mk index b48eaa7cb2..b5a83b8042 100644 --- a/package/ipmiutil/ipmiutil.mk +++ b/package/ipmiutil/ipmiutil.mk @@ -4,8 +4,8 @@ # ################################################################################ -IPMIUTIL_VERSION = 3.1.8 -IPMIUTIL_SITE = https://sourceforge.net/projects/ipmiutil/files +IPMIUTIL_VERSION = 3.1.9 +IPMIUTIL_SITE = https://downloads.sourceforge.net/project/ipmiutil IPMIUTIL_LICENSE = BSD-3-Clause IPMIUTIL_LICENSE_FILES = COPYING diff --git a/package/iproute2/0001-Revert-ss-prevent-Process-column-from-being-printed-.patch b/package/iproute2/0001-Revert-ss-prevent-Process-column-from-being-printed-.patch new file mode 100644 index 0000000000..10fa472d64 --- /dev/null +++ b/package/iproute2/0001-Revert-ss-prevent-Process-column-from-being-printed-.patch @@ -0,0 +1,45 @@ +From f22c49730c3691c25a1147081363eb35aa9d1048 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Sat, 13 Jan 2024 08:51:55 -0800 +Subject: [PATCH] Revert "ss: prevent "Process" column from being printed + unless requested" + +This reverts commit 1607bf531fd2f984438d227ea97312df80e7cf56. + +This commit is being reverted because it breaks output of tcp info. +The order of the columns enum is order sensistive. + +Bug: https://bugzilla.kernel.org/show_bug.cgi?id=218372 +Signed-off-by: Stephen Hemminger +Upstream: https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=f22c49730c3691c25a1147081363eb35aa9d1048 +--- + misc/ss.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/misc/ss.c b/misc/ss.c +index 09dc1f37..9438382b 100644 +--- a/misc/ss.c ++++ b/misc/ss.c +@@ -100,8 +100,8 @@ enum col_id { + COL_SERV, + COL_RADDR, + COL_RSERV, +- COL_PROC, + COL_EXT, ++ COL_PROC, + COL_MAX + }; + +@@ -5795,9 +5795,6 @@ int main(int argc, char *argv[]) + if (ssfilter_parse(¤t_filter.f, argc, argv, filter_fp)) + usage(); + +- if (!show_processes) +- columns[COL_PROC].disabled = 1; +- + if (!(current_filter.dbs & (current_filter.dbs - 1))) + columns[COL_NETID].disabled = 1; + +-- +2.43.0 + diff --git a/package/iproute2/0001-tc-add-missing-separator.patch b/package/iproute2/0001-tc-add-missing-separator.patch deleted file mode 100644 index 534b2c8f6b..0000000000 --- a/package/iproute2/0001-tc-add-missing-separator.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4e0e56e0ef05387f7f5d8ab41fe6ec6a1897b26d Mon Sep 17 00:00:00 2001 -From: Christian Hesse -Date: Thu, 23 Feb 2023 11:15:03 +0100 -Subject: [PATCH] tc: add missing separator -Upstream: https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=4e0e56e0ef05387f7f5d8ab41fe6ec6a1897b26d - -This is missing a separator, that was accidently removed -when JSON was added. - -Fixes: 010a8388aea1 ("tc: Add JSON output to tc-class") -Signed-off-by: Christian Hesse -Signed-off-by: Stephen Hemminger ---- - tc/tc_class.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tc/tc_class.c b/tc/tc_class.c -index c1feb009..096fa2ec 100644 ---- a/tc/tc_class.c -+++ b/tc/tc_class.c -@@ -356,7 +356,7 @@ int print_class(struct nlmsghdr *n, void *arg) - print_string(PRINT_ANY, "parent", "parent %s ", abuf); - } - if (t->tcm_info) -- print_0xhex(PRINT_ANY, "leaf", "leaf %x", t->tcm_info>>16); -+ print_0xhex(PRINT_ANY, "leaf", "leaf %x: ", t->tcm_info>>16); - - q = get_qdisc_kind(RTA_DATA(tb[TCA_KIND])); - if (tb[TCA_OPTIONS]) { --- -2.40.0 - diff --git a/package/iproute2/0002-tc-f_u32-fix-json-object-leak.patch b/package/iproute2/0002-tc-f_u32-fix-json-object-leak.patch deleted file mode 100644 index 3d90fee56c..0000000000 --- a/package/iproute2/0002-tc-f_u32-fix-json-object-leak.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 6637a6d512a940c3d9c101f4eaca3c1c7a36517c Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -Date: Tue, 28 Feb 2023 15:31:46 +0800 -Subject: [PATCH] tc: f_u32: fix json object leak -Upstream: https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=6637a6d512a940c3d9c101f4eaca3c1c7a36517c - -Previously, the code returned directly within the switch statement in -the functions print_{ipv4, ipv6}. While this approach was functional, -after the commit 721435dc, we can no longer return directly because we -need to close the match object. To resolve this issue, replace the return -statement with break. - -Fixes: 721435dcfd92 ("tc: u32: add json support in `print_raw`, `print_ipv4`, `print_ipv6`") -Signed-off-by: Hangbin Liu -Signed-off-by: Stephen Hemminger ---- - tc/f_u32.c | 24 ++++++++++-------------- - 1 file changed, 10 insertions(+), 14 deletions(-) - -diff --git a/tc/f_u32.c b/tc/f_u32.c -index de2d0c9e..936dbd65 100644 ---- a/tc/f_u32.c -+++ b/tc/f_u32.c -@@ -828,12 +828,12 @@ static void print_ipv4(FILE *f, const struct tc_u32_key *key) - print_nl(); - print_uint(PRINT_ANY, "ip_ihl", " match IP ihl %u", - ntohl(key->val) >> 24); -- return; -+ break; - case 0x00ff0000: - print_nl(); - print_0xhex(PRINT_ANY, "ip_dsfield", " match IP dsfield %#x", - ntohl(key->val) >> 16); -- return; -+ break; - } - break; - case 8: -@@ -841,7 +841,6 @@ static void print_ipv4(FILE *f, const struct tc_u32_key *key) - print_nl(); - print_int(PRINT_ANY, "ip_protocol", " match IP protocol %d", - ntohl(key->val) >> 16); -- return; - } - break; - case 12: -@@ -864,7 +863,6 @@ static void print_ipv4(FILE *f, const struct tc_u32_key *key) - print_string(PRINT_ANY, "address", "%s", addr); - print_int(PRINT_ANY, "prefixlen", "/%d", bits); - close_json_object(); -- return; - } - } - break; -@@ -874,19 +872,19 @@ static void print_ipv4(FILE *f, const struct tc_u32_key *key) - case 0x0000ffff: - print_uint(PRINT_ANY, "dport", "match dport %u", - ntohl(key->val) & 0xffff); -- return; -+ break; - case 0xffff0000: - print_nl(); - print_uint(PRINT_ANY, "sport", " match sport %u", - ntohl(key->val) >> 16); -- return; -+ break; - case 0xffffffff: - print_nl(); - print_uint(PRINT_ANY, "dport", " match dport %u, ", - ntohl(key->val) & 0xffff); - print_uint(PRINT_ANY, "sport", "match sport %u", - ntohl(key->val) >> 16); -- return; -+ break; - } - /* XXX: Default print_raw */ - } -@@ -905,12 +903,12 @@ static void print_ipv6(FILE *f, const struct tc_u32_key *key) - print_nl(); - print_uint(PRINT_ANY, "ip_ihl", " match IP ihl %u", - ntohl(key->val) >> 24); -- return; -+ break; - case 0x00ff0000: - print_nl(); - print_0xhex(PRINT_ANY, "ip_dsfield", " match IP dsfield %#x", - ntohl(key->val) >> 16); -- return; -+ break; - } - break; - case 8: -@@ -918,7 +916,6 @@ static void print_ipv6(FILE *f, const struct tc_u32_key *key) - print_nl(); - print_int(PRINT_ANY, "ip_protocol", " match IP protocol %d", - ntohl(key->val) >> 16); -- return; - } - break; - case 12: -@@ -941,7 +938,6 @@ static void print_ipv6(FILE *f, const struct tc_u32_key *key) - print_string(PRINT_ANY, "address", "%s", addr); - print_int(PRINT_ANY, "prefixlen", "/%d", bits); - close_json_object(); -- return; - } - } - break; -@@ -952,11 +948,11 @@ static void print_ipv6(FILE *f, const struct tc_u32_key *key) - print_nl(); - print_uint(PRINT_ANY, "sport", " match sport %u", - ntohl(key->val) & 0xffff); -- return; -+ break; - case 0xffff0000: - print_uint(PRINT_ANY, "dport", "match dport %u", - ntohl(key->val) >> 16); -- return; -+ break; - case 0xffffffff: - print_nl(); - print_uint(PRINT_ANY, "sport", " match sport %u, ", -@@ -964,7 +960,7 @@ static void print_ipv6(FILE *f, const struct tc_u32_key *key) - print_uint(PRINT_ANY, "dport", "match dport %u", - ntohl(key->val) >> 16); - -- return; -+ break; - } - /* XXX: Default print_raw */ - } --- -2.40.0 - diff --git a/package/iproute2/iproute2.hash b/package/iproute2/iproute2.hash index d1ab936181..0be058e64b 100644 --- a/package/iproute2/iproute2.hash +++ b/package/iproute2/iproute2.hash @@ -1,3 +1,3 @@ # From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc -sha256 4d72730200ec5b2aabaa1a2f20553c6748292f065d9a154c7d5e22559df9fd62 iproute2-6.2.0.tar.xz +sha256 ff942dd9828d7d1f867f61fe72ce433078c31e5d8e4a78e20f02cb5892e8841d iproute2-6.7.0.tar.xz sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk index 49a65516d6..4adb4e3356 100644 --- a/package/iproute2/iproute2.mk +++ b/package/iproute2/iproute2.mk @@ -4,14 +4,14 @@ # ################################################################################ -IPROUTE2_VERSION = 6.2.0 +IPROUTE2_VERSION = 6.7.0 IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2 IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \ $(if $(BR2_PACKAGE_LIBMNL),libmnl) IPROUTE2_LICENSE = GPL-2.0+ IPROUTE2_LICENSE_FILES = COPYING -IPROUTE2_CPE_ID_VENDOR = iproute2_project +IPROUTE2_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_ELFUTILS),y) IPROUTE2_DEPENDENCIES += elfutils diff --git a/package/iputils/iputils.hash b/package/iputils/iputils.hash index ea23f27f3c..a3e48d60a9 100644 --- a/package/iputils/iputils.hash +++ b/package/iputils/iputils.hash @@ -1,5 +1,5 @@ -# https://github.com/iputils/iputils/releases/download/20221126/sha256sum.asc -sha256 745ea711fe06d5c57d470d21acce3c3ab866eb6afb69379a16c6d60b89bd4311 iputils-20221126.tar.gz +# https://github.com/iputils/iputils/releases/download/20240117/sha256sums.asc +sha256 7ed46e876e4157e1d20c40ec945e1ce0f3af3b10b5f6373e423135c6f22cd116 iputils-20240117.tar.gz # Locally computed sha256 2c9f29d982c48665c30b3adaf400c048988fd256eb91c691e351eb3b6a8b2036 LICENSE sha256 9acc4bc871a4742550158e3696dcb381953172ef808d04ca248184f9f6322712 Documentation/LICENSE.BSD3 diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk index fe4468ec19..08d849e69d 100644 --- a/package/iputils/iputils.mk +++ b/package/iputils/iputils.mk @@ -4,18 +4,11 @@ # ################################################################################ -# The original upstream was forked to the github repository in 2014 to -# pull fixes from other distribution and centralize the changes after -# the upstream seemed to have gone dormant. The fork contains the -# latest changes including musl support, removing a libsysfs dependency -# and IPv6 updates. -# http://www.spinics.net/lists/netdev/msg279881.html - -IPUTILS_VERSION = 20221126 -IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION)) +IPUTILS_VERSION = 20240117 +IPUTILS_SITE = https://github.com/iputils/iputils/releases/download/$(IPUTILS_VERSION) IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause IPUTILS_LICENSE_FILES = LICENSE Documentation/LICENSE.BSD3 Documentation/LICENSE.GPL2 -IPUTILS_CPE_ID_VENDOR = iputils_project +IPUTILS_CPE_ID_VALID = YES IPUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # Selectively build binaries diff --git a/package/irqbalance/irqbalance.hash b/package/irqbalance/irqbalance.hash index 3dd83a017f..bf33e71e48 100644 --- a/package/irqbalance/irqbalance.hash +++ b/package/irqbalance/irqbalance.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 883d3f6296f7e4a17e09dc2c91bd972e110fe574c119d9e45ec0c4e35c7317bb irqbalance-1.9.0.tar.gz +sha256 8d698799251ea8518f342f36be26f2f092df51189f6777db33116d40cf0dae6c irqbalance-1.9.3.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/irqbalance/irqbalance.mk b/package/irqbalance/irqbalance.mk index abd64e6b9e..5d1bd48002 100644 --- a/package/irqbalance/irqbalance.mk +++ b/package/irqbalance/irqbalance.mk @@ -4,7 +4,7 @@ # ################################################################################ -IRQBALANCE_VERSION = 1.9.0 +IRQBALANCE_VERSION = 1.9.3 IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,v$(IRQBALANCE_VERSION)) IRQBALANCE_LICENSE = GPL-2.0 IRQBALANCE_LICENSE_FILES = COPYING diff --git a/package/isl/isl.hash b/package/isl/isl.hash index 46d8e920f3..1f8c998235 100644 --- a/package/isl/isl.hash +++ b/package/isl/isl.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 be7b210647ccadf90a2f0b000fca11a4d40546374a850db67adb32fad4b230d9 isl-0.25.tar.xz +sha256 a0b5cb06d24f9fa9e77b55fabbe9a3c94a336190345c2555f9915bb38e976504 isl-0.26.tar.xz sha256 3a2c398103f6bca0f50a9a9465deca9230b370b0212af5fdf31ed88a36215c30 LICENSE diff --git a/package/isl/isl.mk b/package/isl/isl.mk index ce9aaecebc..42830a2689 100644 --- a/package/isl/isl.mk +++ b/package/isl/isl.mk @@ -4,7 +4,7 @@ # ################################################################################ -ISL_VERSION = 0.25 +ISL_VERSION = 0.26 ISL_SOURCE = isl-$(ISL_VERSION).tar.xz ISL_SITE = https://libisl.sourceforge.io ISL_LICENSE = MIT diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk index b123973a90..e22e782804 100644 --- a/package/iucode-tool/iucode-tool.mk +++ b/package/iucode-tool/iucode-tool.mk @@ -9,7 +9,7 @@ IUCODE_TOOL_SOURCE = iucode-tool_$(IUCODE_TOOL_VERSION).tar.xz IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/master IUCODE_TOOL_LICENSE = GPL-2.0+ IUCODE_TOOL_LICENSE_FILES = COPYING -IUCODE_TOOL_CPE_ID_VENDOR = iucode-tool_project +IUCODE_TOOL_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) IUCODE_TOOL_DEPENDENCIES += argp-standalone $(TARGET_NLS_DEPENDENCIES) diff --git a/package/ivi-homescreen/0001-add-missing-headers-to-the-audio-players-and-keyboar.patch b/package/ivi-homescreen/0001-add-missing-headers-to-the-audio-players-and-keyboar.patch new file mode 100644 index 0000000000..0d308b786b --- /dev/null +++ b/package/ivi-homescreen/0001-add-missing-headers-to-the-audio-players-and-keyboar.patch @@ -0,0 +1,104 @@ +From 7e35ea4fbd94a1604907069bb9cc2e2dff4b43c7 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Sat, 6 Jan 2024 14:18:56 -0700 +Subject: [PATCH] add missing headers to the audio-players and keyboard_manager + plugin + +Fixes flutter::StandardMethodCodec not being declared on the following lines: +plugins/audio_players/audio_players_registry.cc:83 +plugins/audio_players/audio_players_registry.cc:94 +plugins/audio_players/audio_players_registry.cc:152 +plugins/audio_players/audio_player.cc:257 +plugins/audio_players/audio_player.cc:623 +plugins/keyboard_manager/keyboard_manager.cc:25 + +Upstream: https://github.com/toyota-connected/ivi-homescreen/pull/133 + +Signed-off-by: Adam Duskett +--- + shell/plugins/audio_players/audio_player.cc | 3 ++- + shell/plugins/audio_players/audio_players.cc | 4 +++- + shell/plugins/audio_players/audio_players_registry.cc | 3 ++- + shell/plugins/keyboard_manager/keyboard_manager.h | 3 ++- + 4 files changed, 9 insertions(+), 4 deletions(-) + +diff --git a/shell/plugins/audio_players/audio_player.cc b/shell/plugins/audio_players/audio_player.cc +index 56027eb..a85e9ae 100644 +--- a/shell/plugins/audio_players/audio_player.cc ++++ b/shell/plugins/audio_players/audio_player.cc +@@ -20,6 +20,7 @@ + #include + #include + ++#include + #include + + #include +@@ -639,4 +640,4 @@ void AudioPlayer::OnPlatformMessage(const FlutterPlatformMessage* message, + engine->SendPlatformMessageResponse(message->response_handle, result->data(), + result->size()); + } +-} // namespace Plugins +\ No newline at end of file ++} // namespace Plugins +diff --git a/shell/plugins/audio_players/audio_players.cc b/shell/plugins/audio_players/audio_players.cc +index 0605576..4290f5a 100644 +--- a/shell/plugins/audio_players/audio_players.cc ++++ b/shell/plugins/audio_players/audio_players.cc +@@ -19,6 +19,8 @@ + #include + #include + ++#include ++ + #include "audio_player.h" + #include "audio_players_registry.h" + #include "engine.h" +@@ -314,4 +316,4 @@ void AudioPlayers::OnPlatformMessage(const FlutterPlatformMessage* message, + : "Unknown AudioPlayersLinux error"); + } + } +-} +\ No newline at end of file ++} +diff --git a/shell/plugins/audio_players/audio_players_registry.cc b/shell/plugins/audio_players/audio_players_registry.cc +index 6c9ef33..00c4f45 100644 +--- a/shell/plugins/audio_players/audio_players_registry.cc ++++ b/shell/plugins/audio_players/audio_players_registry.cc +@@ -19,6 +19,7 @@ + #include + #include + ++#include + #include + + #include "audio_player.h" +@@ -168,4 +169,4 @@ void AudioPlayersRegistry::OnPlatformMessageEvents( + engine->SendPlatformMessageResponse(message->response_handle, result->data(), + result->size()); + } +-} // namespace Plugins +\ No newline at end of file ++} // namespace Plugins +diff --git a/shell/plugins/keyboard_manager/keyboard_manager.h b/shell/plugins/keyboard_manager/keyboard_manager.h +index 74b4e8d..cae1954 100644 +--- a/shell/plugins/keyboard_manager/keyboard_manager.h ++++ b/shell/plugins/keyboard_manager/keyboard_manager.h +@@ -17,6 +17,7 @@ + #pragma once + + #include "flutter/fml/macros.h" ++#include + + #include + +@@ -45,4 +46,4 @@ class KeyboardManager { + + private: + static constexpr char kGetKeyboardState[] = "getKeyboardState"; +-}; +\ No newline at end of file ++}; +-- +2.43.0 + diff --git a/package/ivi-homescreen/Config.in b/package/ivi-homescreen/Config.in new file mode 100644 index 0000000000..c24df05b6d --- /dev/null +++ b/package/ivi-homescreen/Config.in @@ -0,0 +1,269 @@ +menuconfig BR2_PACKAGE_IVI_HOMESCREEN + bool "ivi-homescreen" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_5 # flutter-engine + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # flutter-engine + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # flutter-engine + depends on BR2_TOOLCHAIN_USES_GLIBC # flutter-engine + depends on BR2_INSTALL_LIBSTDCPP # flutter-engine + depends on !BR2_STATIC_LIBS # flutter-engine, wayland + depends on BR2_USE_WCHAR # flutter-engine + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES # flutter-engine + select BR2_PACKAGE_HOST_FLUTTER_SDK_BIN + select BR2_PACKAGE_FLUTTER_ENGINE + select BR2_PACKAGE_LIBXKBCOMMON + select BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS + select BR2_PACKAGE_WAYLAND_UTILS + help + Toyota's Flutter Embedder that communicates with Wayland + compositors. + Features: + - Strongly Typed (C++) + - Lightweight + - Platform Channels enabled/disabled via CMake + - OpenGL Texture Framework + - Compositor Sub-surface/Region support + - Vulkan / EGL backend support + + https://github.com/toyota-connected/ivi-homescreen + +if BR2_PACKAGE_IVI_HOMESCREEN + +config BR2_PACKAGE_IVI_HOMESCREEN_IVI_SHELL_CLIENT + bool "ivi-shell client" + +comment "Logging" +config BR2_PACKAGE_IVI_HOMESCREEN_DART_VM_LOGGING + bool "Enable Dart VM Logging" + +config BR2_PACKAGE_IVI_HOMESCREEN_DLT_LOGGING + bool "DLT logging" + +comment "EGL options" + +config BR2_PACKAGE_IVI_HOMESCREEN_EGL_TRANSPARENCY + bool "Transparency" + depends on BR2_PACKAGE_HAS_LIBEGL + +comment "Transparency support needs an EGL backend" + depends on !BR2_PACKAGE_HAS_LIBEGL + +config BR2_PACKAGE_IVI_HOMESCREEN_EGL_ENABLE_3D + bool "3D support" + depends on BR2_PACKAGE_HAS_LIBEGL + help + Build with EGL Stencil, Depth, and Stencil + +comment "3D support needs an EGL backend" + depends on !BR2_PACKAGE_HAS_LIBEGL + +config BR2_PACKAGE_IVI_HOMESCREEN_EGL_MULTISAMPLE + bool "Multisample support" + depends on BR2_PACKAGE_HAS_LIBEGL + help + Build with EGL Sample set to 4 + +comment "Multisample support needs an EGL backend" + depends on !BR2_PACKAGE_HAS_LIBEGL + +comment "dependency-less plugins" + +config BR2_PACKAGE_IVI_HOMESCREEN_ACCESSIBILITY_PLUGIN + bool "Accessibility" + +config BR2_PACKAGE_IVI_HOMESCREEN_COMP_REGION_PLUGIN + bool "Compositor Region" + +config BR2_PACKAGE_IVI_HOMESCREEN_COMP_SURF_PLUGIN + bool "Compositor Surface" + +config BR2_PACKAGE_IVI_HOMESCREEN_DESKTOP_WINDOW_PLUGIN + bool "Desktop Window" + help + Flutter plugin to change window size. + + https://pub.dev/packages/desktop_window + +config BR2_PACKAGE_IVI_HOMESCREEN_GO_ROUTER_PLUGIN + bool "Go Router" + help + A declarative routing package for Flutter that uses the + Router API to provide a convenient, url-based API for + navigating between different screens. You can define URL + patterns, navigate using a URL, handle deep links, and a + number of other navigation-related scenarios. + + https://pub.dev/packages/go_router + +config BR2_PACKAGE_IVI_HOMESCREEN_INTEGRATION_TEST_PLUGIN + bool "Flutter Integration Test support" + help + https://docs.flutter.dev/cookbook/testing/integration/introduction + +config BR2_PACKAGE_IVI_HOMESCREEN_ISOLATE_PLUGIN + bool "Isolate" + +config BR2_PACKAGE_IVI_HOMESCREEN_KEYBOARD_MANAGER_PLUGIN + bool "Keyboard Manager" + select BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN # runtime + help + This is a wrapper for the raw keyboard listener made to + simplify intercept external keyboard button press. + + https://pub.dev/packages/keyboard_manager + +config BR2_PACKAGE_IVI_HOMESCREEN_KEY_EVENT_PLUGIN + bool "Key Event" + select BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN # runtime + help + KeyEvent plugin to support RawKeyEvent. + +config BR2_PACKAGE_IVI_HOMESCREEN_LAYER_PLAYGROUND_PLUGIN + bool "Layer Playground" + select BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN + help + This plugin enables the platform views plugin and also + provides a simple-box-view-type option. + + https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/platform_views + +config BR2_PACKAGE_IVI_HOMESCREEN_LOGGING_PLUGIN + bool "Logging" + +config BR2_PACKAGE_IVI_HOMESCREEN_MOUSE_CURSOR_PLUGIN + bool "Mouse Cursor" + help + Add mouse cursor support. + +config BR2_PACKAGE_IVI_HOMESCREEN_PACKAGE_INFO_PLUGIN + bool "PackageInfo" + help + Prints the ivi-homescreen package information. + +config BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_PLUGIN + bool "Platform" + help + Get information about the platform the Flutter application + is running on. + +config BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN + bool "Platform Views" + help + This plugin supports the AndroidView interface. Meaning you + can take any Platform View Dart code, change the definition + to use AndroidView, and you will have a working interface. + + Benefits of using this interface: + - pre-defined interface that is supported in Flutter SDK + - params are easily augmented in Dart to add for given use + case + - pass touch to another process/library without additional + work + + For a backing implementation there are a number of approaches: + - Have a PlatformView implementation render to a Texture + - Compositor Region support + (poke a hole for another process) + - Compositor sub-surface and manage Z-order + + The above is already supported today using either an OpenGL + texture, or a Compositor Sub-Surface. Using Platform Views + just re-uses an existing interface. + + https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/platform_views + +config BR2_PACKAGE_IVI_HOMESCREEN_RESTORATION_PLUGIN + bool "Restoration" + help + Handles the Flutter restoration callback + +config BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN + bool "Text Input" + help + Allow for text input + +comment "plugins with external dependencies" +config BR2_PACKAGE_IVI_HOMESCREEN_AUDIO_PLAYERS + bool "Audio Players" + select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME + help + A Flutter plugin to play multiple simultaneously audio files. + Based on audioplayers-v5.2.1 + + https://pub.dev/packages/audioplayers + +config BR2_PACKAGE_IVI_HOMESCREEN_FLUTTER_SECURE_STORAGE_PLUGIN + bool "Flutter Secure Storage" + select BR2_PACKAGE_LIBSECRET + help + Store data in secure storage + + https://pub.dev/packages/flutter_secure_storage + +config BR2_PACKAGE_IVI_HOMESCREEN_GOOGLE_SIGN_IN_PLUGIN + bool "Google Sign In manager" + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBCURL_FORCE_TLS + select BR2_PACKAGE_OPENSSL + help + This static plugin is to support this pub.dev package: + https://pub.dev/packages/google_sign_in + + https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/google_sign_in + +config BR2_PACKAGE_IVI_HOMESCREEN_GSTREAMER_EGL_PLUGIN + bool "GStreamer EGL" + depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API # GST1_PLUGINS_BASE_LIB_OPENGL_EGL + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL + help + A GStreamer-powered alternative to Flutter's video_player that + support Linux, iOS and Android. + + https://pub.dev/packages/flutter_gstreamer_player + +comment "GStreamer plugin needs gst1-plugins-base with an EGL backend" + depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS + depends on !BR2_PACKAGE_HAS_LIBEGL \ + || !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API + +config BR2_PACKAGE_IVI_HOMESCREEN_OPENGL_TEXTURE_PLUGIN + bool "OpenGL Texture" + depends on BR2_PACKAGE_HAS_LIBEGL + help + A Flutter OpenGL ES plugin using a Texture() widget. + Many shaders from ShaderToy.com can be copy/pasted + + https://pub.dev/packages/flutter_opengl + +comment "OpenGL texture plugin needs an EGL backend" + depends on !BR2_PACKAGE_HAS_LIBEGL + +endif # BR2_PACKAGE_IVI_HOMESCREEN + +comment "ivi-homescreen needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5, NPTL" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \ + || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ + || !BR2_HOST_GCC_AT_LEAST_5 + +comment "ivi-homescreen needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + +comment "ivi-homescreen needs an OpenGL or OpenGLES backend" + depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS + depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS + depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES diff --git a/package/ivi-homescreen/ivi-homescreen.hash b/package/ivi-homescreen/ivi-homescreen.hash new file mode 100644 index 0000000000..a0d0162948 --- /dev/null +++ b/package/ivi-homescreen/ivi-homescreen.hash @@ -0,0 +1,21 @@ +# Locally calculated +sha256 1ab2e7ab5f947482cb5529dbb6392e7e1945ceb0b593abde6b6279d7bd2fdb79 ivi-homescreen-5ab78a19e95c88cc5d6b173ab1260a211e78cf0a-br1.tar.gz + +# Apache-2.0 +sha256 6b96fa0a3def85caaf466caa2bd82d4ca4f22d106ff88f97a00c537c00cc714b LICENSE +sha256 943c358cb6d086e4bc0937941b8f8d766db7d4e5f06583efd45dca0ca6a645f3 third_party/filament/libs/bluevk/include/bluevk/BlueVK.h + +# BSD-3-Clause +sha256 fdff25c8a4147791114584a45d56621336d294601da77656e83504a71747c8c2 third_party/flutter/shell/platform/common/client_wrapper/core_implementations.cc + +# BSD-Style +sha256 baa98cbcc03e3e745c4ad9ac2d3fb3464424486b2e420081181013034a7e6406 third_party/flutter/third_party/dart/runtime/include/dart_api.h + +# BSL-1.0 +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 third_party/asio-1-28-1/asio/LICENSE_1_0.txt + +# MIT +sha256 240f786071b64c28c0a1dae3e3b05fc3ca93fa4882b1e36e56ee49fee3037b0a third_party/flutter/third_party/rapidjson/include/rapidjson/rapidjson.h +sha256 4b67e7ae8c91e68e1a929eb1cbaa4c773c6d19aa91aaa12c390cf9560d1c9799 third_party/sanitizers-cmake/LICENSE +sha256 a7241a379cb98d37788f82c2fc2e484c3ae85dae881fd3406f0637644850926f third_party/spdlog-1.12.0/LICENSE +sha256 8b79f17fa7cf47adeeb8277965267e3932155fdfcab81a0ed5d583438bdf9135 third_party/weston/protocol/ivi-application.xml diff --git a/package/ivi-homescreen/ivi-homescreen.mk b/package/ivi-homescreen/ivi-homescreen.mk new file mode 100644 index 0000000000..4293b2bc35 --- /dev/null +++ b/package/ivi-homescreen/ivi-homescreen.mk @@ -0,0 +1,136 @@ +################################################################################ +# +# ivi-homescreen +# +################################################################################ + +IVI_HOMESCREEN_VERSION = 5ab78a19e95c88cc5d6b173ab1260a211e78cf0a +IVI_HOMESCREEN_SITE = https://github.com/toyota-connected/ivi-homescreen.git +IVI_HOMESCREEN_SITE_METHOD = git +IVI_HOMESCREEN_LICENSE = Apache-2.0, BSD-3-Clause, BSD-Style, BSL-1.0, MIT + +# Keep order as listed in ivi-homescreen.hash +IVI_HOMESCREEN_LICENSE_FILES = \ + LICENSE \ + third_party/filament/libs/bluevk/include/bluevk/BlueVK.h \ + third_party/flutter/shell/platform/common/client_wrapper/core_implementations.cc \ + third_party/flutter/third_party/dart/runtime/include/dart_api.h \ + third_party/asio-1-28-1/asio/LICENSE_1_0.txt \ + third_party/flutter/third_party/rapidjson/include/rapidjson/rapidjson.h \ + third_party/sanitizers-cmake/LICENSE \ + third_party/spdlog-1.12.0/LICENSE \ + third_party/weston/protocol/ivi-application.xml + +IVI_HOMESCREEN_DEPENDENCIES = \ + host-flutter-sdk-bin \ + flutter-engine \ + libxkbcommon \ + wayland \ + wayland-protocols \ + wayland-utils + +IVI_HOMESCREEN_CONF_OPTS = \ + -DBUILD_CRASH_HANDLER=OFF \ + -DBUILD_PLUGIN_FILE_SELECTOR=OFF \ + -DBUILD_PLUGIN_FIREBASE_CORE=OFF \ + -DBUILD_PLUGIN_URL_LAUNCHER=OFF \ + -DBUILD_TEXTURE_NAVI_RENDER_EGL=OFF \ + -DBUILD_TEXTURE_TEST_EGL=OFF \ + -DBUILD_UNIT_TESTS=OFF \ + -DENABLE_AGL_CLIENT=OFF \ + -DENABLE_XDG_CLIENT=ON \ + -DENABLE_IVI_SHELL_CLIENT=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_IVI_SHELL_CLIENT),ON,OFF) + +# Logging +IVI_HOMESCREEN_CONF_OPTS += \ + -DENABLE_DART_VM_LOGGING=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_DART_VM_LOGGING),ON,OFF) \ + -DENABLE_DLT=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_DLT_LOGGING),ON,OFF) + +# EGL +IVI_HOMESCREEN_CONF_OPTS += \ + -DBUILD_EGL_TRANSPARENCY=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_EGL_TRANSPARENCY),ON,OFF) \ + -DBUILD_EGL_ENABLE_3D=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_EGL_ENABLE_3D),ON,OFF) \ + -DBUILD_EGL_ENABLE_MULTISAMPLE=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_EGL_MULTISAMPLE),ON,OFF) + +# dependency-less plugins +IVI_HOMESCREEN_CONF_OPTS += \ + -DBUILD_PLUGIN_ACCESSIBILITY=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_ACCESSIBILITY_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_COMP_REGION=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_COMP_REGION_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_COMP_SURF=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_COMP_SURF_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_DESKTOP_WINDOW=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_DESKTOP_WINDOW_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_GO_ROUTER=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_GO_ROUTER_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_INTEGRATION_TEST=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_INTEGRATION_TEST_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_ISOLATE=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_ISOLATE_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_KEYBOARD_MANAGER=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_KEYBOARD_MANAGER_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_KEY_EVENT=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_KEY_EVENT_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_LAYER_PLAYGROUND=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_LAYER_PLAYGROUND_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_LOGGING=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_LOGGING_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_MOUSE_CURSOR=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_MOUSE_CURSOR_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_PACKAGE_INFO=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_PACKAGE_INFO_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_PLATFORM=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_PLATFORM_VIEWS=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_RESTORATION=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_RESTORATION_PLUGIN),ON,OFF) \ + -DBUILD_PLUGIN_TEXT_INPUT=$(if $(BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN),ON,OFF) + +# Wayland backend options +ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y) +IVI_HOMESCREEN_DEPENDENCIES += libegl +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_EGL=ON +else +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_EGL=OFF +endif + +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),y) +IVI_HOMESCREEN_DEPENDENCIES += mesa3d +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_VULKAN=ON +else +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_VULKAN=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBDRM),y) +IVI_HOMESCREEN_DEPENDENCIES += libdrm +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_DRM=ON +else +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_BACKEND_WAYLAND_DRM=OFF +endif + +# "plugins with external dependencies" +ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_AUDIO_PLAYERS),y) +IVI_HOMESCREEN_DEPENDENCIES += gstreamer1 gst1-plugins-base +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_AUDIO_PLAYERS=ON +else +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_AUDIO_PLAYERS=OFF +endif + +ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_FLUTTER_SECURE_STORAGE_PLUGIN),y) +IVI_HOMESCREEN_DEPENDENCIES += libsecret +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_SECURE_STORAGE=ON +else +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_SECURE_STORAGE=OFF +endif + +ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_GOOGLE_SIGN_IN_PLUGIN),y) +IVI_HOMESCREEN_DEPENDENCIES += libcurl +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_GOOGLE_SIGN_IN=ON +else +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_GOOGLE_SIGN_IN=OFF +endif + +ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_GSTREAMER_EGL_PLUGIN),y) +IVI_HOMESCREEN_DEPENDENCIES += ffmpeg gstreamer1 gst1-plugins-base +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_GSTREAMER_EGL=ON +else +IVI_HOMESCREEN_CONF_OPTS += -DBUILD_PLUGIN_GSTREAMER_EGL=OFF +endif + +ifeq ($(BR2_PACKAGE_IVI_HOMESCREEN_OPENGL_TEXTURE_PLUGIN),y) +IVI_HOMESCREEN_CONF_OPTS += \ + -DBUILD_PLUGIN_OPENGL_TEXTURE=ON \ + -DBUILD_TEXTURE_EGL=ON +else +IVI_HOMESCREEN_CONF_OPTS += \ + -DBUILD_PLUGIN_OPENGL_TEXTURE=OFF \ + -DBUILD_TEXTURE_EGL=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/iwd/iwd.hash b/package/iwd/iwd.hash index 4eea644842..3f18146e13 100644 --- a/package/iwd/iwd.hash +++ b/package/iwd/iwd.hash @@ -1,5 +1,5 @@ # From https://mirrors.edge.kernel.org/pub/linux/network/wireless/sha256sums.asc -sha256 f7ac93aeef672604f5b5194ca038035ae222925be392c4345873c9742f477797 iwd-2.6.tar.xz +sha256 c1a82032e994861e794cf3b5a16d07ae1aa03a6674f716c73408ffeae2a233ba iwd-2.16.tar.xz # License files sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/iwd/iwd.mk b/package/iwd/iwd.mk index f20427114b..af6b2f849a 100644 --- a/package/iwd/iwd.mk +++ b/package/iwd/iwd.mk @@ -4,7 +4,7 @@ # ################################################################################ -IWD_VERSION = 2.6 +IWD_VERSION = 2.16 IWD_SOURCE = iwd-$(IWD_VERSION).tar.xz IWD_SITE = $(BR2_KERNEL_MIRROR)/linux/network/wireless IWD_LICENSE = LGPL-2.1+ diff --git a/package/jack2/0001-Remove-usage-of-U-mode-bit-for-opening-files-in-pyth.patch b/package/jack2/0001-Remove-usage-of-U-mode-bit-for-opening-files-in-pyth.patch deleted file mode 100644 index 9ee5a43e18..0000000000 --- a/package/jack2/0001-Remove-usage-of-U-mode-bit-for-opening-files-in-pyth.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 328c58967dce8be426f9208ba7717ab5afc2c4f3 Mon Sep 17 00:00:00 2001 -From: Daan De Meyer -Date: Mon, 11 Jul 2022 00:56:28 +0200 -Subject: [PATCH] Remove usage of 'U' mode bit for opening files in python - -The 'U' mode bit is removed in python 3.11. It has been -deprecated for a long time. The 'U' mode bit has no effect -so this change doesn't change any behavior. - -See https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api - -Signed-off-by: Peter Korsgaard ---- - waflib/ConfigSet.py | 2 +- - waflib/Context.py | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/waflib/ConfigSet.py b/waflib/ConfigSet.py -index b300bb56..84736c9c 100644 ---- a/waflib/ConfigSet.py -+++ b/waflib/ConfigSet.py -@@ -312,7 +312,7 @@ class ConfigSet(object): - :type filename: string - """ - tbl = self.table -- code = Utils.readf(filename, m='rU') -+ code = Utils.readf(filename, m='r') - for m in re_imp.finditer(code): - g = m.group - tbl[g(2)] = eval(g(3)) -diff --git a/waflib/Context.py b/waflib/Context.py -index 9fee3fa1..761b521f 100644 ---- a/waflib/Context.py -+++ b/waflib/Context.py -@@ -266,7 +266,7 @@ class Context(ctx): - cache[node] = True - self.pre_recurse(node) - try: -- function_code = node.read('rU', encoding) -+ function_code = node.read('r', encoding) - exec(compile(function_code, node.abspath(), 'exec'), self.exec_dict) - finally: - self.post_recurse(node) -@@ -662,7 +662,7 @@ def load_module(path, encoding=None): - - module = imp.new_module(WSCRIPT_FILE) - try: -- code = Utils.readf(path, m='rU', encoding=encoding) -+ code = Utils.readf(path, m='r', encoding=encoding) - except EnvironmentError: - raise Errors.WafError('Could not read the file %r' % path) - --- -2.30.2 - diff --git a/package/jack2/jack2.hash b/package/jack2/jack2.hash index c98971ca1c..264e877e92 100644 --- a/package/jack2/jack2.hash +++ b/package/jack2/jack2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8b044a40ba5393b47605a920ba30744fdf8bf77d210eca90d39c8637fe6bc65d jack2-1.9.21.tar.gz +sha256 1e42b9fc4ad7db7befd414d45ab2f8a159c0b30fcd6eee452be662298766a849 jack2-1.9.22.tar.gz sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING diff --git a/package/jack2/jack2.mk b/package/jack2/jack2.mk index f7683304a6..de5d15667e 100644 --- a/package/jack2/jack2.mk +++ b/package/jack2/jack2.mk @@ -4,7 +4,7 @@ # ################################################################################ -JACK2_VERSION = 1.9.21 +JACK2_VERSION = 1.9.22 JACK2_SITE = $(call github,jackaudio,jack2,v$(JACK2_VERSION)) JACK2_LICENSE = GPL-2.0+ (jack server), LGPL-2.1+ (jack library) JACK2_LICENSE_FILES = COPYING @@ -12,7 +12,7 @@ JACK2_CPE_ID_VENDOR = jackaudio JACK2_DEPENDENCIES = host-pkgconf alsa-lib JACK2_INSTALL_STAGING = YES -JACK2_CONF_OPTS = --alsa --example-tools=no +JACK2_CONF_OPTS = --alsa ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) JACK2_DEPENDENCIES += libexecinfo @@ -26,13 +26,6 @@ else JACK2_CONF_OPTS += --samplerate=no endif -ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) -JACK2_DEPENDENCIES += libsndfile -JACK2_CONF_OPTS += --sndfile=yes -else -JACK2_CONF_OPTS += --sndfile=no -endif - ifeq ($(BR2_PACKAGE_OPUS),y) JACK2_DEPENDENCIES += opus JACK2_CONF_OPTS += --opus=yes @@ -40,13 +33,6 @@ else JACK2_CONF_OPTS += --opus=no endif -ifeq ($(BR2_PACKAGE_READLINE),y) -JACK2_DEPENDENCIES += readline -JACK2_CONF_OPTS += --readline=yes -else -JACK2_CONF_OPTS += --readline=no -endif - ifeq ($(BR2_PACKAGE_SYSTEMD),y) JACK2_DEPENDENCIES += systemd JACK2_CONF_OPTS += --systemd=yes diff --git a/package/jailhouse/jailhouse.hash b/package/jailhouse/jailhouse.hash index 297d0f1930..96d5819847 100644 --- a/package/jailhouse/jailhouse.hash +++ b/package/jailhouse/jailhouse.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 3777a553c2acb2b693843fe4d16ab80333879daedd47d9c9f3717c9644e6cf93 jailhouse-0.12.tar.gz +sha256 38ea5d2d9672ce7f76fd0c163edaa8968711aca58f245aec3c8934f140e828b6 jailhouse-e57d1eff6d55aeed5f977fe4e2acfb6ccbdd7560.tar.gz sha256 3aafb31a2436178323663e00511f16d58fc36ea654b1457532e79d017205efd8 COPYING diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk index 6356c5a7aa..b5a8b40fdd 100644 --- a/package/jailhouse/jailhouse.mk +++ b/package/jailhouse/jailhouse.mk @@ -4,8 +4,8 @@ # ################################################################################ -JAILHOUSE_VERSION = 0.12 -JAILHOUSE_SITE = $(call github,siemens,jailhouse,v$(JAILHOUSE_VERSION)) +JAILHOUSE_VERSION = e57d1eff6d55aeed5f977fe4e2acfb6ccbdd7560 +JAILHOUSE_SITE = $(call github,siemens,jailhouse,$(JAILHOUSE_VERSION)) JAILHOUSE_LICENSE = GPL-2.0 JAILHOUSE_LICENSE_FILES = COPYING JAILHOUSE_DEPENDENCIES = \ @@ -15,7 +15,8 @@ JAILHOUSE_MAKE_OPTS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ ARCH="$(KERNEL_ARCH)" \ KDIR="$(LINUX_DIR)" \ - DESTDIR="$(TARGET_DIR)" + DESTDIR="$(TARGET_DIR)" \ + prefix=/usr ifeq ($(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),y) JAILHOUSE_DEPENDENCIES += \ @@ -30,11 +31,27 @@ JAILHOUSE_MAKE_OPTS += \ PYTHON_PIP_USABLE="no" endif +ifeq ($(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),y) +define JAILHOUSE_BUILD_HELPER_SCRIPTS + cd $(@D) && \ + $(PKG_PYTHON_SETUPTOOLS_ENV) \ + $(HOST_DIR)/bin/python setup.py \ + build +endef +define JAILHOUSE_INSTALL_HELPER_SCRIPTS + cd $(@D) && \ + $(PKG_PYTHON_SETUPTOOLS_ENV) \ + $(HOST_DIR)/bin/python setup.py \ + install --no-compile \ + $(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \ + --root=$(TARGET_DIR)) +endef +endif + define JAILHOUSE_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D) - $(if $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS), \ - cd $(@D) && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py build) + $(JAILHOUSE_BUILD_HELPER_SCRIPTS) endef define JAILHOUSE_INSTALL_TARGET_CMDS @@ -44,11 +61,10 @@ define JAILHOUSE_INSTALL_TARGET_CMDS $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/jailhouse $(INSTALL) -D -m 0644 $(@D)/configs/*/*.cell $(TARGET_DIR)/etc/jailhouse - $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/libexec/jailhouse/demos - $(INSTALL) -D -m 0755 $(@D)/inmates/demos/*/*.bin $(TARGET_DIR)/usr/local/libexec/jailhouse/demos + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/libexec/jailhouse/demos + $(INSTALL) -D -m 0755 $(@D)/inmates/demos/*/*.bin $(TARGET_DIR)/usr/libexec/jailhouse/demos - $(if $(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS), \ - cd $(@D) && $(PKG_PYTHON_SETUPTOOLS_ENV) $(HOST_DIR)/bin/python setup.py install --no-compile $(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS)) + $(JAILHOUSE_INSTALL_HELPER_SCRIPTS) endef $(eval $(generic-package)) diff --git a/package/janet/Config.in b/package/janet/Config.in index 7b78c14bf4..bb4bf462aa 100644 --- a/package/janet/Config.in +++ b/package/janet/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_JANET bool "janet" + depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h help Janet is a functional and imperative programming language. @@ -11,4 +12,5 @@ config BR2_PACKAGE_JANET https://janet-lang.org/ comment "janet needs a toolchain w/ gcc >= 4.9" + depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/janet/janet.hash b/package/janet/janet.hash index 15eaafc48b..33bbad5853 100644 --- a/package/janet/janet.hash +++ b/package/janet/janet.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 2ac3f69842f3e805a8d072a9e36f207f6287f063654c51cb3cd2b6e73b1cadf6 janet-1.29.1.tar.gz +sha256 c9018fbd69b825cfc706d8c40e9464be37e924ce07089933e92f4f931ccf0d8d janet-1.33.0.tar.gz # Locally calculated sha256 95fca700e8dce9699248e7cc80ac88ce2357874c8352cd2be4d18f183dc9710b LICENSE diff --git a/package/janet/janet.mk b/package/janet/janet.mk index 9c87ba79fd..ac34ba0a38 100644 --- a/package/janet/janet.mk +++ b/package/janet/janet.mk @@ -4,7 +4,7 @@ # ################################################################################ -JANET_VERSION = 1.29.1 +JANET_VERSION = 1.33.0 JANET_SITE = $(call github,janet-lang,janet,v$(JANET_VERSION)) JANET_LICENSE = MIT JANET_LICENSE_FILES = LICENSE diff --git a/package/jansson/jansson.mk b/package/jansson/jansson.mk index 99e1817eef..8efe28bf4a 100644 --- a/package/jansson/jansson.mk +++ b/package/jansson/jansson.mk @@ -10,7 +10,7 @@ JANSSON_SITE = \ https://github.com/akheron/jansson/releases/download/v$(JANSSON_VERSION) JANSSON_LICENSE = MIT JANSSON_LICENSE_FILES = LICENSE -JANSSON_CPE_ID_VENDOR = jansson_project +JANSSON_CPE_ID_VALID = YES JANSSON_INSTALL_STAGING = YES JANSSON_CONF_ENV = LIBS="-lm" diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk index 6b6bbcd6e6..45b9c49558 100644 --- a/package/jasper/jasper.mk +++ b/package/jasper/jasper.mk @@ -9,7 +9,7 @@ JASPER_SITE = https://github.com/jasper-software/jasper/releases/download/versio JASPER_INSTALL_STAGING = YES JASPER_LICENSE = JasPer-2.0 JASPER_LICENSE_FILES = LICENSE -JASPER_CPE_ID_VENDOR = jasper_project +JASPER_CPE_ID_VALID = YES JASPER_SUPPORTS_IN_SOURCE_BUILD = NO JASPER_CONF_OPTS = \ -DJAS_ENABLE_DOC=OFF \ diff --git a/package/jhead/jhead.mk b/package/jhead/jhead.mk index f07739bc21..940312780e 100644 --- a/package/jhead/jhead.mk +++ b/package/jhead/jhead.mk @@ -8,7 +8,7 @@ JHEAD_VERSION = 3.08 JHEAD_SITE = $(call github,Matthias-Wandel,jhead,$(JHEAD_VERSION)) JHEAD_LICENSE = Public Domain JHEAD_LICENSE_FILES = readme.txt -JHEAD_CPE_ID_VENDOR = jhead_project +JHEAD_CPE_ID_VALID = YES define JHEAD_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) diff --git a/package/joe/joe.mk b/package/joe/joe.mk index f0cac402e1..9346ec1fd3 100644 --- a/package/joe/joe.mk +++ b/package/joe/joe.mk @@ -8,6 +8,7 @@ JOE_VERSION = 4.6 JOE_SITE = http://downloads.sourceforge.net/project/joe-editor/JOE%20sources/joe-$(JOE_VERSION) JOE_LICENSE = GPL-2.0+ JOE_LICENSE_FILES = COPYING +JOE_CPE_ID_VENDOR = joseph_allen ifeq ($(BR2_PACKAGE_NCURSES),y) JOE_DEPENDENCIES += ncurses diff --git a/package/jq/Config.in b/package/jq/Config.in index 5edb5d0989..ed2e0fa34f 100644 --- a/package/jq/Config.in +++ b/package/jq/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_JQ filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text. - http://stedolan.github.io/jq/ + https://jqlang.github.io/jq/ comment "jq needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/jq/jq.hash b/package/jq/jq.hash index 125781385c..d4d8656ea0 100644 --- a/package/jq/jq.hash +++ b/package/jq/jq.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 20249104d4df2247253df6df4a980b8be1f5232f03fef7cd41bacb7e6eab04fd jq-a17dd3248a666d01be75f6b16be37e80e20b0954.tar.gz -sha256 c8437d414ca5b394718784c3bf5bdff7f01fee417625fabf1fb722ca263037da COPYING +sha256 478c9ca129fd2e3443fe27314b455e211e0d8c60bc8ff7df703873deeee580c2 jq-1.7.1.tar.gz +sha256 10e974638a41fadfd72357f2f3a4325e20b856c563365128f72feaa406f8c92d COPYING diff --git a/package/jq/jq.mk b/package/jq/jq.mk index 7f890f8998..ba27e22f7f 100644 --- a/package/jq/jq.mk +++ b/package/jq/jq.mk @@ -4,25 +4,18 @@ # ################################################################################ -JQ_VERSION = a17dd3248a666d01be75f6b16be37e80e20b0954 -JQ_SITE = $(call github,stedolan,jq,$(JQ_VERSION)) +JQ_VERSION = 1.7.1 +JQ_SITE = https://github.com/jqlang/jq/releases/download/jq-$(JQ_VERSION) JQ_LICENSE = MIT (code), ICU (decNumber), CC-BY-3.0 (documentation) JQ_LICENSE_FILES = COPYING -JQ_CPE_ID_VENDOR = jq_project +JQ_CPE_ID_VALID = YES JQ_INSTALL_STAGING = YES -# currently using git version directly -JQ_AUTORECONF = YES - # uses c99 specific features -# _GNU_SOURCE added to fix gcc6+ host compilation -# (https://github.com/stedolan/jq/issues/1598) -JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99 -D_GNU_SOURCE" -HOST_JQ_CONF_ENV += CFLAGS="$(HOST_CFLAGS) -std=c99 -D_GNU_SOURCE" +JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99" +HOST_JQ_CONF_ENV += CFLAGS="$(HOST_CFLAGS) -std=c99" -# jq explicitly enables maintainer mode, which we don't need/want -JQ_CONF_OPTS += --disable-maintainer-mode -HOST_JQ_CONF_OPTS += --disable-maintainer-mode --without-oniguruma +HOST_JQ_CONF_OPTS += --without-oniguruma ifeq ($(BR2_PACKAGE_ONIGURUMA),y) JQ_DEPENDENCIES += oniguruma diff --git a/package/json-c/0001-json_pointer.c-initialize-idx.patch b/package/json-c/0001-json_pointer.c-initialize-idx.patch new file mode 100644 index 0000000000..3dbe0b4067 --- /dev/null +++ b/package/json-c/0001-json_pointer.c-initialize-idx.patch @@ -0,0 +1,37 @@ +From 7ff7eab603611c65b3110dcb1b0caf5cc68b07a3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 8 Nov 2023 22:42:48 +0100 +Subject: [PATCH] json_pointer.c: initialize idx + +Fix the following build failure with gcc 5: + +/home/thomas/autobuild/instance-2/output-1/build/json-c-0.17/json_pointer.c: In function 'json_pointer_result_get_recursive': +/home/thomas/autobuild/instance-2/output-1/build/json-c-0.17/json_pointer.c:193:25: error: 'idx' may be used uninitialized in this function [-Werror=maybe-uninitialized] + res->index_in_parent = idx; + ^ + +Fixes: + - http://autobuild.buildroot.org/results/523b35a979d59121fe4e18c38171792b06233940/ + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/json-c/json-c/pull/839 +--- + json_pointer.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/json_pointer.c b/json_pointer.c +index 89e9e21..0ac8aaa 100644 +--- a/json_pointer.c ++++ b/json_pointer.c +@@ -158,7 +158,7 @@ static int json_pointer_result_get_recursive(struct json_object *obj, char *path + struct json_pointer_get_result *res) + { + struct json_object *parent_obj = obj; +- size_t idx; ++ size_t idx = 0; + char *endp; + int rc; + +-- +2.42.0 + diff --git a/package/json-c/json-c.hash b/package/json-c/json-c.hash index 44d068a8b4..c9bb8c708b 100644 --- a/package/json-c/json-c.hash +++ b/package/json-c/json-c.hash @@ -1,4 +1,4 @@ # From https://github.com/json-c/json-c/wiki -sha256 8e45ac8f96ec7791eaf3bb7ee50e9c2100bbbc87b8d0f1d030c5ba8a0288d96b json-c-0.16.tar.gz +sha256 7550914d58fb63b2c3546f3ccfbe11f1c094147bd31a69dcd23714d7956159e6 json-c-0.17.tar.gz # Locally calculated sha256 74c1e6ca5eba76b54d0ad00d4815c8315c1b3bc45ff99de61d103dc92486284c COPYING diff --git a/package/json-c/json-c.mk b/package/json-c/json-c.mk index 9af7f9a83e..68401433b4 100644 --- a/package/json-c/json-c.mk +++ b/package/json-c/json-c.mk @@ -4,13 +4,13 @@ # ################################################################################ -JSON_C_VERSION = 0.16 +JSON_C_VERSION = 0.17 JSON_C_SITE = https://s3.amazonaws.com/json-c_releases/releases JSON_C_INSTALL_STAGING = YES JSON_C_LICENSE = MIT JSON_C_LICENSE_FILES = COPYING -JSON_C_CPE_ID_VENDOR = json-c_project -JSON_C_CONF_OPTS = -DDISABLE_EXTRA_LIBS=ON +JSON_C_CPE_ID_VENDOR = json-c +JSON_C_CONF_OPTS = -DBUILD_APPS=OFF -DDISABLE_EXTRA_LIBS=ON $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.hash b/package/json-for-modern-cpp/json-for-modern-cpp.hash index 7668f67249..1f0e5efdb8 100644 --- a/package/json-for-modern-cpp/json-for-modern-cpp.hash +++ b/package/json-for-modern-cpp/json-for-modern-cpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273 json-3.11.2.tar.gz +sha256 0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406 json-3.11.3.tar.gz sha256 86b998c792894ccb911a1cb7994f7a9652894e7a094c0b5e45be2f553f45cf14 LICENSE.MIT diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.mk b/package/json-for-modern-cpp/json-for-modern-cpp.mk index 435644fd53..345280b346 100644 --- a/package/json-for-modern-cpp/json-for-modern-cpp.mk +++ b/package/json-for-modern-cpp/json-for-modern-cpp.mk @@ -4,12 +4,12 @@ # ################################################################################ -JSON_FOR_MODERN_CPP_VERSION = 3.11.2 +JSON_FOR_MODERN_CPP_VERSION = 3.11.3 JSON_FOR_MODERN_CPP_SOURCE = json-$(JSON_FOR_MODERN_CPP_VERSION).tar.gz JSON_FOR_MODERN_CPP_SITE = $(call github,nlohmann,json,v$(JSON_FOR_MODERN_CPP_VERSION)) JSON_FOR_MODERN_CPP_LICENSE = MIT JSON_FOR_MODERN_CPP_LICENSE_FILES = LICENSE.MIT -JSON_FOR_MODERN_CPP_CPE_ID_VENDOR = json-for-modern-cpp_project +JSON_FOR_MODERN_CPP_CPE_ID_VALID = YES JSON_FOR_MODERN_CPP_INSTALL_STAGING = YES # header only library diff --git a/package/json-glib/json-glib.hash b/package/json-glib/json-glib.hash index 0c3cf7f7f7..b78d708391 100644 --- a/package/json-glib/json-glib.hash +++ b/package/json-glib/json-glib.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/json-glib/1.6/json-glib-1.6.6.sha256sum -sha256 96ec98be7a91f6dde33636720e3da2ff6ecbb90e76ccaa49497f31a6855a490e json-glib-1.6.6.tar.xz +# From https://download.gnome.org/sources/json-glib/1.8/json-glib-1.8.0.sha256sum +sha256 97ef5eb92ca811039ad50a65f06633f1aae64792789307be7170795d8b319454 json-glib-1.8.0.tar.xz # Hash for license file: sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/package/json-glib/json-glib.mk b/package/json-glib/json-glib.mk index b7ff0bfd57..cd53f24cee 100644 --- a/package/json-glib/json-glib.mk +++ b/package/json-glib/json-glib.mk @@ -4,8 +4,8 @@ # ################################################################################ -JSON_GLIB_VERSION_MAJOR = 1.6 -JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).6 +JSON_GLIB_VERSION_MAJOR = 1.8 +JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).0 JSON_GLIB_SITE = https://download.gnome.org/sources/json-glib/$(JSON_GLIB_VERSION_MAJOR) JSON_GLIB_SOURCE = json-glib-$(JSON_GLIB_VERSION).tar.xz JSON_GLIB_LICENSE = LGPL-2.1+ @@ -25,6 +25,12 @@ else JSON_GLIB_CONF_OPTS += -Dintrospection=disabled endif +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +JSON_GLIB_CONF_OPTS += -Dnls=enabled +else +JSON_GLIB_CONF_OPTS += -Dnls=disabled +endif + JSON_GLIB_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) $(eval $(meson-package)) diff --git a/package/jsoncpp/jsoncpp.mk b/package/jsoncpp/jsoncpp.mk index e7022bfd39..5ef62befbc 100644 --- a/package/jsoncpp/jsoncpp.mk +++ b/package/jsoncpp/jsoncpp.mk @@ -8,7 +8,7 @@ JSONCPP_VERSION = 1.9.5 JSONCPP_SITE = $(call github,open-source-parsers,jsoncpp,$(JSONCPP_VERSION)) JSONCPP_LICENSE = Public Domain or MIT JSONCPP_LICENSE_FILES = LICENSE -JSONCPP_CPE_ID_VENDOR = jsoncpp_project +JSONCPP_CPE_ID_VALID = YES JSONCPP_INSTALL_STAGING = YES JSONCPP_CONF_OPTS = -Dtests=false diff --git a/package/jszip/jszip.hash b/package/jszip/jszip.hash index d0c56a44ab..e90e9cc68b 100644 --- a/package/jszip/jszip.hash +++ b/package/jszip/jszip.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 aa3033c6bb5357a0b0965c92fbdb6d6abe64676e70ffa7933b63c573ab79ee45 jszip-3.10.0.tar.gz +sha256 e873e5d0d8549c78c0eafcab8fba40f4a1e27c5a9d48f4a6b2eb122470d0d88c jszip-3.10.1.tar.gz sha256 566c953c6090b1218ca6217dd7359d45dde46581968586dc607d59a78af6a9c4 LICENSE.markdown diff --git a/package/jszip/jszip.mk b/package/jszip/jszip.mk index 3504368675..f038263a77 100644 --- a/package/jszip/jszip.mk +++ b/package/jszip/jszip.mk @@ -4,11 +4,11 @@ # ################################################################################ -JSZIP_VERSION = 3.10.0 +JSZIP_VERSION = 3.10.1 JSZIP_SITE = $(call github,Stuk,jszip,v$(JSZIP_VERSION)) JSZIP_LICENSE = MIT or GPL-3.0 JSZIP_LICENSE_FILES = LICENSE.markdown -JSZIP_CPE_ID_VENDOR = jszip_project +JSZIP_CPE_ID_VALID = YES define JSZIP_INSTALL_TARGET_CMDS $(INSTALL) -m 0644 -D $(@D)/dist/jszip.min.js \ diff --git a/package/keepalived/0001-vrrp-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch b/package/keepalived/0001-vrrp-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch deleted file mode 100644 index 9d5f3f7905..0000000000 --- a/package/keepalived/0001-vrrp-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch +++ /dev/null @@ -1,76 +0,0 @@ -From edc71b19c619fdc1d71df10a2d0e8f5822965d69 Mon Sep 17 00:00:00 2001 -From: Quentin Armitage -Date: Tue, 8 Feb 2022 14:58:49 +0000 -Subject: [PATCH] vrrp: nft didn't support meta l4proro until Linux 3.14 - -For Linux 3.13 (first version to support nftables), we instead specify: -@nh,48,8 58 - -Signed-off-by: Quentin Armitage - -[Retrieved (and updated to drop update of README.kernel_versions) from: -https://github.com/acassen/keepalived/commit/edc71b19c619fdc1d71df10a2d0e8f5822965d69] -Signed-off-by: Fabrice Fontaine ---- - README.kernel_versions | 1 + - configure.ac | 5 +++++ - keepalived/vrrp/vrrp_nftables.c | 16 ++++++++++++++-- - 3 files changed, 20 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 350a9f4e9..bc643dbf1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1754,6 +1754,11 @@ if test .${enable_nftables} != .no; then - ],[ - AC_MSG_RESULT(no) - ]) -+ -+ # nft l4proto from Linux 3.14 -+ AC_CHECK_DECLS([NFT_META_L4PROTO], [], [], -+ [#include ]) -+ - # nft dup from Linux 4.3 - AC_CHECK_DECLS([NFTA_DUP_MAX], [], [], - [#include ]) -diff --git a/keepalived/vrrp/vrrp_nftables.c b/keepalived/vrrp/vrrp_nftables.c -index d3ea39db3..8b5095ad4 100644 ---- a/keepalived/vrrp/vrrp_nftables.c -+++ b/keepalived/vrrp/vrrp_nftables.c -@@ -1191,6 +1191,8 @@ setup_rule_move_igmp(uint8_t family, const char *table, - otherwise: - nft add rule ip keepalived out ip protocol igmp [meta oifkind macvlan] oif @vmac_set drop - nft add rule ip6 keepalived out icmpv6 type mld2-listener-report [meta oifkind macvlan] oif @vmac_set drop -+ * -+ * Note: on 3.13 kernels, icmpv6 is specified as @nh,48,8 58 - */ - struct nftnl_rule *r = NULL; - uint64_t handle_num; -@@ -1223,7 +1225,12 @@ setup_rule_move_igmp(uint8_t family, const char *table, - offsetof(struct iphdr, daddr), sizeof(struct in_addr)); - #endif - } else { -- add_meta(r, NFT_META_L4PROTO, NFT_REG_1); -+#if HAVE_DECL_NFT_META_L4PROTO -+ add_meta(r, NFT_META_L4PROTO, NFT_REG_1); /* From Linux 3.14 */ -+#else -+ add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, -+ offsetof(struct ip6_hdr, ip6_nxt), sizeof(((struct ip6_hdr *)NULL)->ip6_nxt)); -+#endif - protocol = IPPROTO_ICMPV6; - add_cmp(r, NFT_REG_1, NFT_CMP_EQ, &protocol, sizeof(protocol)); - add_payload(r, NFT_PAYLOAD_TRANSPORT_HEADER, NFT_REG_1, -@@ -1279,7 +1286,12 @@ setup_rule_drop_router_solicit(const char *table, const char *chain, - nftnl_rule_set_u64(r, NFTNL_RULE_POSITION, handle_num); - } - -- add_meta(r, NFT_META_L4PROTO, NFT_REG_1); -+#if HAVE_DECL_NFT_META_L4PROTO -+ add_meta(r, NFT_META_L4PROTO, NFT_REG_1); /* From Linux 3.14 */ -+#else -+ add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, -+ offsetof(struct ip6_hdr, ip6_nxt), sizeof(((struct ip6_hdr *)NULL)->ip6_nxt)); -+#endif - protocol = IPPROTO_ICMPV6; - add_cmp(r, NFT_REG_1, NFT_CMP_EQ, &protocol, sizeof(protocol)); - add_payload(r, NFT_PAYLOAD_TRANSPORT_HEADER, NFT_REG_1, diff --git a/package/keepalived/0002-ipvs-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch b/package/keepalived/0002-ipvs-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch deleted file mode 100644 index 3713de37c2..0000000000 --- a/package/keepalived/0002-ipvs-nft-didn-t-support-meta-l4proro-until-Linux-3-14.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 50e8a8d56cd5a3d7184b035708865302bbc7ef69 Mon Sep 17 00:00:00 2001 -From: Quentin Armitage -Date: Tue, 8 Feb 2022 17:43:49 +0000 -Subject: [PATCH] ipvs: nft didn't support meta l4proro until Linux 3.14 - -For Linux 3.13 (first version to support nftables), we instead specify: -ipv4: @nh,72,8 PROTO -ipv6: @nh,48,8 PROTO - -Signed-off-by: Quentin Armitage - -[Retrieved from: -https://github.com/acassen/keepalived/commit/50e8a8d56cd5a3d7184b035708865302bbc7ef69] -Signed-off-by: Fabrice Fontaine ---- - keepalived/check/check_nftables.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/keepalived/check/check_nftables.c b/keepalived/check/check_nftables.c -index 2d163ac14..45831203b 100644 ---- a/keepalived/check/check_nftables.c -+++ b/keepalived/check/check_nftables.c -@@ -150,7 +150,16 @@ setup_rule_set_mark(uint8_t family, const char *table, - nftnl_rule_set_u64(r, NFTNL_RULE_POSITION, handle_num); - } - -- add_meta(r, NFT_META_L4PROTO, NFT_REG_1); -+#if HAVE_DECL_NFT_META_L4PROTO -+ add_meta(r, NFT_META_L4PROTO, NFT_REG_1); /* From Linux 3.14 */ -+#else -+ if (family == NFPROTO_IPV4) -+ add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, -+ offsetof(struct iphdr, protocol), sizeof(((struct iphdr *)NULL)->protocol)); -+ else -+ add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, -+ offsetof(struct ip6_hdr, ip6_nxt), sizeof(((struct ip6_hdr *)NULL)->ip6_nxt)); -+#endif - add_cmp(r, NFT_REG_1, NFT_CMP_EQ, &l4_protocol, sizeof(l4_protocol)); - if (family == NFPROTO_IPV4) - add_payload(r, NFT_PAYLOAD_NETWORK_HEADER, NFT_REG_1, diff --git a/package/keepalived/0003-fix-build-with-libressl.patch b/package/keepalived/0003-fix-build-with-libressl.patch deleted file mode 100644 index 090d35511c..0000000000 --- a/package/keepalived/0003-fix-build-with-libressl.patch +++ /dev/null @@ -1,50 +0,0 @@ -From bbec15d4781670ac1be5e543cb04543f79200e69 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 12 Apr 2022 20:30:57 +0200 -Subject: [PATCH] fix build with libressl - -SSL_set0_rbio is provided by libressl since version 3.4.0 and -https://github.com/libressl-portable/openbsd/commit/c99939f9665a9c3c648682b4987df46600b70efc -but SSL_set0_wbio is not provided resulting in the following build -failure: - -/nvmedata/autobuild/instance-9/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/10.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: check/libcheck.a(check_ssl.o): in function `ssl_connect': -check_ssl.c:(.text+0x7da): undefined reference to `SSL_set0_wbio' - -Fixes: - - http://autobuild.buildroot.org/results/76f72a3c7350ea265e2277c89d68e5256410e94c - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/acassen/keepalived/commit/bbec15d4781670ac1be5e543cb04543f79200e69] ---- - configure.ac | 2 +- - keepalived/check/check_ssl.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5a2ea76ec..e8b5ccc41 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1327,7 +1327,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - AC_CHECK_FUNCS([SSL_CTX_set_verify_depth]) - - # SSL_set0_rbio(), SSL_set0_wbio() OPENSSL_init_crypto() and TLS_method() introduced OpenSSL v1.1.0 --AC_CHECK_FUNCS([SSL_set0_rbio OPENSSL_init_crypto TLS_method]) -+AC_CHECK_FUNCS([SSL_set0_wbio OPENSSL_init_crypto TLS_method]) - - # In OpenSSL v1.1.1 the call to SSL_CTX_new() fails if OPENSSL_init_crypto() has been called with - # OPENSSL_INIT_NO_LOAD_CONFIG. It does not fail in v1.1.0h and v1.1.1b. -diff --git a/keepalived/check/check_ssl.c b/keepalived/check/check_ssl.c -index 0155fce59..2cbedb8d3 100644 ---- a/keepalived/check/check_ssl.c -+++ b/keepalived/check/check_ssl.c -@@ -234,7 +234,7 @@ ssl_connect(thread_ref_t thread, int new_req) - BIO_get_fd(req->bio, &bio_fd); - if (fcntl(bio_fd, F_SETFD, fcntl(bio_fd, F_GETFD) | FD_CLOEXEC) == -1) - log_message(LOG_INFO, "Setting CLOEXEC failed on ssl socket - errno %d", errno); --#ifdef HAVE_SSL_SET0_RBIO -+#ifdef HAVE_SSL_SET0_WBIO - BIO_up_ref(req->bio); - SSL_set0_rbio(req->ssl, req->bio); - SSL_set0_wbio(req->ssl, req->bio); diff --git a/package/keepalived/keepalived.hash b/package/keepalived/keepalived.hash index 9d8ab949b7..7c93d81803 100644 --- a/package/keepalived/keepalived.hash +++ b/package/keepalived/keepalived.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c61940d874154a560a54627ecf7ef47adebdf832164368d10bf242a4d9b7d49d keepalived-2.2.7.tar.gz +sha256 85882eb62974f395d4c631be990a41a839594a7e62fbfebcb5649a937a7a1bb6 keepalived-2.2.8.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/keepalived/keepalived.mk b/package/keepalived/keepalived.mk index 5d6cf174e3..eb5abf97a2 100644 --- a/package/keepalived/keepalived.mk +++ b/package/keepalived/keepalived.mk @@ -4,15 +4,13 @@ # ################################################################################ -KEEPALIVED_VERSION = 2.2.7 +KEEPALIVED_VERSION = 2.2.8 KEEPALIVED_SITE = http://www.keepalived.org/software KEEPALIVED_DEPENDENCIES = host-pkgconf openssl KEEPALIVED_LICENSE = GPL-2.0+ KEEPALIVED_LICENSE_FILES = COPYING KEEPALIVED_CPE_ID_VENDOR = keepalived KEEPALIVED_CONF_OPTS = --disable-hardening -# We're patching configure.ac -KEEPALIVED_AUTORECONF = YES ifeq ($(BR2_PACKAGE_JSON_C),y) KEEPALIVED_DEPENDENCIES += json-c diff --git a/package/kexec-lite/Config.in b/package/kexec-lite/Config.in index abfa95ab36..89184b0b7c 100644 --- a/package/kexec-lite/Config.in +++ b/package/kexec-lite/Config.in @@ -1,10 +1,14 @@ +config BR2_PACKAGE_KEXEC_LITE_ARCH_SUPPORTS + bool + default y + depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + config BR2_PACKAGE_KEXEC_LITE bool "kexec-lite" - depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + depends on BR2_PACKAGE_KEXEC_LITE_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS # dtc, elfutils depends on BR2_USE_WCHAR # elfutils depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils select BR2_PACKAGE_ELFUTILS select BR2_PACKAGE_DTC select BR2_PACKAGE_DTC_PROGRAMS @@ -18,8 +22,7 @@ config BR2_PACKAGE_KEXEC_LITE https://github.com/antonblanchard/kexec-lite -comment "kexec-lite needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads" - depends on BR2_powerpc || BR2_powerpc64 +comment "kexec-lite needs a toolchain w/ wchar, dynamic library, threads" + depends on BR2_PACKAGE_KEXEC_LITE_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS \ - || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/kexec/0001-m68k-fix-getrandom-use-with-uclibc.patch b/package/kexec/0001-m68k-fix-getrandom-use-with-uclibc.patch deleted file mode 100644 index 6661349aba..0000000000 --- a/package/kexec/0001-m68k-fix-getrandom-use-with-uclibc.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 491439a5c55b18dce96b522f3a603faaf1908ede Mon Sep 17 00:00:00 2001 -From: Laurent Vivier -Date: Fri, 21 Apr 2023 18:22:07 +0200 -Subject: [PATCH] m68k: fix getrandom() use with uclibc - -With uclibc, getrandom() is only defined with _GNU_SOURCE, fix that: - -kexec/arch/m68k/bootinfo.c: In function 'bootinfo_add_rng_seed': -kexec/arch/m68k/bootinfo.c:231:13: warning: implicit declaration of function 'getrandom'; did you mean 'srandom'? [-Wimplicit-function-declaration] - 231 | if (getrandom(bi->rng_seed.data, RNG_SEED_LEN, GRND_NONBLOCK) != RNG_SEED_LEN) { - | ^~~~~~~~~ - | srandom -kexec/arch/m68k/bootinfo.c:231:56: error: 'GRND_NONBLOCK' undeclared (first use in this function) - 231 | if (getrandom(bi->rng_seed.data, RNG_SEED_LEN, GRND_NONBLOCK) != RNG_SEED_LEN) { - | ^~~~~~~~~~~~~ - -Fixes: b9de05184816 ("m68k: pass rng seed via BI_RNG_SEED") -Upstream: https://lore.kernel.org/kexec/20230422095904.1303434-1-laurent@vivier.eu/ -Cc: Jason@zx2c4.com -Signed-off-by: Laurent Vivier ---- - kexec/arch/m68k/bootinfo.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/kexec/arch/m68k/bootinfo.c b/kexec/arch/m68k/bootinfo.c -index 086a34bdfdeb..5afd212d9d34 100644 ---- a/kexec/arch/m68k/bootinfo.c -+++ b/kexec/arch/m68k/bootinfo.c -@@ -1,3 +1,4 @@ -+#define _GNU_SOURCE - - #include - #include --- -2.40.0 - diff --git a/package/kexec/Config.in b/package/kexec/Config.in index 836d740788..707f8663a4 100644 --- a/package/kexec/Config.in +++ b/package/kexec/Config.in @@ -9,6 +9,7 @@ config BR2_PACKAGE_KEXEC_ARCH_SUPPORTS config BR2_PACKAGE_KEXEC bool "kexec" depends on BR2_PACKAGE_KEXEC_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd_create() help Kexec is a user space utility for loading another kernel and asking the currently running kernel to do something with @@ -25,3 +26,7 @@ config BR2_PACKAGE_KEXEC_ZLIB Support for compressed kernel images endif + +comment "kexec needs a toolchain w/ headers >= 3.17" + depends on BR2_PACKAGE_KEXEC_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 diff --git a/package/kexec/kexec.hash b/package/kexec/kexec.hash index 4e16a53a35..cfa8790bb1 100644 --- a/package/kexec/kexec.hash +++ b/package/kexec/kexec.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc -sha256 7fe36a064101cd5c515e41b2be393dce3ca88adce59d6ee668e0af7c0c4570cd kexec-tools-2.0.26.tar.xz +sha256 d2f0ef872f39e2fe4b1b01feb62b0001383207239b9f8041f98a95564161d053 kexec-tools-2.0.28.tar.xz # locally calculated sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index 562b09012b..df14b2d711 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_VERSION = 2.0.26 +KEXEC_VERSION = 2.0.28 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec KEXEC_LICENSE = GPL-2.0 diff --git a/package/keyutils/keyutils.mk b/package/keyutils/keyutils.mk index 5af5c4e92c..fb387ed1a3 100644 --- a/package/keyutils/keyutils.mk +++ b/package/keyutils/keyutils.mk @@ -8,7 +8,7 @@ KEYUTILS_VERSION = 1.6.3 KEYUTILS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot KEYUTILS_LICENSE = GPL-2.0+, LGPL-2.1+ KEYUTILS_LICENSE_FILES = LICENCE.GPL LICENCE.LGPL -KEYUTILS_CPE_ID_VENDOR = keyutils_project +KEYUTILS_CPE_ID_VALID = YES KEYUTILS_INSTALL_STAGING = YES KEYUTILS_MAKE_PARAMS = \ diff --git a/package/kismet/Config.in b/package/kismet/Config.in index 7bde6c92af..2e1e0cfbd0 100644 --- a/package/kismet/Config.in +++ b/package/kismet/Config.in @@ -1,8 +1,9 @@ -comment "kismet needs a toolchain w/ threads, C++, gcc >= 5" +comment "kismet needs a toolchain w/ threads, C++, gcc >= 5, host gcc >= 7" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ + !BR2_HOST_GCC_AT_LEAST_7 depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS config BR2_PACKAGE_KISMET @@ -11,6 +12,7 @@ config BR2_PACKAGE_KISMET depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c + depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_PROTOBUF_C @@ -63,6 +65,7 @@ config BR2_PACKAGE_KISMET_SERVER depends on !BR2_STATIC_LIBS # dlfcn.h depends on BR2_USE_WCHAR depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future + select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PROTOBUF comment "server needs a toolchain w/ dynamic library, wchar" diff --git a/package/kismet/kismet.hash b/package/kismet/kismet.hash index 725d24e551..543515858e 100644 --- a/package/kismet/kismet.hash +++ b/package/kismet/kismet.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2149cceac5526508653f4d02dcf7a694e3da3dc000a2372a1ee4bf9988279781 kismet-2022-08-R1.tar.xz +sha256 f08548e26ca65fa1e567b1debbea1ca4d0e7206bddb96a4f639c90171873e8f7 kismet-2023-07-R1.tar.xz sha256 93c7f0d7e356b0abfb6f494ff3ea37f96abc84e9a5619b25d4e43f7553a55739 LICENSE diff --git a/package/kismet/kismet.mk b/package/kismet/kismet.mk index 8def78ad2a..c448233d60 100644 --- a/package/kismet/kismet.mk +++ b/package/kismet/kismet.mk @@ -4,13 +4,14 @@ # ################################################################################ -KISMET_VERSION = 2022-08-R1 +KISMET_VERSION = 2023-07-R1 KISMET_SOURCE = kismet-$(KISMET_VERSION).tar.xz KISMET_SITE = http://www.kismetwireless.net/code KISMET_DEPENDENCIES = \ host-pkgconf \ libpcap \ $(if $(BR2_PACKAGE_LIBNL),libnl) \ + $(if $(BR2_PACKAGE_OPENSSL),openssl) \ $(if $(BR2_PACKAGE_PROTOBUF),protobuf) \ protobuf-c \ sqlite \ @@ -19,7 +20,7 @@ KISMET_LICENSE = GPL-2.0+ KISMET_LICENSE_FILES = LICENSE KISMET_SELINUX_MODULES = kismet -KISMET_CONF_OPTS = --disable-debuglibs +KISMET_CONF_OPTS = --disable-debuglibs --disable-wifi-coconut KISMET_CXXFLAGS = $(TARGET_CXXFLAGS) @@ -57,9 +58,12 @@ else KISMET_CONF_OPTS += --disable-lmsensors endif -ifeq ($(BR2_PACKAGE_PCRE),y) +ifeq ($(BR2_PACKAGE_PCRE2),y) +KISMET_DEPENDENCIES += pcre2 +KISMET_CONF_OPTS += --enable-pcre --enable-require-pcre2 +else ifeq ($(BR2_PACKAGE_PCRE),y) KISMET_DEPENDENCIES += pcre -KISMET_CONF_OPTS += --enable-pcre +KISMET_CONF_OPTS += --enable-pcre --disable-require-pcre2 else KISMET_CONF_OPTS += --disable-pcre endif diff --git a/package/kmemd/Config.in b/package/kmemd/Config.in index cd92757508..b3aebf1224 100644 --- a/package/kmemd/Config.in +++ b/package/kmemd/Config.in @@ -5,16 +5,14 @@ config BR2_PACKAGE_KMEMD depends on !BR2_STATIC_LIBS # libbpf depends on BR2_TOOLCHAIN_HAS_THREADS # libbpf depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14 - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # libbpf select BR2_PACKAGE_LIBBPF help Explore a live Linux kernel's memory using GDB https://github.com/wkz/kmemd -comment "kmemd needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads, headers >= 5.14" +comment "kmemd needs a toolchain w/ wchar, dynamic library, threads, headers >= 5.14" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ || !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 \ - || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 diff --git a/package/kmod/kmod.hash b/package/kmod/kmod.hash index b181f73e9b..f4b01b20a2 100644 --- a/package/kmod/kmod.hash +++ b/package/kmod/kmod.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kmod/sha256sums.asc -sha256 f897dd72698dc6ac1ef03255cd0a5734ad932318e4adbaebc7338ef2f5202f9f kmod-30.tar.xz +sha256 f5a6949043cc72c001b728d8c218609c5a15f3c33d75614b78c79418fcf00d80 kmod-31.tar.xz # Locally calculated sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 libkmod/COPYING diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk index 5d6d4408f9..d83fb85a3e 100644 --- a/package/kmod/kmod.mk +++ b/package/kmod/kmod.mk @@ -4,7 +4,7 @@ # ################################################################################ -KMOD_VERSION = 30 +KMOD_VERSION = 31 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod KMOD_INSTALL_STAGING = YES @@ -62,11 +62,6 @@ else KMOD_CONF_OPTS += --without-openssl endif -ifeq ($(BR2_PACKAGE_PYTHON3),y) -KMOD_DEPENDENCIES += python3 -KMOD_CONF_OPTS += --enable-python -endif - ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y) # add license info for kmod tools diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in index 7379675609..f68f38b7a8 100644 --- a/package/kmscube/Config.in +++ b/package/kmscube/Config.in @@ -11,6 +11,20 @@ config BR2_PACKAGE_KMSCUBE https://cgit.freedesktop.org/mesa/kmscube/ +if BR2_PACKAGE_KMSCUBE + +config BR2_PACKAGE_KMSCUBE_GSTREAMER + bool "Enable gstreamer video support" + depends on BR2_USE_WCHAR # glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP + select BR2_PACKAGE_GSTREAMER1 + +endif + comment "kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support" depends on \ !BR2_PACKAGE_HAS_LIBEGL || \ diff --git a/package/kmscube/kmscube.hash b/package/kmscube/kmscube.hash index cb7abd48ea..e5ca6e72ec 100644 --- a/package/kmscube/kmscube.hash +++ b/package/kmscube/kmscube.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ec135069d8bee7f4fe38cb9dc96fbbd56e0057290fa25eff8b5b314ee473c502 kmscube-4660a7dca6512b6e658759d00cff7d4ad2a2059d.tar.gz +sha256 c7e7fd7ebcd59a5a57b717ba309a25b73e8028ed4f6bc95bd87e3b7ad5732834 kmscube-ea6c5d1eeefbfb0a1c27ab74a6e4621f1d9adf4c.tar.gz sha256 f622099ab0d274133f6e62d5fccfe970b61134d80ed036f45f8cf1e90c3d5a05 COPYING diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk index fc9a7f6f99..eeb22061fb 100644 --- a/package/kmscube/kmscube.mk +++ b/package/kmscube/kmscube.mk @@ -4,10 +4,23 @@ # ################################################################################ -KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d +KMSCUBE_VERSION = ea6c5d1eeefbfb0a1c27ab74a6e4621f1d9adf4c KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION) KMSCUBE_LICENSE = MIT KMSCUBE_LICENSE_FILES = COPYING KMSCUBE_DEPENDENCIES = host-pkgconf libdrm libegl libgbm libgles +ifeq ($(BR2_PACKAGE_KMSCUBE_GSTREAMER),y) +KMSCUBE_DEPENDENCIES += gst1-plugins-base gstreamer1 libglib2 +KMSCUBE_CONF_OPTS += -Dgstreamer=enabled +else +KMSCUBE_CONF_OPTS += -Dgstreamer=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBPNG),y) +KMSCUBE_DEPENDENCIES += libpng +# libpng is automatically detected in meson, there is no build +# configuration option to pass. +endif + $(eval $(meson-package)) diff --git a/package/kodi-inputstream-adaptive/0001-include-missing-cstdint-to-support-gcc-13.patch b/package/kodi-inputstream-adaptive/0001-include-missing-cstdint-to-support-gcc-13.patch deleted file mode 100644 index ca4a363182..0000000000 --- a/package/kodi-inputstream-adaptive/0001-include-missing-cstdint-to-support-gcc-13.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 7b5c284e63c1d6327db7551a0646cffcbaf9410f Mon Sep 17 00:00:00 2001 -From: Rudi Heitbaum -Date: Wed, 26 Apr 2023 15:47:17 +0000 -Subject: [PATCH] include missing to support gcc-13 - -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: Rudi Heitbaum -Signed-off-by: Bernd Kuhls -Upstream: https://github.com/xbmc/inputstream.adaptive/commit/7b5c284e63c1d6327db7551a0646cffcbaf9410f -[Bernd: backported from Omega branch] ---- - src/Iaes_decrypter.h | 3 ++- - src/SSD_dll.h | 1 + - src/utils/FileUtils.h | 1 + - src/utils/PropertiesUtils.h | 1 + - src/utils/StringUtils.h | 1 + - src/utils/Utils.h | 1 + - src/utils/XMLUtils.h | 1 + - 7 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/src/Iaes_decrypter.h b/src/Iaes_decrypter.h -index 7fdf6046d..da992be95 100644 ---- a/src/Iaes_decrypter.h -+++ b/src/Iaes_decrypter.h -@@ -10,6 +10,7 @@ - - #include - -+#include - #include - - class IAESDecrypter -@@ -31,4 +32,4 @@ class IAESDecrypter - - private: - std::string m_licenseKey; --}; -\ No newline at end of file -+}; -diff --git a/src/SSD_dll.h b/src/SSD_dll.h -index 4b2b70c1a..d23fcbe45 100644 ---- a/src/SSD_dll.h -+++ b/src/SSD_dll.h -@@ -8,6 +8,7 @@ - - #pragma once - -+#include - #include // va_list, va_start, va_arg, va_end - #include - -diff --git a/src/utils/FileUtils.h b/src/utils/FileUtils.h -index 40745b0d4..0924d8ff7 100644 ---- a/src/utils/FileUtils.h -+++ b/src/utils/FileUtils.h -@@ -8,6 +8,7 @@ - - #pragma once - -+#include - #include - #include - -diff --git a/src/utils/PropertiesUtils.h b/src/utils/PropertiesUtils.h -index dee3e0a16..a658b835c 100644 ---- a/src/utils/PropertiesUtils.h -+++ b/src/utils/PropertiesUtils.h -@@ -8,6 +8,7 @@ - - #pragma once - -+#include - #include - #include - #include -diff --git a/src/utils/StringUtils.h b/src/utils/StringUtils.h -index 3f841a274..f209546fa 100644 ---- a/src/utils/StringUtils.h -+++ b/src/utils/StringUtils.h -@@ -8,6 +8,7 @@ - - #pragma once - -+#include - #include - #include - #include -diff --git a/src/utils/Utils.h b/src/utils/Utils.h -index 4966ece63..472a328c4 100644 ---- a/src/utils/Utils.h -+++ b/src/utils/Utils.h -@@ -8,6 +8,7 @@ - - #pragma once - -+#include - #include - #include - #include diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash index b29a0af148..e38191c0c4 100644 --- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 ed266d2a51efcd0952cfacc8549350282dce07f7c0e885eeb41d662f123e12a6 kodi-inputstream-adaptive-20.3.11-Nexus.tar.gz +sha256 f67cfef057f8842716db4521a8cd3966c37a1da8fc3fb297527f6f25be20688a kodi-inputstream-adaptive-20.3.17-Nexus.tar.gz sha256 48632d57fbb6ab8f50cbf4deced5c91e733fa7ff292687c4816b77f28e483df9 LICENSE.md sha256 02f864f3e07456785625968022ce811c5640301bfd2ae70963efea89d306790a LICENSES/README.md sha256 0b7f5dcb3d2c28ff78d999786028930e762df0baa2f52955782e378ec5b636a8 LICENSES/BSD-2-Clause-Views diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk index 6b11532b0e..ba4f6de61a 100644 --- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk +++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_INPUTSTREAM_ADAPTIVE_VERSION = 20.3.11-Nexus +KODI_INPUTSTREAM_ADAPTIVE_VERSION = 20.3.17-Nexus KODI_INPUTSTREAM_ADAPTIVE_SITE = $(call github,xbmc,inputstream.adaptive,$(KODI_INPUTSTREAM_ADAPTIVE_VERSION)) KODI_INPUTSTREAM_ADAPTIVE_LICENSE = \ BSD-2-Clause-Views \ diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk index 569bde8cd2..a43ee57e00 100644 --- a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk @@ -6,7 +6,7 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_JSONSCHEMABUILDER_VERSION = 20.2-Nexus +KODI_JSONSCHEMABUILDER_VERSION = 20.5-Nexus KODI_JSONSCHEMABUILDER_SITE = $(call github,xbmc,xbmc,$(KODI_JSONSCHEMABUILDER_VERSION)) KODI_JSONSCHEMABUILDER_SOURCE = kodi-$(KODI_JSONSCHEMABUILDER_VERSION).tar.gz KODI_JSONSCHEMABUILDER_DL_SUBDIR = kodi @@ -20,7 +20,7 @@ HOST_KODI_JSONSCHEMABUILDER_CONF_OPTS = \ define HOST_KODI_JSONSCHEMABUILDER_INSTALL_CMDS $(INSTALL) -m 755 -D \ $(@D)/tools/depends/native/JsonSchemaBuilder/JsonSchemaBuilder \ - $(HOST_DIR)/bin/JsonSchemaBuilder + $(HOST_DIR)/bin/kodi-JsonSchemaBuilder endef $(eval $(host-cmake-package)) diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash index 6a128604b0..d4765d2b2c 100644 --- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b72277358df77ed79a0e7f3ae7e9799d02692fb30408cf6e5325ce7e5a34f597 kodi-peripheral-joystick-20.1.10-Nexus.tar.gz +sha256 7292431b26e3ea969967a02f42ce48cae7742398b148ca041470c17934d06272 kodi-peripheral-joystick-20.1.15-Nexus.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk index e55c92b121..d81962562c 100644 --- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk +++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PERIPHERAL_JOYSTICK_VERSION = 20.1.10-Nexus +KODI_PERIPHERAL_JOYSTICK_VERSION = 20.1.15-Nexus KODI_PERIPHERAL_JOYSTICK_SITE = $(call github,xbmc,peripheral.joystick,$(KODI_PERIPHERAL_JOYSTICK_VERSION)) KODI_PERIPHERAL_JOYSTICK_LICENSE = GPL-2.0+ KODI_PERIPHERAL_JOYSTICK_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.hash b/package/kodi-pvr-hts/kodi-pvr-hts.hash index 7b55eb88fd..2a59b7bbe5 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.hash +++ b/package/kodi-pvr-hts/kodi-pvr-hts.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e77bd87f1f4d1abc06e32d0347a0bb635bc129bec43a07864cb8a9e6b0e4d374 kodi-pvr-hts-20.6.2-Nexus.tar.gz +sha256 244cfc1488aa0c51465af411f3df8884b4a571a08acfa20ac9defdb8ef49022e kodi-pvr-hts-20.7.2-Nexus.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.mk b/package/kodi-pvr-hts/kodi-pvr-hts.mk index d32ce87388..ebc31ddbdf 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.mk +++ b/package/kodi-pvr-hts/kodi-pvr-hts.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_HTS_VERSION = 20.6.2-Nexus +KODI_PVR_HTS_VERSION = 20.7.2-Nexus KODI_PVR_HTS_SITE = $(call github,kodi-pvr,pvr.hts,$(KODI_PVR_HTS_VERSION)) KODI_PVR_HTS_LICENSE = GPL-2.0+ KODI_PVR_HTS_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash index 6be0623a5a..fa316b084a 100644 --- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash +++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 91ed962a4f77a2aa5df820ce57cf744c2a8ea02a356dafc2da270cf813c2d669 kodi-pvr-iptvsimple-20.10.1-Nexus.tar.gz +sha256 9edf800d7d5e755c92e9e8f6d3771a74cf3fec23b3aaec5b8535f1a579941a5b kodi-pvr-iptvsimple-20.13.0-Nexus.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk index 1182ea517a..eada2c63a5 100644 --- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk +++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_IPTVSIMPLE_VERSION = 20.10.1-Nexus +KODI_PVR_IPTVSIMPLE_VERSION = 20.13.0-Nexus KODI_PVR_IPTVSIMPLE_SITE = $(call github,kodi-pvr,pvr.iptvsimple,$(KODI_PVR_IPTVSIMPLE_VERSION)) KODI_PVR_IPTVSIMPLE_LICENSE = GPL-2.0+ KODI_PVR_IPTVSIMPLE_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash index d0d6331364..c61c391825 100644 --- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash +++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b1ad428bec882d3e852240cbef2378803635b530545a08421ff3baf0611a29e7 kodi-pvr-mythtv-20.3.2-Nexus.tar.gz +sha256 eb21e185d1333a8696565138bc58df3d37970c9a3615193396e9f296a56a24c4 kodi-pvr-mythtv-20.5.10-Nexus.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk index f67457480c..66f1948741 100644 --- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk +++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_MYTHTV_VERSION = 20.3.2-Nexus +KODI_PVR_MYTHTV_VERSION = 20.5.10-Nexus KODI_PVR_MYTHTV_SITE = $(call github,janbar,pvr.mythtv,$(KODI_PVR_MYTHTV_VERSION)) KODI_PVR_MYTHTV_LICENSE = GPL-2.0+ KODI_PVR_MYTHTV_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash index 9ef0d4e758..dcbc504a23 100644 --- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash +++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1ce85447426ddf6d443a5e3444145a2d3af65ce73d9fb583e42cd8afc9d599a5 kodi-pvr-nextpvr-20.4.2-Nexus.tar.gz +sha256 752dff532a277797f3fefc1ced7fea6efb8d92982d9040c4080c1e6dbab203a0 kodi-pvr-nextpvr-20.4.3-Nexus.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk index 2629cd9147..e89aed7d0a 100644 --- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk +++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_NEXTPVR_VERSION = 20.4.2-Nexus +KODI_PVR_NEXTPVR_VERSION = 20.4.3-Nexus KODI_PVR_NEXTPVR_SITE = $(call github,kodi-pvr,pvr.nextpvr,$(KODI_PVR_NEXTPVR_VERSION)) KODI_PVR_NEXTPVR_LICENSE = GPL-2.0+ KODI_PVR_NEXTPVR_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash index 36a9dd4187..0c56c8b6b4 100644 --- a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash +++ b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d38a6bf4debc442849d01faedadcccb1b07debe850cd3c9a5789508233d22256 kodi-pvr-plutotv-20.3.0-Nexus.tar.gz +sha256 11505556200029a48a293e97f94e0469a5f78580d0e56d5d0a1da05d61f0f5b5 kodi-pvr-plutotv-20.3.1a-Nexus.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk index b05c452854..fadb47efaf 100644 --- a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk +++ b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_PLUTOTV_VERSION = 20.3.0-Nexus +KODI_PVR_PLUTOTV_VERSION = 20.3.1a-Nexus KODI_PVR_PLUTOTV_SITE = $(call github,kodi-pvr,pvr.plutotv,$(KODI_PVR_PLUTOTV_VERSION)) KODI_PVR_PLUTOTV_LICENSE = GPL-2.0+ KODI_PVR_PLUTOTV_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-pvr-waipu/kodi-pvr-waipu.hash b/package/kodi-pvr-waipu/kodi-pvr-waipu.hash index ed447ce61f..e0b4dc482c 100644 --- a/package/kodi-pvr-waipu/kodi-pvr-waipu.hash +++ b/package/kodi-pvr-waipu/kodi-pvr-waipu.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 3a0a1dffe1bb8711dd6747b02a51aee6a0bce40ca6822cc2ab7f04b4b5acb82f kodi-pvr-waipu-20.9.0-Nexus.tar.gz +sha256 f43a7ac762b2c8bb7c2a66dc7d2a577fad92119bb4418867ce22369b96b18f8c kodi-pvr-waipu-20.11.0-Nexus.tar.gz sha256 4202d4fb329f58c83ba921b56d7071e37f7df3f15b3820a3a04ef8eee49f54d2 pvr.waipu/LICENSE.txt diff --git a/package/kodi-pvr-waipu/kodi-pvr-waipu.mk b/package/kodi-pvr-waipu/kodi-pvr-waipu.mk index b098e10929..02614552f0 100644 --- a/package/kodi-pvr-waipu/kodi-pvr-waipu.mk +++ b/package/kodi-pvr-waipu/kodi-pvr-waipu.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_WAIPU_VERSION = 20.9.0-Nexus +KODI_PVR_WAIPU_VERSION = 20.11.0-Nexus KODI_PVR_WAIPU_SITE = $(call github,flubshi,pvr.waipu,$(KODI_PVR_WAIPU_VERSION)) KODI_PVR_WAIPU_LICENSE = GPL-2.0+ KODI_PVR_WAIPU_LICENSE_FILES = pvr.waipu/LICENSE.txt diff --git a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash index e14491f192..86410df72a 100644 --- a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash +++ b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 5a2fa7655b3c62912341f453a98df81fa47e53c3c54a4e9bea47a4a85f4d2a20 kodi-pvr-zattoo-20.3.13-Nexus.tar.gz +sha256 b6f5205caede6aaf57c1eab8206c5a5b3aaa6b5d8bda862d983ca53150cdf14a kodi-pvr-zattoo-20.3.14-Nexus.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk index 94cc9f2a05..d97d940bdc 100644 --- a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk +++ b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_ZATTOO_VERSION = 20.3.13-Nexus +KODI_PVR_ZATTOO_VERSION = 20.3.14-Nexus KODI_PVR_ZATTOO_SITE = $(call github,rbuehlma,pvr.zattoo,$(KODI_PVR_ZATTOO_VERSION)) KODI_PVR_ZATTOO_LICENSE = GPL-2.0+ KODI_PVR_ZATTOO_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.mk b/package/kodi-skin-confluence/kodi-skin-confluence.mk index 43d0c4bff6..58e51ffc8a 100644 --- a/package/kodi-skin-confluence/kodi-skin-confluence.mk +++ b/package/kodi-skin-confluence/kodi-skin-confluence.mk @@ -11,7 +11,7 @@ KODI_SKIN_CONFLUENCE_LICENSE_FILES = LICENSE.txt KODI_SKIN_CONFLUENCE_DEPENDENCIES = kodi define KODI_SKIN_CONFLUENCE_BUILD_CMDS - $(HOST_DIR)/bin/TexturePacker -input $(@D)/media/ -output $(@D)/media/Textures.xbt -dupecheck -use_none + $(HOST_DIR)/bin/kodi-TexturePacker -input $(@D)/media/ -output $(@D)/media/Textures.xbt -dupecheck -use_none endef define KODI_SKIN_CONFLUENCE_INSTALL_TARGET_CMDS diff --git a/package/kodi-texturepacker/kodi-texturepacker.mk b/package/kodi-texturepacker/kodi-texturepacker.mk index 44eba85d75..e640ab3a90 100644 --- a/package/kodi-texturepacker/kodi-texturepacker.mk +++ b/package/kodi-texturepacker/kodi-texturepacker.mk @@ -6,7 +6,7 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_TEXTUREPACKER_VERSION = 20.2-Nexus +KODI_TEXTUREPACKER_VERSION = 20.5-Nexus KODI_TEXTUREPACKER_SITE = $(call github,xbmc,xbmc,$(KODI_TEXTUREPACKER_VERSION)) KODI_TEXTUREPACKER_SOURCE = kodi-$(KODI_TEXTUREPACKER_VERSION).tar.gz KODI_TEXTUREPACKER_DL_SUBDIR = kodi @@ -35,7 +35,7 @@ HOST_KODI_TEXTUREPACKER_CONF_OPTS += \ define HOST_KODI_TEXTUREPACKER_INSTALL_CMDS $(INSTALL) -m 755 -D \ $(@D)/tools/depends/native/TexturePacker/TexturePacker \ - $(HOST_DIR)/bin/TexturePacker + $(HOST_DIR)/bin/kodi-TexturePacker endef $(eval $(host-cmake-package)) diff --git a/package/kodi/0002-CGUIWindowHome-use-AnnouncementFlagToString-when-log.patch b/package/kodi/0002-CGUIWindowHome-use-AnnouncementFlagToString-when-log.patch deleted file mode 100644 index 3aa41adc86..0000000000 --- a/package/kodi/0002-CGUIWindowHome-use-AnnouncementFlagToString-when-log.patch +++ /dev/null @@ -1,31 +0,0 @@ -From cfbc0ec1b2cf2952fa4a279cf5fc71c15bf56f23 Mon Sep 17 00:00:00 2001 -From: Lukas Rusak -Date: Tue, 27 Jun 2023 11:21:50 -0700 -Subject: [PATCH] CGUIWindowHome: use AnnouncementFlagToString when logging - -Upstream: https://github.com/xbmc/xbmc/commit/3a20f5b67ff32cc3663e0ccd72941e666e8756a4 -Upstream: https://github.com/xbmc/xbmc/pull/23571 - -Signed-off-by: Lukas Rusak -Signed-off-by: Bernd Kuhls ---- - xbmc/windows/GUIWindowHome.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/xbmc/windows/GUIWindowHome.cpp b/xbmc/windows/GUIWindowHome.cpp -index c42e073c48..abc6cfc94d 100644 ---- a/xbmc/windows/GUIWindowHome.cpp -+++ b/xbmc/windows/GUIWindowHome.cpp -@@ -78,7 +78,8 @@ void CGUIWindowHome::Announce(ANNOUNCEMENT::AnnouncementFlag flag, - { - int ra_flag = 0; - -- CLog::Log(LOGDEBUG, LOGANNOUNCE, "GOT ANNOUNCEMENT, type: {}, from {}, message {}", flag, sender, message); -+ CLog::Log(LOGDEBUG, LOGANNOUNCE, "GOT ANNOUNCEMENT, type: {}, from {}, message {}", -+ AnnouncementFlagToString(flag), sender, message); - - // we are only interested in library changes - if ((flag & (ANNOUNCEMENT::VideoLibrary | ANNOUNCEMENT::AudioLibrary)) == 0) --- -2.39.2 - diff --git a/package/kodi/0003-CGUIColorButtonControl-use-explicit-cast-to-UTILS-CO.patch b/package/kodi/0003-CGUIColorButtonControl-use-explicit-cast-to-UTILS-CO.patch deleted file mode 100644 index 8ac29dcd20..0000000000 --- a/package/kodi/0003-CGUIColorButtonControl-use-explicit-cast-to-UTILS-CO.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 8b1673044971cae84de7d34015230b9503f292f4 Mon Sep 17 00:00:00 2001 -From: Lukas Rusak -Date: Tue, 27 Jun 2023 11:22:32 -0700 -Subject: [PATCH] CGUIColorButtonControl: use explicit cast to - UTILS::COLOR::Color when formatting - -Upstream: https://github.com/xbmc/xbmc/commit/c82006b575b78efbb3f5aff40a159b90f245ea9d -Upstream: https://github.com/xbmc/xbmc/pull/23571 - -Signed-off-by: Lukas Rusak -Signed-off-by: Bernd Kuhls ---- - xbmc/guilib/GUIColorButtonControl.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/xbmc/guilib/GUIColorButtonControl.cpp b/xbmc/guilib/GUIColorButtonControl.cpp -index 940834cb68..67597d7ab5 100644 ---- a/xbmc/guilib/GUIColorButtonControl.cpp -+++ b/xbmc/guilib/GUIColorButtonControl.cpp -@@ -188,7 +188,8 @@ void CGUIColorButtonControl::RenderInfoText() - void CGUIColorButtonControl::ProcessInfoText(unsigned int currentTime) - { - CRect labelRenderRect = m_labelInfo.GetRenderRect(); -- bool changed = m_labelInfo.SetText(StringUtils::Format("#{:08X}", m_imgBoxColor)); -+ bool changed = m_labelInfo.SetText( -+ StringUtils::Format("#{:08X}", static_cast(m_imgBoxColor))); - // Set Label X position based on image mask control position - float textWidth = m_labelInfo.GetTextWidth() + 2 * m_labelInfo.GetLabelInfo().offsetX; - float textPosX = m_imgColorMask->GetXPosition() - textWidth; --- -2.39.2 - diff --git a/package/kodi/0004-CLog-allow-using-fmt-enums-format_as-for-explicit-en.patch b/package/kodi/0004-CLog-allow-using-fmt-enums-format_as-for-explicit-en.patch deleted file mode 100644 index 4e09218361..0000000000 --- a/package/kodi/0004-CLog-allow-using-fmt-enums-format_as-for-explicit-en.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ec1fd134e31b8c667ff06e02e21a75c4c3e87dfd Mon Sep 17 00:00:00 2001 -From: Lukas Rusak -Date: Tue, 27 Jun 2023 11:24:02 -0700 -Subject: [PATCH] CLog: allow using fmt::enums::format_as for explicit enum - conversion when using libfmt>=10 - -Upstream: https://github.com/xbmc/xbmc/commit/e4b1aa8450fabfb41379953c8ccec0a512421531 -Upstream: https://github.com/xbmc/xbmc/pull/23571 - -Signed-off-by: Lukas Rusak -Signed-off-by: Bernd Kuhls ---- - xbmc/utils/log.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/xbmc/utils/log.h b/xbmc/utils/log.h -index 9fc4aae368..adf46905a8 100644 ---- a/xbmc/utils/log.h -+++ b/xbmc/utils/log.h -@@ -46,6 +46,10 @@ class dist_sink; - } // namespace sinks - } // namespace spdlog - -+#if FMT_VERSION >= 100000 -+using fmt::enums::format_as; -+#endif -+ - class CLog : public ISettingsHandler, public ISettingCallback - { - public: --- -2.39.2 - diff --git a/package/kodi/0005-CLog-add-formatter-for-std-atomic-for-explicit-atomi.patch b/package/kodi/0005-CLog-add-formatter-for-std-atomic-for-explicit-atomi.patch deleted file mode 100644 index b87a60f809..0000000000 --- a/package/kodi/0005-CLog-add-formatter-for-std-atomic-for-explicit-atomi.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 46f6d97f46254600bd34f77f335a475178d7aaa5 Mon Sep 17 00:00:00 2001 -From: Lukas Rusak -Date: Tue, 27 Jun 2023 11:24:34 -0700 -Subject: [PATCH] CLog: add formatter for std::atomic for explicit atomic - conversion when using libfmt>=10 - -Upstream: https://github.com/xbmc/xbmc/commit/26c164a28cfd18ceef7a1f2bbba5bf8a4a5a750c -Upstream: https://github.com/xbmc/xbmc/pull/23571 - -Signed-off-by: Lukas Rusak -Signed-off-by: Bernd Kuhls ---- - xbmc/utils/log.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/xbmc/utils/log.h b/xbmc/utils/log.h -index adf46905a8..1c42c888cb 100644 ---- a/xbmc/utils/log.h -+++ b/xbmc/utils/log.h -@@ -48,6 +48,14 @@ class dist_sink; - - #if FMT_VERSION >= 100000 - using fmt::enums::format_as; -+ -+namespace fmt -+{ -+template -+struct formatter, Char> : formatter -+{ -+}; -+} // namespace fmt - #endif - - class CLog : public ISettingsHandler, public ISettingCallback --- -2.39.2 - diff --git a/package/kodi/Config.in b/package/kodi/Config.in index 6b68e6d504..8ad9fdae78 100644 --- a/package/kodi/Config.in +++ b/package/kodi/Config.in @@ -198,7 +198,7 @@ comment "nfs support needs a toolchain w/ threads support" config BR2_PACKAGE_KODI_MYSQL bool "mysql" - select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_MARIADB help Enable MySQL support diff --git a/package/kodi/kodi.hash b/package/kodi/kodi.hash index 37fbf0c004..b497ab7dca 100644 --- a/package/kodi/kodi.hash +++ b/package/kodi/kodi.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 4e81abf81172812bc8891f69a7a80a2b846298cecaae7b5009725e28a3040c23 kodi-20.2-Nexus.tar.gz +sha256 9bf3257ebf251d20f276b7f90681985a270779150af2fb395d4b593c04002deb kodi-20.5-Nexus.tar.gz sha256 f38c4a4e7a4f4da6d8e83b8852489aa3bb6588a915dc41f5ee89d9aad305a06e kodi-libdvdcss-1.4.3-Next-Nexus-Alpha2-2.tar.gz sha256 584f62a3896794408d46368e2ecf2c6217ab9c676ce85921b2d68b8961f49dfc kodi-libdvdnav-6.1.1-Next-Nexus-Alpha2-2.tar.gz sha256 719130091e3adc9725ba72df808f24a14737a009dca5a4c38c601c0c76449b62 kodi-libdvdread-6.1.3-Next-Nexus-Alpha2-2.tar.gz diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index aff272d014..085169367d 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -6,7 +6,7 @@ # When updating the version, please also update kodi-jsonschemabuilder # and kodi-texturepacker -KODI_VERSION_MAJOR = 20.2 +KODI_VERSION_MAJOR = 20.5 KODI_VERSION_NAME = Nexus KODI_VERSION = $(KODI_VERSION_MAJOR)-$(KODI_VERSION_NAME) KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION)) @@ -88,8 +88,8 @@ KODI_CONF_OPTS += \ -DPYTHON_INCLUDE_DIRS=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ -DPYTHON_PATH=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) \ -DPYTHON_VER=$(PYTHON3_VERSION_MAJOR) \ - -DWITH_JSONSCHEMABUILDER=$(HOST_DIR)/bin/JsonSchemaBuilder \ - -DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \ + -DWITH_JSONSCHEMABUILDER=$(HOST_DIR)/bin/ \ + -DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/ \ -DLIBDVDCSS_URL=$(KODI_DL_DIR)/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \ -DLIBDVDNAV_URL=$(KODI_DL_DIR)/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \ -DLIBDVDREAD_URL=$(KODI_DL_DIR)/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz @@ -216,7 +216,7 @@ endif ifeq ($(BR2_PACKAGE_KODI_MYSQL),y) KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON -KODI_DEPENDENCIES += mysql +KODI_DEPENDENCIES += mariadb else KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=OFF endif diff --git a/package/ksmbd-tools/ksmbd-tools.hash b/package/ksmbd-tools/ksmbd-tools.hash index b31c66bbe7..c3e6ebefe5 100644 --- a/package/ksmbd-tools/ksmbd-tools.hash +++ b/package/ksmbd-tools/ksmbd-tools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 09ab343e9bf10ddfdd3216f400b19740a391645bf3645fa6f136b8da36306559 ksmbd-tools-3.4.6.tar.gz +sha256 ab377b3044c48382303f3f7ec95f2e1a17592c774d70b2a11f32952099dbb214 ksmbd-tools-3.5.1.tar.gz sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING diff --git a/package/ksmbd-tools/ksmbd-tools.mk b/package/ksmbd-tools/ksmbd-tools.mk index c4f9c503e6..c56c6e10bb 100644 --- a/package/ksmbd-tools/ksmbd-tools.mk +++ b/package/ksmbd-tools/ksmbd-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -KSMBD_TOOLS_VERSION = 3.4.6 +KSMBD_TOOLS_VERSION = 3.5.1 KSMBD_TOOLS_SITE = https://github.com/cifsd-team/ksmbd-tools/releases/download/$(KSMBD_TOOLS_VERSION) KSMBD_TOOLS_LICENSE = GPL-2.0+ KSMBD_TOOLS_LICENSE_FILES = COPYING diff --git a/package/kvazaar/kvazaar.hash b/package/kvazaar/kvazaar.hash index 20b8e5918e..4956fc7091 100644 --- a/package/kvazaar/kvazaar.hash +++ b/package/kvazaar/kvazaar.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 a76998462924ab8409cf8de4947ba5a5023daa33207676e9c4eefc2bbd46c834 kvazaar-2.1.0.tar.xz -sha256 4caf7852236f62bfd77aac10a7b9a42372b00aa461ad8912780cd865a39062ff LICENSE -sha256 16f569c87d5ec20b7474b55ee0a8877b8f8b4dc13f9567ebe0b8fe8afdeb34d2 LICENSE.greatest -sha256 f84c0f33873a015f399d8171cf321af2f09ef915ae7ad5a9edaa7d0286cf9d5e LICENSE.x264asm +sha256 f8fb72184f10b2fac295452bd0d5936d4449ed849754d5d1f3e7035998983573 kvazaar-2.2.0.tar.xz +sha256 3c1dc3d7f8a3d08c14f4fbe9942f45764d8a21a3296e8d83446f33fd65f21c38 LICENSE +sha256 16f569c87d5ec20b7474b55ee0a8877b8f8b4dc13f9567ebe0b8fe8afdeb34d2 LICENSE.EXT.greatest +sha256 f84c0f33873a015f399d8171cf321af2f09ef915ae7ad5a9edaa7d0286cf9d5e LICENSE.EXT.x264asm diff --git a/package/kvazaar/kvazaar.mk b/package/kvazaar/kvazaar.mk index 17e2ea8caf..6bcc6066a4 100644 --- a/package/kvazaar/kvazaar.mk +++ b/package/kvazaar/kvazaar.mk @@ -4,11 +4,11 @@ # ################################################################################ -KVAZAAR_VERSION = 2.1.0 +KVAZAAR_VERSION = 2.2.0 KVAZAAR_SOURCE = kvazaar-$(KVAZAAR_VERSION).tar.xz KVAZAAR_SITE = https://github.com/ultravideo/kvazaar/releases/download/v$(KVAZAAR_VERSION) KVAZAAR_LICENSE = BSD-3-Clause, ISC (greatest, x264asm) -KVAZAAR_LICENSE_FILES = LICENSE LICENSE.greatest LICENSE.x264asm +KVAZAAR_LICENSE_FILES = LICENSE LICENSE.EXT.greatest LICENSE.EXT.x264asm KVAZAAR_INSTALL_STAGING = YES KVAZAAR_DEPENDENCIES = host-pkgconf diff --git a/package/kvm-unit-tests/kvm-unit-tests.hash b/package/kvm-unit-tests/kvm-unit-tests.hash index 3b6d02dd8e..d4db9f2b75 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.hash +++ b/package/kvm-unit-tests/kvm-unit-tests.hash @@ -1,3 +1,4 @@ # Locally computed -sha256 9c9b093ffe3fa33145a53102de9c3e2d55cd0cdc8a20cf172b726296ffe22f4f kvm-unit-tests-v2023-01-05.tar.bz2 -sha256 d9bbb60891710d248f01c8bdac50ef7ad39188de512610437872e83112b38a1b COPYRIGHT +sha256 8636994e10240705f10a9150ef688ae6832d0ea0dcc8860c826c645ecfc1169f kvm-unit-tests-v2024-01-08.tar.bz2 +sha256 b3c9ca9e257f2eaae070cf0ccdf8770764f05a947a39a835e633413750a5777b COPYRIGHT +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk index 956f07b304..73d20d6b2e 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/package/kvm-unit-tests/kvm-unit-tests.mk @@ -4,11 +4,11 @@ # ################################################################################ -KVM_UNIT_TESTS_VERSION = 2023-01-05 +KVM_UNIT_TESTS_VERSION = 2024-01-08 KVM_UNIT_TESTS_SOURCE = kvm-unit-tests-v$(KVM_UNIT_TESTS_VERSION).tar.bz2 KVM_UNIT_TESTS_SITE = https://gitlab.com/kvm-unit-tests/kvm-unit-tests/-/archive/v$(KVM_UNIT_TESTS_VERSION) KVM_UNIT_TESTS_LICENSE = GPL-2.0, LGPL-2.0 -KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT +KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT LICENSE ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) KVM_UNIT_TESTS_ARCH = aarch64 diff --git a/package/kvmtool/kvmtool.mk b/package/kvmtool/kvmtool.mk index df6ae7e0f1..2bcd556f9b 100644 --- a/package/kvmtool/kvmtool.mk +++ b/package/kvmtool/kvmtool.mk @@ -17,6 +17,7 @@ KVMTOOL_DEPENDENCIES = \ $(if $(BR2_PACKAGE_ZLIB),zlib) KVMTOOL_LICENSE = GPL-2.0 KVMTOOL_LICENSE_FILES = COPYING +KVMTOOL_CPE_ID_VALID = YES # Disable -Werror, otherwise musl is not happy KVMTOOL_MAKE_OPTS = \ diff --git a/package/lame/lame.mk b/package/lame/lame.mk index 3a57cffe3d..206e4407c9 100644 --- a/package/lame/lame.mk +++ b/package/lame/lame.mk @@ -12,7 +12,7 @@ LAME_CONF_ENV = GTK_CONFIG=/bin/false LAME_CONF_OPTS = --enable-dynamic-frontends LAME_LICENSE = LGPL-2.0+ LAME_LICENSE_FILES = COPYING -LAME_CPE_ID_VENDOR = lame_project +LAME_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) LAME_DEPENDENCIES += libsndfile diff --git a/package/lapack/lapack.mk b/package/lapack/lapack.mk index 3db2797202..3c1ab1fc67 100644 --- a/package/lapack/lapack.mk +++ b/package/lapack/lapack.mk @@ -8,7 +8,7 @@ LAPACK_VERSION = 3.10.1 LAPACK_LICENSE = BSD-3-Clause LAPACK_LICENSE_FILES = LICENSE LAPACK_SITE = $(call github,Reference-LAPACK,lapack,v$(LAPACK_VERSION)) -LAPACK_CPE_ID_VENDOR = lapack_project +LAPACK_CPE_ID_VALID = YES LAPACK_INSTALL_STAGING = YES LAPACK_SUPPORTS_IN_SOURCE_BUILD = NO LAPACK_CONF_OPTS = -DLAPACKE=ON -DCBLAS=ON diff --git a/package/lcms2/lcms2.hash b/package/lcms2/lcms2.hash index 45728a36f1..362412e3c4 100644 --- a/package/lcms2/lcms2.hash +++ b/package/lcms2/lcms2.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/lcms/files/lcms/2.15 -sha1 b143ff29b03676119dbca30f13cbed72af15cce8 lcms2-2.15.tar.gz +# From https://sourceforge.net/projects/lcms/files/lcms/2.16 +sha1 751d32ba11809e3591c118be9aae8ac2dbd41cb7 lcms2-2.16.tar.gz # Locally computed: -sha256 b20cbcbd0f503433be2a4e81462106fa61050a35074dc24a4e356792d971ab39 lcms2-2.15.tar.gz -sha256 46d4e05af3bce75332a12d01f19bcce7e32b6bac544be28a64043d0231291e31 COPYING +sha256 d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51 lcms2-2.16.tar.gz +sha256 6dbd60437f8ef91d8de1f08ad75882547fd4931bfcc3566a0735f28db1484d31 LICENSE diff --git a/package/lcms2/lcms2.mk b/package/lcms2/lcms2.mk index 3892dbfbdc..92aeff8890 100644 --- a/package/lcms2/lcms2.mk +++ b/package/lcms2/lcms2.mk @@ -4,10 +4,10 @@ # ################################################################################ -LCMS2_VERSION = 2.15 +LCMS2_VERSION = 2.16 LCMS2_SITE = http://downloads.sourceforge.net/project/lcms/lcms/$(LCMS2_VERSION) LCMS2_LICENSE = MIT -LCMS2_LICENSE_FILES = COPYING +LCMS2_LICENSE_FILES = LICENSE LCMS2_CPE_ID_VENDOR = littlecms LCMS2_CPE_ID_PRODUCT = little_cms LCMS2_INSTALL_STAGING = YES diff --git a/package/ledmon/0001-Replace-nonstandard-on_exit-function-by-atexit.patch b/package/ledmon/0001-Replace-nonstandard-on_exit-function-by-atexit.patch new file mode 100644 index 0000000000..7a89c3f1a4 --- /dev/null +++ b/package/ledmon/0001-Replace-nonstandard-on_exit-function-by-atexit.patch @@ -0,0 +1,223 @@ +From e57ad4c71cce734de7f8aa75e84fce97bc148c2b Mon Sep 17 00:00:00 2001 +From: Maksim Kiselev +Date: Mon, 15 May 2023 14:46:56 +0300 +Subject: [PATCH] Replace nonstandard on_exit() function by atexit() + +on_exit() is not portable and not available on the C libraries musl +and uClibc. + +So let's replace it with standard atexit() function. + +Upstream: https://github.com/intel/ledmon/pull/139 + +Signed-off-by: Maksim Kiselev +--- + src/ledctl.c | 12 ++++------- + src/ledmon.c | 59 +++++++++++++++++++++++++++------------------------- + 2 files changed, 35 insertions(+), 36 deletions(-) + +diff --git a/src/ledctl.c b/src/ledctl.c +index 7a89a24..10fd57a 100644 +--- a/src/ledctl.c ++++ b/src/ledctl.c +@@ -214,15 +214,11 @@ static void ibpi_state_fini(struct ibpi_state *p) + * + * This is internal function of ledctl utility. The function cleans up a memory + * allocated for the application and closes all opened handles. This function is +- * design to be registered as on_exit() handler function. +- * +- * @param[in] status exit status of the ledctl application. +- * @param[in] ignored function ignores this argument. ++ * design to be registered as atexit() handler function. + * + * @return The function does not return a value. + */ +-static void _ledctl_fini(int status __attribute__ ((unused)), +- void *ignore __attribute__ ((unused))) ++static void _ledctl_fini(void) + { + sysfs_reset(); + list_erase(&ibpi_list); +@@ -948,7 +944,7 @@ static char *ledctl_strstatus(ledctl_status_code_t s) + * @brief Application's entry point. + * + * This is the entry point of ledctl utility. This function does all the work. +- * It allocates and initializes all used structures. Registers on_exit() ++ * It allocates and initializes all used structures. Registers atexit() + * handlers. + * Then the function parses command line options and commands given and scans + * sysfs tree for controllers, block devices and RAID devices. If no error is +@@ -983,7 +979,7 @@ int main(int argc, char *argv[]) + status = _init_ledctl_conf(); + if (status != LEDCTL_STATUS_SUCCESS) + return status; +- if (on_exit(_ledctl_fini, progname)) ++ if (atexit(_ledctl_fini)) + exit(LEDCTL_STATUS_ONEXIT_ERROR); + slot_request_init(&slot_req); + status = _cmdline_parse(argc, argv, &slot_req); +diff --git a/src/ledmon.c b/src/ledmon.c +index 6f52fd6..1329295 100644 +--- a/src/ledmon.c ++++ b/src/ledmon.c +@@ -57,6 +57,19 @@ + #include "utils.h" + #include "vmdssd.h" + ++/** ++ * This macro is the alternative way to get exit status ++ * in atexit() callback function ++ */ ++#define EXIT(x) ((exit)(exit_status = (x))) ++ ++static int exit_status; ++ ++/** ++ * Flag to print exit status ++ */ ++static int ignore; ++ + /** + * @brief List of active block devices. + * +@@ -151,20 +164,16 @@ static int possible_params_size = ARRAY_SIZE(possible_params); + * + * This is internal function of monitor service. It is used to finalize daemon + * process i.e. free allocated memory, unlock and remove pidfile and close log +- * file and syslog. The function is registered as on_exit() handler. +- * +- * @param[in] status The function ignores this parameter. +- * @param[in] program_name The name of the binary file. This argument +- * is passed via on_exit() function. ++ * file and syslog. The function is registered as atexit() handler. + * + * @return The function does not return a value. + */ +-static void _ledmon_fini(int __attribute__ ((unused)) status, void *program_name) ++static void _ledmon_fini(void) + { + sysfs_reset(); + list_erase(&ledmon_block_list); + log_close(); +- pidfile_remove(program_name); ++ pidfile_remove(progname); + } + + typedef enum { +@@ -207,30 +216,25 @@ static char *ledmon_strstatus(ledmon_status_code_t s) + * + * This is internal function of monitor service. It is used to report an exit + * status of the monitor service. The message is logged in to syslog and to log +- * file. The function is registered as on_exit() hander. +- * +- * @param[in] status Status given in the last call to exit() +- * function. +- * @param[in] arg Argument passed to on_exit(). ++ * file. The function is registered as atexit() handler. + * + * @return The function does not return a value. + */ +-static void _ledmon_status(int status, void *arg) ++static void _ledmon_status(void) + { + int log_level; + char message[4096]; +- int ignore = *((int *)arg); + + if (ignore) + return; + +- if (status == LEDMON_STATUS_SUCCESS) ++ if (exit_status == LEDMON_STATUS_SUCCESS) + log_level = LOG_LEVEL_INFO; + else + log_level = LOG_LEVEL_ERROR; + + snprintf(message, sizeof(message), "exit status is %s.", +- ledmon_strstatus(status)); ++ ledmon_strstatus(exit_status)); + + if (get_log_fd() >= 0) + _log(log_level, message); +@@ -364,10 +368,10 @@ static ledmon_status_code_t _cmdline_parse_non_daemonise(int argc, char *argv[]) + break; + case 'h': + _ledmon_help(); +- exit(EXIT_SUCCESS); ++ EXIT(EXIT_SUCCESS); + case 'v': + _ledmon_version(); +- exit(EXIT_SUCCESS); ++ EXIT(EXIT_SUCCESS); + case ':': + case '?': + return LEDMON_STATUS_CMDLINE_ERROR; +@@ -890,14 +894,13 @@ static void _close_parent_fds(void) + int main(int argc, char *argv[]) + { + ledmon_status_code_t status = LEDMON_STATUS_SUCCESS; +- static int ignore; + + setup_options(&longopt, &shortopt, possible_params, + possible_params_size); + set_invocation_name(argv[0]); + openlog(progname, LOG_PID | LOG_PERROR, LOG_DAEMON); + +- if (on_exit(_ledmon_status, &ignore)) ++ if (atexit(_ledmon_status)) + return LEDMON_STATUS_ONEXIT_ERROR; + + if (_cmdline_parse_non_daemonise(argc, argv) != LEDMON_STATUS_SUCCESS) +@@ -935,18 +938,18 @@ int main(int argc, char *argv[]) + + if (pid < 0) { + log_debug("main(): fork() failed (errno=%d).", errno); +- exit(EXIT_FAILURE); ++ EXIT(EXIT_FAILURE); + } + if (pid > 0) { + ignore = 1; /* parent: don't print exit status */ +- exit(EXIT_SUCCESS); ++ EXIT(EXIT_SUCCESS); + } + + pid_t sid = setsid(); + + if (sid < 0) { + log_debug("main(): setsid() failed (errno=%d).", errno); +- exit(EXIT_FAILURE); ++ EXIT(EXIT_FAILURE); + } + + _close_parent_fds(); +@@ -960,16 +963,16 @@ int main(int argc, char *argv[]) + + if (chdir("/") < 0) { + log_debug("main(): chdir() failed (errno=%d).", errno); +- exit(EXIT_FAILURE); ++ EXIT(EXIT_FAILURE); + } + if (pidfile_create(progname)) { + log_debug("main(): pidfile_creat() failed."); +- exit(EXIT_FAILURE); ++ EXIT(EXIT_FAILURE); + } + _ledmon_setup_signals(); + +- if (on_exit(_ledmon_fini, progname)) +- exit(LEDMON_STATUS_ONEXIT_ERROR); ++ if (atexit(_ledmon_fini)) ++ EXIT(LEDMON_STATUS_ONEXIT_ERROR); + list_init(&ledmon_block_list, (item_free_t)block_device_fini); + sysfs_init(); + log_info("monitor service has been started..."); +@@ -987,5 +990,5 @@ int main(int argc, char *argv[]) + } + ledmon_remove_shared_conf(); + stop_udev_monitor(); +- exit(EXIT_SUCCESS); ++ EXIT(EXIT_SUCCESS); + } +-- +2.39.2 + diff --git a/package/ledmon/0002-Fix-unknown-type-name-ssize_t-error.patch b/package/ledmon/0002-Fix-unknown-type-name-ssize_t-error.patch new file mode 100644 index 0000000000..4aeadbbbf8 --- /dev/null +++ b/package/ledmon/0002-Fix-unknown-type-name-ssize_t-error.patch @@ -0,0 +1,44 @@ +From b9f454cd29b6b5a0927b3c1e98807d54ffacd73e Mon Sep 17 00:00:00 2001 +From: Maksim Kiselev +Date: Mon, 15 May 2023 19:29:45 +0300 +Subject: [PATCH] Fix unknown type name ‘ssize_t’ error + +This error occurs for builds with musl libc. +Move include to utils header to +resolve this issue. + +Upstream: https://github.com/intel/ledmon/pull/139 + +Signed-off-by: Maksim Kiselev +--- + src/utils.c | 1 - + src/utils.h | 1 + + 2 files changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/utils.c b/src/utils.c +index 86b9593..0b83d5a 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -33,7 +33,6 @@ + #include + #include + #include +-#include + #include + #include + #include +diff --git a/src/utils.h b/src/utils.h +index 5d590b9..d02da8f 100644 +--- a/src/utils.h ++++ b/src/utils.h +@@ -22,6 +22,7 @@ + #define _UTILS_H_INCLUDED_ + + #include ++#include + #include "config_file.h" + #include "stdlib.h" + #include "stdint.h" +-- +2.39.2 + diff --git a/package/ledmon/0003-Add-disable-doc-option.patch b/package/ledmon/0003-Add-disable-doc-option.patch new file mode 100644 index 0000000000..ab7a242289 --- /dev/null +++ b/package/ledmon/0003-Add-disable-doc-option.patch @@ -0,0 +1,63 @@ +From 141628519d227b59be3977b16ebaab0feb22b295 Mon Sep 17 00:00:00 2001 +From: Maksim Kiselev +Date: Sun, 20 Aug 2023 11:35:57 +0300 +Subject: [PATCH] Add '--disable-doc' option + +Introduce a configure option to disable documentation installation +in case if it is not required. + +Upstream: https://github.com/intel/ledmon/pull/154 + +Signed-off-by: Maksim Kiselev +--- + Makefile.am | 8 ++++++-- + configure.ac | 11 ++++++++++- + 2 files changed, 16 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index ddcd200..644a8d2 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -20,6 +20,10 @@ if SYSTEMD_CONDITION + OPTIONAL_SUBDIR = systemd + endif + +-SUBDIRS = doc src $(OPTIONAL_SUBDIR) ++if WITH_DOC ++ DOC_SUBDIR = doc ++ dist_doc_DATA = README.md ++endif ++ ++SUBDIRS = src $(DOC_SUBDIR) $(OPTIONAL_SUBDIR) + EXTRA_DIST = config/config.h systemd/ledmon.service.in +-dist_doc_DATA = README.md +diff --git a/configure.ac b/configure.ac +index 05baa62..114957f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -74,6 +74,15 @@ AM_CONDITIONAL([SYSTEMD_CONDITION], [test "$SYSTEMD_STR" = yes]) + # target directory for ledmon service file + AC_SUBST([SYSTEMD_PATH], "$(pkg-config systemd --variable=systemdsystemunitdir)") + ++# Add configure option to disable documentation building ++AC_ARG_ENABLE([doc], ++ [AS_HELP_STRING([--disable-doc], ++ [do not install ledmon documentaion])], ++ [with_doc=${enableval}], ++ [with_doc=yes]) ++ ++AM_CONDITIONAL([WITH_DOC], [test "x$with_doc" = "xyes"]) ++ + AC_CONFIG_FILES([Makefile + doc/Makefile + src/Makefile +@@ -86,5 +95,5 @@ $PACKAGE_NAME $VERSION configuration: + Preprocessor flags: ${AM_CPPFLAGS} ${CPPFLAGS} + C compiler flags: ${AM_CFLAGS} ${CFLAGS} + Common install location: ${prefix} +- configure parameters: --enable-systemd=${SYSTEMD_STR} ++ configure parameters: --enable-systemd=${SYSTEMD_STR} --enable-doc=${with_doc} + ]) +-- +2.39.2 + diff --git a/package/ledmon/Config.in b/package/ledmon/Config.in new file mode 100644 index 0000000000..d08be715c3 --- /dev/null +++ b/package/ledmon/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LEDMON + bool "ledmon" + depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_HAS_THREADS # sg3_utils + select BR2_PACKAGE_PCIUTILS + select BR2_PACKAGE_SG3_UTILS + help + Enclosure LED Utilities. The ledmon application is + a daemon process used to monitor a state of software + RAID devices (md only) or a state of block devices. + + https://github.com/intel/ledmon + +comment "ledmon needs udev and a toolchain w/ threads" + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/ledmon/ledmon.hash b/package/ledmon/ledmon.hash new file mode 100644 index 0000000000..dfc5d74242 --- /dev/null +++ b/package/ledmon/ledmon.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 40ee7e462b78c77468cc2ef356a06c5b6db44747d596dc11532f7b6f378d2d4b ledmon-0.97.tar.gz +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/ledmon/ledmon.mk b/package/ledmon/ledmon.mk new file mode 100644 index 0000000000..473d0de7a3 --- /dev/null +++ b/package/ledmon/ledmon.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# ledmon +# +################################################################################ + +LEDMON_VERSION = 0.97 +LEDMON_SITE = $(call github,intel,ledmon,v$(LEDMON_VERSION)) +LEDMON_DEPENDENCIES = host-pkgconf pciutils sg3_utils udev +# The code base also include a COPYING.LIB file with the LGPL-2.1 text, +# and some source files are published under LGPL-2.1, but all of them are +# at some point linked with GPL-2.0 code, making the resulting binaries +# GPL-2.0 licensed +LEDMON_LICENSE = GPL-2.0 +LEDMON_LICENSE_FILES = COPYING +# 0002-Fix-unknown-type-name-ssize_t-error.patch +LEDMON_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/lensfun/lensfun.hash b/package/lensfun/lensfun.hash index f03d0b54ae..5cb4fe37cd 100644 --- a/package/lensfun/lensfun.hash +++ b/package/lensfun/lensfun.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 57ba5a0377f24948972339e18be946af12eda22b7c707eb0ddd26586370f6765 lensfun-0.3.3.tar.gz +sha256 dafb39c08ef24a0e2abd00d05d7341b1bf1f0c38bfcd5a4c69cf5f0ecb6db112 lensfun-0.3.4.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 docs/gpl-3.0.txt sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c docs/lgpl-3.0.txt diff --git a/package/lensfun/lensfun.mk b/package/lensfun/lensfun.mk index f82ed44495..59f008ce6d 100644 --- a/package/lensfun/lensfun.mk +++ b/package/lensfun/lensfun.mk @@ -4,7 +4,7 @@ # ################################################################################ -LENSFUN_VERSION = 0.3.3 +LENSFUN_VERSION = 0.3.4 LENSFUN_SITE = $(call github,lensfun,lensfun,v$(LENSFUN_VERSION)) LENSFUN_LICENSE = LGPL-3.0+ (libraries), GPL-3.0+ (programs) LENSFUN_LICENSE_FILES = docs/gpl-3.0.txt docs/lgpl-3.0.txt diff --git a/package/leptonica/leptonica.hash b/package/leptonica/leptonica.hash index 1220fbbd6e..6511d6b410 100644 --- a/package/leptonica/leptonica.hash +++ b/package/leptonica/leptonica.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 155302ee914668c27b6fe3ca9ff2da63b245f6d62f3061c8f27563774b8ae2d6 leptonica-1.82.0.tar.gz +sha256 8f18615e0743af7df7f50985c730dfcf0c93548073d1f56621e4156a8b54d3dd leptonica-1.83.1.tar.gz sha256 87829abb5bbb00b55a107365da89e9a33f86c4250169e5a1e5588505be7d5806 leptonica-license.txt diff --git a/package/leptonica/leptonica.mk b/package/leptonica/leptonica.mk index 8791b0c4c2..4cb73296e8 100644 --- a/package/leptonica/leptonica.mk +++ b/package/leptonica/leptonica.mk @@ -4,8 +4,8 @@ # ################################################################################ -LEPTONICA_VERSION = 1.82.0 -LEPTONICA_SITE = http://www.leptonica.org/source +LEPTONICA_VERSION = 1.83.1 +LEPTONICA_SITE = https://github.com/DanBloomberg/leptonica/releases/download/$(LEPTONICA_VERSION) LEPTONICA_LICENSE = BSD-2-Clause LEPTONICA_LICENSE_FILES = leptonica-license.txt LEPTONICA_CPE_ID_VENDOR = leptonica @@ -14,6 +14,10 @@ LEPTONICA_DEPENDENCIES = host-pkgconf LEPTONICA_CONF_OPTS += --disable-programs +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101737),y) +LEPTONICA_CONF_OPTS += CFLAGS="$(TARGET_CFLAGS) -O0" +endif + ifeq ($(BR2_PACKAGE_GIFLIB),y) LEPTONICA_DEPENDENCIES += giflib LEPTONICA_CONF_OPTS += --with-giflib diff --git a/package/less/less.hash b/package/less/less.hash index 8018c9fab1..c44e246773 100644 --- a/package/less/less.hash +++ b/package/less/less.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature # using DSA key F153A7C833235259 -# https://www.greenwoodsoftware.com/less/less-633.sig -sha256 2f201d64b828b88af36dfe6cfdba3e0819ece2e446ebe6224813209aaefed04f less-633.tar.gz +# https://www.greenwoodsoftware.com/less/less-643.sig +sha256 2911b5432c836fa084c8a2e68f6cd6312372c026a58faaa98862731c8b6052e8 less-643.tar.gz # Locally calculated sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/less/less.mk b/package/less/less.mk index f7211ef112..7431d80cc4 100644 --- a/package/less/less.mk +++ b/package/less/less.mk @@ -4,7 +4,7 @@ # ################################################################################ -LESS_VERSION = 633 +LESS_VERSION = 643 LESS_SITE = http://www.greenwoodsoftware.com/less LESS_LICENSE = GPL-3.0+ LESS_LICENSE_FILES = COPYING diff --git a/package/lftp/lftp.mk b/package/lftp/lftp.mk index 00b33b91fb..483ca298cd 100644 --- a/package/lftp/lftp.mk +++ b/package/lftp/lftp.mk @@ -9,7 +9,7 @@ LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz LFTP_SITE = http://lftp.yar.ru/ftp LFTP_LICENSE = GPL-3.0+ LFTP_LICENSE_FILES = COPYING -LFTP_CPE_ID_VENDOR = lftp_project +LFTP_CPE_ID_VALID = YES LFTP_DEPENDENCIES = readline zlib host-pkgconf # Help lftp finding readline and zlib diff --git a/package/libabseil-cpp/Config.in b/package/libabseil-cpp/Config.in index 45f339ff26..7b65ec40d0 100644 --- a/package/libabseil-cpp/Config.in +++ b/package/libabseil-cpp/Config.in @@ -18,7 +18,7 @@ config BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS config BR2_PACKAGE_LIBABSEIL_CPP bool "libabseil-cpp" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS # uses dlfcn.h depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS @@ -31,7 +31,7 @@ config BR2_PACKAGE_LIBABSEIL_CPP https://github.com/abseil/abseil-cpp -comment "libabseil-cpp needs a toolchain w/ gcc >= 4.9, C++, threads, dynamic library" +comment "libabseil-cpp needs a toolchain w/ gcc >= 8, C++, threads, dynamic library" depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 diff --git a/package/libabseil-cpp/libabseil-cpp.hash b/package/libabseil-cpp/libabseil-cpp.hash index 808bdbab29..c3fc0d85e1 100644 --- a/package/libabseil-cpp/libabseil-cpp.hash +++ b/package/libabseil-cpp/libabseil-cpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8 libabseil-cpp-20220623.1.tar.gz +sha256 987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed libabseil-cpp-20230802.1.tar.gz sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 LICENSE diff --git a/package/libabseil-cpp/libabseil-cpp.mk b/package/libabseil-cpp/libabseil-cpp.mk index ceda106b7d..a5dfc8eb19 100644 --- a/package/libabseil-cpp/libabseil-cpp.mk +++ b/package/libabseil-cpp/libabseil-cpp.mk @@ -4,19 +4,19 @@ # ################################################################################ -LIBABSEIL_CPP_VERSION = 20220623.1 +LIBABSEIL_CPP_VERSION = 20230802.1 LIBABSEIL_CPP_SITE = $(call github,abseil,abseil-cpp,$(LIBABSEIL_CPP_VERSION)) LIBABSEIL_CPP_LICENSE = Apache-2.0 LIBABSEIL_CPP_LICENSE_FILES = LICENSE LIBABSEIL_CPP_INSTALL_STAGING = YES LIBABSEIL_CPP_CONF_OPTS = \ - -DCMAKE_CXX_STANDARD=11 \ + -DCMAKE_CXX_STANDARD=14 \ -DABSL_ENABLE_INSTALL=ON \ -DABSL_USE_GOOGLETEST_HEAD=OFF HOST_LIBABSEIL_CPP_CONF_OPTS = \ - -DCMAKE_CXX_STANDARD=11 \ + -DCMAKE_CXX_STANDARD=14 \ -DABSL_ENABLE_INSTALL=ON \ -DABSL_USE_GOOGLETEST_HEAD=OFF diff --git a/package/libaio/libaio.mk b/package/libaio/libaio.mk index e13e49346b..16cb502f16 100644 --- a/package/libaio/libaio.mk +++ b/package/libaio/libaio.mk @@ -9,6 +9,7 @@ LIBAIO_SITE = https://releases.pagure.org/libaio LIBAIO_INSTALL_STAGING = YES LIBAIO_LICENSE = LGPL-2.1+ LIBAIO_LICENSE_FILES = COPYING +LIBAIO_CPE_ID_VALID = YES LIBAIO_CONFIGURE_OPTS = $(TARGET_CONFIGURE_OPTS) diff --git a/package/libarchive/0001-Revert-Only-add-iconv-to-the-.pc-file-if-needed-1825.patch b/package/libarchive/0001-Revert-Only-add-iconv-to-the-.pc-file-if-needed-1825.patch new file mode 100644 index 0000000000..a4dd7dad5c --- /dev/null +++ b/package/libarchive/0001-Revert-Only-add-iconv-to-the-.pc-file-if-needed-1825.patch @@ -0,0 +1,31 @@ +From 3879afd473a256173cc626e16293f3fe8875f2d6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 6 Jan 2024 09:53:23 +0100 +Subject: [PATCH] Revert "Only add "iconv" to the .pc file if needed (#1825)" + +This reverts commit 1f35c466aaa9444335a1b854b0b7223b0d2346c2. + +Upstream: no dedicated PR for this revert but there is already plenty of PRs/issues to fix iconv build ... +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 93f7af94..204a4e69 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -434,9 +434,7 @@ if test "x$with_iconv" != "xno"; then + AC_CHECK_HEADERS([localcharset.h]) + am_save_LIBS="$LIBS" + LIBS="${LIBS} ${LIBICONV}" +- if test -n "$LIBICONV"; then +- LIBSREQUIRED="$LIBSREQUIRED${LIBSREQUIRED:+ }iconv" +- fi ++ LIBSREQUIRED="$LIBSREQUIRED${LIBSREQUIRED:+ }iconv" + AC_CHECK_FUNCS([locale_charset]) + LIBS="${am_save_LIBS}" + if test "x$ac_cv_func_locale_charset" != "xyes"; then +-- +2.43.0 + diff --git a/package/libarchive/0001-autotools-do-not-add-iconv-for-Requires.private.patch b/package/libarchive/0002-autotools-do-not-add-iconv-for-Requires.private.patch similarity index 89% rename from package/libarchive/0001-autotools-do-not-add-iconv-for-Requires.private.patch rename to package/libarchive/0002-autotools-do-not-add-iconv-for-Requires.private.patch index 91903866ef..338dad46e0 100644 --- a/package/libarchive/0001-autotools-do-not-add-iconv-for-Requires.private.patch +++ b/package/libarchive/0002-autotools-do-not-add-iconv-for-Requires.private.patch @@ -7,8 +7,7 @@ There is no pkgconfig file for iconv, thus things break with this change. Let's drop iconv from Requires.private. Fixes: a83f3d32 ("autotools: Fix static linking when openssl is enabled in windows") -[Retrieved from: -https://github.com/libarchive/libarchive/pull/1817/commits/619c1be8d38ff79622db8f66f3b02832795315f9] +Upstream: https://github.com/libarchive/libarchive/pull/1817/commits/619c1be8d38ff79622db8f66f3b02832795315f9 Signed-off-by: Fabrice Fontaine --- configure.ac | 1 - diff --git a/package/libarchive/libarchive.hash b/package/libarchive/libarchive.hash index b03bef3de5..818113585e 100644 --- a/package/libarchive/libarchive.hash +++ b/package/libarchive/libarchive.hash @@ -1,4 +1,4 @@ # From https://www.libarchive.de/downloads/sha256sums -sha256 9e2c1b80d5fbe59b61308fdfab6c79b5021d7ff4ff2489fb12daf0a96a83551d libarchive-3.6.2.tar.xz +sha256 04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb libarchive-3.7.2.tar.xz # Locally computed: sha256 b2cdf763345de2de34cebf54394df3c61a105c3b71288603c251f2fa638200ba COPYING diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk index 2010b6529f..136f7a9c09 100644 --- a/package/libarchive/libarchive.mk +++ b/package/libarchive/libarchive.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBARCHIVE_VERSION = 3.6.2 +LIBARCHIVE_VERSION = 3.7.2 LIBARCHIVE_SOURCE = libarchive-$(LIBARCHIVE_VERSION).tar.xz LIBARCHIVE_SITE = https://www.libarchive.de/downloads LIBARCHIVE_INSTALL_STAGING = YES diff --git a/package/libass/libass.mk b/package/libass/libass.mk index 8b14c899c4..f48673014a 100644 --- a/package/libass/libass.mk +++ b/package/libass/libass.mk @@ -12,7 +12,7 @@ LIBASS_SITE = https://github.com/libass/libass/releases/download/$(LIBASS_VERSIO LIBASS_INSTALL_STAGING = YES LIBASS_LICENSE = ISC LIBASS_LICENSE_FILES = COPYING -LIBASS_CPE_ID_VENDOR = libass_project +LIBASS_CPE_ID_VALID = YES LIBASS_DEPENDENCIES = \ host-pkgconf \ freetype \ diff --git a/package/libassuan/libassuan.hash b/package/libassuan/libassuan.hash index c817a3af63..6bb5022d13 100644 --- a/package/libassuan/libassuan.hash +++ b/package/libassuan/libassuan.hash @@ -1,8 +1,6 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 ec4f67c0117ccd17007c748a392ded96dc1b1ae9 libassuan-2.5.5.tar.bz2 -# Locally calculated after checking signature -# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2.sig -# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4 libassuan-2.5.5.tar.bz2 +sha1 b6ccd955085dac902a09871f94a3d41a7667d0c8 libassuan-2.5.7.tar.bz2 +sha256 0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76 libassuan-2.5.7.tar.bz2 +# Locally calculated sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/libassuan/libassuan.mk b/package/libassuan/libassuan.mk index f98c13b59f..9553c630a2 100644 --- a/package/libassuan/libassuan.mk +++ b/package/libassuan/libassuan.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBASSUAN_VERSION = 2.5.5 -LIBASSUAN_SITE = ftp://ftp.gnupg.org/gcrypt/libassuan +LIBASSUAN_VERSION = 2.5.7 +LIBASSUAN_SITE = https://gnupg.org/ftp/gcrypt/libassuan LIBASSUAN_SOURCE = libassuan-$(LIBASSUAN_VERSION).tar.bz2 LIBASSUAN_LICENSE = LGPL-2.1+ (library), GPL-3.0 (tests, doc) LIBASSUAN_LICENSE_FILES = COPYING.LIB COPYING @@ -15,4 +15,8 @@ LIBASSUAN_CONF_OPTS = \ --with-gpg-error-prefix=$(STAGING_DIR)/usr LIBASSUAN_CONFIG_SCRIPTS = libassuan-config +# Force the path to "gpgrt-config" (from the libgpg-error package) to +# avoid using the one on host, if present. +LIBASSUAN_CONF_ENV += GPGRT_CONFIG=$(STAGING_DIR)/usr/bin/gpgrt-config + $(eval $(autotools-package)) diff --git a/package/libatomic_ops/libatomic_ops.hash b/package/libatomic_ops/libatomic_ops.hash index c6de93fb4a..1710fd3a47 100644 --- a/package/libatomic_ops/libatomic_ops.hash +++ b/package/libatomic_ops/libatomic_ops.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 68c5970b11297056c8e5c63a73f26621a8eb8c667a5fe9a2b3e3ff6c0fbb3177 libatomic_ops-7.8.0.tar.gz +sha256 ad8428a40e01d41bc4ddad3166afa1fc175c9e58d8ef7ddbd7ef3298e32ac37b libatomic_ops-7.8.2.tar.gz sha256 969294c9324b2d360ae2a08edd5ca6f9cd754cb71b71e56bee15d2f10bb10496 LICENSE sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libatomic_ops/libatomic_ops.mk b/package/libatomic_ops/libatomic_ops.mk index 0c72b1725e..555ba678fe 100644 --- a/package/libatomic_ops/libatomic_ops.mk +++ b/package/libatomic_ops/libatomic_ops.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBATOMIC_OPS_VERSION = 7.8.0 +LIBATOMIC_OPS_VERSION = 7.8.2 LIBATOMIC_OPS_SITE = $(call github,ivmai,libatomic_ops,v$(LIBATOMIC_OPS_VERSION)) LIBATOMIC_OPS_AUTORECONF = YES @@ -16,7 +16,7 @@ LIBATOMIC_OPS_AUTORECONF = YES # library, libatomic_ops_gpl.a." LIBATOMIC_OPS_LICENSE = MIT (main library) / GPL-2.0+ (gpl extension) LIBATOMIC_OPS_LICENSE_FILES = COPYING LICENSE -LIBATOMIC_OPS_CPE_ID_VENDOR = libatomic_ops_project +LIBATOMIC_OPS_CPE_ID_VALID = YES LIBATOMIC_OPS_INSTALL_STAGING = YES diff --git a/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch b/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch index d5c9b2dfdb..f7f75c9c14 100644 --- a/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch +++ b/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch @@ -1,71 +1,63 @@ -From ccf93148aa3587dd98a02e253cdc42a7af14df1e Mon Sep 17 00:00:00 2001 +From 01883cc14904e55d90955ad7cd9fc55bc18364ac Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni -Date: Sat, 29 Aug 2020 16:04:15 +0200 +Date: Sat, 20 Jan 2024 13:29:28 +0100 Subject: [PATCH] Provide replacement function for strerror_l() strerror_l() is not implemented in some C libraries, such as uClibc, -so let's provide a simple replacement function that falls back on -strerror(). +so let's provide a simple replacement define that falls back on +strerror() in utils.h header and include it where missing. + +Upstream: N/A since it's due uclibc only Signed-off-by: Thomas Petazzoni -[Upstream status: -https://github.com/storaged-project/libblockdev/pull/701] +Signed-off-by: Giulio Benetti +[Giulio: ported to version 3.0 and 3.1] --- - configure.ac | 2 ++ - src/plugins/crypto.c | 7 +++++++ - src/utils/module.c | 8 ++++++++ - 3 files changed, 17 insertions(+) + configure.ac | 2 ++ + src/utils/module.c | 1 + + src/utils/utils.h | 4 ++++ + 3 files changed, 7 insertions(+) diff --git a/configure.ac b/configure.ac -index c2d22c2..36aeb51 100644 +index 02b26e3e..67341134 100644 --- a/configure.ac +++ b/configure.ac -@@ -137,6 +137,8 @@ AC_CHECK_HEADERS([dlfcn.h string.h unistd.h sys/fcntl.h sys/ioctl.h linux/random +@@ -120,6 +120,8 @@ AC_CHECK_HEADERS([dlfcn.h string.h unistd.h sys/fcntl.h sys/ioctl.h linux/random [LIBBLOCKDEV_SOFT_FAILURE([Header file $ac_header not found.])], []) +AC_CHECK_FUNCS([strerror_l]) + - AC_ARG_WITH([bcache], - AS_HELP_STRING([--with-bcache], [support bcache @<:@default=yes@:>@]), + AC_ARG_WITH([escrow], + AS_HELP_STRING([--with-escrow], [support escrow @<:@default=yes@:>@]), [], -diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c -index f4a2e8f..c1bd7b5 100644 ---- a/src/plugins/crypto.c -+++ b/src/plugins/crypto.c -@@ -52,6 +52,13 @@ +diff --git a/src/utils/module.c b/src/utils/module.c +index 6557c3ab..5893f0ac 100644 +--- a/src/utils/module.c ++++ b/src/utils/module.c +@@ -28,6 +28,7 @@ + #include "module.h" + #include "exec.h" + #include "logging.h" ++#include "utils.h" #define UNUSED __attribute__((unused)) +diff --git a/src/utils/utils.h b/src/utils/utils.h +index 801a8b6e..b2bdf0d0 100644 +--- a/src/utils/utils.h ++++ b/src/utils/utils.h +@@ -9,6 +9,10 @@ + #include "dbus.h" + #include "logging.h" + +#if !defined(HAVE_STRERROR_L) -+static char *strerror_l(int errnum, locale_t locale UNUSED) -+{ -+ return strerror(errnum); -+} ++#define strerror_l(errnum, locale) strerror(errnum) +#endif + /** - * SECTION: crypto - * @short_description: plugin for operations with encrypted devices -diff --git a/src/utils/module.c b/src/utils/module.c -index 9750e24..086bec0 100644 ---- a/src/utils/module.c -+++ b/src/utils/module.c -@@ -27,6 +27,14 @@ - - #include "module.h" - -+#define UNUSED __attribute__((unused)) -+ -+#if !defined(HAVE_STRERROR_L) -+static char *strerror_l(int errnum, locale_t locale UNUSED) -+{ -+ return strerror(errnum); -+} -+#endif - - /** - * bd_utils_module_error_quark: (skip) + * SECTION: utils + * @short_description: library providing utility functions used by the blockdev library and its plugins -- -2.26.2 +2.34.1 diff --git a/package/libblockdev/Config.in b/package/libblockdev/Config.in index 4f98621bd8..7494b0f6b7 100644 --- a/package/libblockdev/Config.in +++ b/package/libblockdev/Config.in @@ -8,6 +8,8 @@ config BR2_PACKAGE_LIBBLOCKDEV depends on BR2_ENABLE_LOCALE select BR2_PACKAGE_KMOD select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID help libblockdev is a C library supporting GObject introspection for manipulation of block devices. It has a plugin-based @@ -25,16 +27,18 @@ config BR2_PACKAGE_LIBBLOCKDEV_CRYPTO bool "crypto" depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c select BR2_PACKAGE_CRYPTSETUP + select BR2_PACKAGE_KEYUTILS config BR2_PACKAGE_LIBBLOCKDEV_FS bool "filesystem" depends on BR2_ENABLE_LOCALE # parted - select BR2_PACKAGE_UTIL_LINUX + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # parted select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT select BR2_PACKAGE_PARTED + select BR2_PACKAGE_E2FSPROGS -comment "filesystem plugin needs a toolchain w/ locale" - depends on !BR2_ENABLE_LOCALE +comment "filesystem plugin needs a toolchain w/ locale, gcc >= 5" + depends on !BR2_ENABLE_LOCALE || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 config BR2_PACKAGE_LIBBLOCKDEV_LOOP bool "loop" @@ -42,27 +46,33 @@ config BR2_PACKAGE_LIBBLOCKDEV_LOOP config BR2_PACKAGE_LIBBLOCKDEV_LVM2 bool "lvm2" depends on BR2_ENABLE_LOCALE # parted + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # parted select BR2_PACKAGE_PARTED select BR2_PACKAGE_LVM2 -comment "lvm2 support needs a toolchain w/ locale" - depends on !BR2_ENABLE_LOCALE +comment "lvm2 support needs a toolchain w/ locale, gcc >= 5" + depends on !BR2_ENABLE_LOCALE || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 config BR2_PACKAGE_LIBBLOCKDEV_MDRAID bool "mdraid" select BR2_PACKAGE_LIBBYTESIZE +config BR2_PACKAGE_LIBBLOCKDEV_NVME + bool "nvme" + select BR2_PACKAGE_LIBNVME + config BR2_PACKAGE_LIBBLOCKDEV_PART bool "part" depends on BR2_ENABLE_LOCALE # parted + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # parted select BR2_PACKAGE_PARTED + select BR2_PACKAGE_UTIL_LINUX_LIBFDISK -comment "part plugin needs a toolchain w/ locale" - depends on !BR2_ENABLE_LOCALE +comment "part plugin needs a toolchain w/ locale, gcc >= 5" + depends on !BR2_ENABLE_LOCALE || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 config BR2_PACKAGE_LIBBLOCKDEV_SWAP bool "swap" - select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID endif diff --git a/package/libblockdev/libblockdev.hash b/package/libblockdev/libblockdev.hash index 53a3b0737f..1438fad741 100644 --- a/package/libblockdev/libblockdev.hash +++ b/package/libblockdev/libblockdev.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c4c0e10b35ac632bda8ce6d200b5601184984dec387fe59185921eb42432e069 libblockdev-2.26.tar.gz +sha256 a5cb33a53ff5969067982704f45399d02555fdb2313ed0c56eac9555397dc2db libblockdev-3.1.1.tar.gz sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE diff --git a/package/libblockdev/libblockdev.mk b/package/libblockdev/libblockdev.mk index 36b74966fb..9ffa15a7a9 100644 --- a/package/libblockdev/libblockdev.mk +++ b/package/libblockdev/libblockdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBLOCKDEV_VERSION = 2.26 +LIBBLOCKDEV_VERSION = 3.1.1 LIBBLOCKDEV_SITE = https://github.com/storaged-project/libblockdev/releases/download/$(LIBBLOCKDEV_VERSION)-1 LIBBLOCKDEV_LICENSE = LGPL-2.1 LIBBLOCKDEV_LICENSE_FILES = LICENSE @@ -16,30 +16,25 @@ LIBBLOCKDEV_AUTORECONF = YES LIBBLOCKDEV_CONF_OPTS = \ --disable-introspection \ --with-loop \ - --without-bcache \ --without-btrfs \ --without-dm \ - --without-dmraid \ --without-escrow \ - --without-kbd \ --without-lvm_dbus \ --without-mpath \ --without-nvdimm \ - --without-python2 \ --without-python3 \ --without-s390 \ - --without-tools \ - --without-vdo + --without-tools ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_CRYPTO),y) -LIBBLOCKDEV_DEPENDENCIES += cryptsetup +LIBBLOCKDEV_DEPENDENCIES += cryptsetup keyutils LIBBLOCKDEV_CONF_OPTS += --with-crypto else LIBBLOCKDEV_CONF_OPTS += --without-crypto endif ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_FS),y) -LIBBLOCKDEV_DEPENDENCIES += parted util-linux +LIBBLOCKDEV_DEPENDENCIES += e2fsprogs parted util-linux LIBBLOCKDEV_CONF_OPTS += --with-fs else LIBBLOCKDEV_CONF_OPTS += --without-fs @@ -66,7 +61,7 @@ LIBBLOCKDEV_CONF_OPTS += --without-mdraid endif ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_PART),y) -LIBBLOCKDEV_DEPENDENCIES += parted +LIBBLOCKDEV_DEPENDENCIES += parted util-linux LIBBLOCKDEV_CONF_OPTS += --with-part else LIBBLOCKDEV_CONF_OPTS += --without-part @@ -79,4 +74,11 @@ else LIBBLOCKDEV_CONF_OPTS += --without-swap endif +ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_NVME),y) +LIBBLOCKDEV_DEPENDENCIES += libnvme +LIBBLOCKDEV_CONF_OPTS += --with-nvme +else +LIBBLOCKDEV_CONF_OPTS += --without-nvme +endif + $(eval $(autotools-package)) diff --git a/package/libbpf/Config.in b/package/libbpf/Config.in index 1465366c9e..a78392cdc8 100644 --- a/package/libbpf/Config.in +++ b/package/libbpf/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_LIBBPF depends on !BR2_STATIC_LIBS # elfutils depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils select BR2_PACKAGE_ELFUTILS select BR2_PACKAGE_ZLIB help @@ -16,9 +15,8 @@ config BR2_PACKAGE_LIBBPF https://github.com/libbpf/libbpf -comment "libbpf needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads, headers >= 4.13" +comment "libbpf needs a toolchain w/ wchar, dynamic library, threads, headers >= 4.13" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ || !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 \ - || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 diff --git a/package/libbpf/libbpf.mk b/package/libbpf/libbpf.mk index 670dbee87e..ef33542f2d 100644 --- a/package/libbpf/libbpf.mk +++ b/package/libbpf/libbpf.mk @@ -8,7 +8,7 @@ LIBBPF_VERSION = 1.1.0 LIBBPF_SITE = $(call github,libbpf,libbpf,v$(LIBBPF_VERSION)) LIBBPF_LICENSE = GPL-2.0, LGPL-2.1, BSD-2-Clause LIBBPF_LICENSE_FILES = LICENSE LICENSE.BSD-2-Clause LICENSE.LGPL-2.1 -LIBBPF_CPE_ID_VENDOR = libbpf_project +LIBBPF_CPE_ID_VALID = YES LIBBPF_DEPENDENCIES = host-bison host-flex host-pkgconf elfutils zlib HOST_LIBBPF_DEPENDENCIES = host-bison host-flex host-pkgconf host-elfutils host-zlib LIBBPF_INSTALL_STAGING = YES diff --git a/package/libcamera-apps/libcamera-apps.hash b/package/libcamera-apps/libcamera-apps.hash index 97fcef7ddf..1437a0e8fa 100644 --- a/package/libcamera-apps/libcamera-apps.hash +++ b/package/libcamera-apps/libcamera-apps.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 49ace5382a0a9f8b05d20077fc0900b801fff83dae6ca9e3caa94dae16dbef27 libcamera-apps-1.2.0.tar.gz +sha256 e6b74a0ba10a962f1930199d7dd828c8d9ee370dfe1fdfd8ae2638df744f1344 libcamera-apps-1.2.1.tar.gz sha256 36dfed86bdef661a0a14ec1a1cc84c771d5a06b6f9b92e9ebb610ba711bd528a license.txt diff --git a/package/libcamera-apps/libcamera-apps.mk b/package/libcamera-apps/libcamera-apps.mk index 022e6055b5..2a217f095f 100644 --- a/package/libcamera-apps/libcamera-apps.mk +++ b/package/libcamera-apps/libcamera-apps.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCAMERA_APPS_VERSION = 1.2.0 +LIBCAMERA_APPS_VERSION = 1.2.1 LIBCAMERA_APPS_SITE = $(call github,raspberrypi,libcamera-apps,v$(LIBCAMERA_APPS_VERSION)) LIBCAMERA_APPS_LICENSE = BSD-2-Clause LIBCAMERA_APPS_LICENSE_FILES = license.txt diff --git a/package/libcamera/Config.in b/package/libcamera/Config.in index 63c06173db..ccb5281b4b 100644 --- a/package/libcamera/Config.in +++ b/package/libcamera/Config.in @@ -33,6 +33,13 @@ config BR2_PACKAGE_LIBCAMERA_V4L2 config BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE bool +config BR2_PACKAGE_LIBCAMERA_PIPELINE_IMX8_ISI + bool "imx8-isi pipeline" + depends on BR2_arm || BR2_aarch64 + select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE + help + Pipeline for i.MX8 SoC ISI capture interface. + config BR2_PACKAGE_LIBCAMERA_PIPELINE_IPU3 bool "ipu3 pipeline" depends on BR2_i386 || BR2_x86_64 @@ -40,15 +47,6 @@ config BR2_PACKAGE_LIBCAMERA_PIPELINE_IPU3 help Pipeline for Intel IPU3. -config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI - bool "raspberrypi pipeline" - depends on BR2_arm || BR2_aarch64 - depends on BR2_USE_WCHAR # boost (already enforced for gnutls) - select BR2_PACKAGE_BOOST - select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE - help - Pipeline for Raspberry Pi devices. - config BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1 bool "rkisp1 pipeline" depends on BR2_arm || BR2_aarch64 @@ -56,6 +54,15 @@ config BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1 help Pipeline for Rockchip ISP1. +config BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4 + bool "rpi/vc4 pipeline" + depends on BR2_arm || BR2_aarch64 + depends on BR2_USE_WCHAR # boost (already enforced for gnutls) + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE + help + Pipeline for Raspberry Pi devices. + config BR2_PACKAGE_LIBCAMERA_PIPELINE_SIMPLE bool "simple pipeline" select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE diff --git a/package/libcamera/libcamera.hash b/package/libcamera/libcamera.hash index 01505aa02e..71c2f7cb6d 100644 --- a/package/libcamera/libcamera.hash +++ b/package/libcamera/libcamera.hash @@ -1,4 +1,4 @@ -sha256 0cad66dc09520dddd47510603e053cc9913dc968db4cebe2ac5ddd43fd08fef6 libcamera-v0.0.5-br1.tar.gz +sha256 7f26568147f4f2acc795da7f26de63a5a15d544d87fb1531a1a1ef2c34c75030 libcamera-v0.2.0-br1.tar.gz # license files sha256 fd38b2c053c0cce46d9c5ef3545a6e34d157a240ba99c9b8dca5d37a8147da6c LICENSES/BSD-2-Clause.txt diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk index 2e30077e20..eecbaa44b9 100644 --- a/package/libcamera/libcamera.mk +++ b/package/libcamera/libcamera.mk @@ -5,7 +5,7 @@ ################################################################################ LIBCAMERA_SITE = https://git.linuxtv.org/libcamera.git -LIBCAMERA_VERSION = v0.0.5 +LIBCAMERA_VERSION = v0.2.0 LIBCAMERA_SITE_METHOD = git LIBCAMERA_DEPENDENCIES = \ host-openssl \ @@ -19,6 +19,7 @@ LIBCAMERA_CONF_OPTS = \ -Dandroid=disabled \ -Ddocumentation=disabled \ -Dtest=false \ + -Dpycamera=disabled \ -Dwerror=false LIBCAMERA_INSTALL_STAGING = YES LIBCAMERA_LICENSE = \ @@ -50,12 +51,13 @@ else LIBCAMERA_CONF_OPTS += -Dv4l2=false endif +LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_IMX8_ISI) += imx8-isi LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_IPU3) += ipu3 -ifeq ($(BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI),y) -LIBCAMERA_PIPELINES-y += raspberrypi +LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1) += rkisp1 +ifeq ($(BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4),y) +LIBCAMERA_PIPELINES-y += rpi/vc4 LIBCAMERA_DEPENDENCIES += boost endif -LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1) += rkisp1 LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_SIMPLE) += simple LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO) += uvcvideo LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC) += vimc @@ -97,7 +99,10 @@ LIBCAMERA_DEPENDENCIES += tiff endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +LIBCAMERA_CONF_OPTS += -Dudev=enabled LIBCAMERA_DEPENDENCIES += udev +else +LIBCAMERA_CONF_OPTS += -Dudev=disabled endif ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y) diff --git a/package/libcanberra/Config.in b/package/libcanberra/Config.in new file mode 100644 index 0000000000..b24088005a --- /dev/null +++ b/package/libcanberra/Config.in @@ -0,0 +1,21 @@ +comment "libcanberra needs a toolchain w/ wchar, threads, dynamic library" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS + +config BR2_PACKAGE_LIBCANBERRA + bool "libcanberra" + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + # We need at least one audio backend + select BR2_PACKAGE_ALSA_LIB if \ + !BR2_PACKAGE_PULSEAUDIO && \ + !BR2_PACKAGE_GSTREAMER1 + # We need libltdl + select BR2_PACKAGE_LIBTOOL + select BR2_PACKAGE_LIBVORBIS + help + libcanberra defines a simple abstract interface for playing + event sounds. + + http://0pointer.de/lennart/projects/libcanberra/ diff --git a/package/libcanberra/libcanberra.hash b/package/libcanberra/libcanberra.hash new file mode 100644 index 0000000000..8dc90ccd88 --- /dev/null +++ b/package/libcanberra/libcanberra.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72 libcanberra-0.30.tar.xz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LGPL diff --git a/package/libcanberra/libcanberra.mk b/package/libcanberra/libcanberra.mk new file mode 100644 index 0000000000..2505e58eb0 --- /dev/null +++ b/package/libcanberra/libcanberra.mk @@ -0,0 +1,59 @@ +################################################################################ +# +# libcanberra +# +################################################################################ + +LIBCANBERRA_VERSION = 0.30 +LIBCANBERRA_SOURCE = libcanberra-$(LIBCANBERRA_VERSION).tar.xz +LIBCANBERRA_SITE = http://0pointer.de/lennart/projects/libcanberra +LIBCANBERRA_LICENSE = LGPL-2.1+ +LIBCANBERRA_LICENSE_FILES = LGPL +LIBCANBERRA_INSTALL_STAGING = YES + +LIBCANBERRA_DEPENDENCIES = host-pkgconf libtool libvorbis +LIBCANBERRA_CONF_OPTS = --disable-oss --disable-null --disable-tdb --disable-lynx + +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +LIBCANBERRA_CONF_OPTS += --enable-udev +LIBCANBERRA_DEPENDENCIES += udev +else +LIBCANBERRA_CONF_OPTS += --disable-udev +endif + +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +LIBCANBERRA_CONF_OPTS += --enable-alsa +LIBCANBERRA_DEPENDENCIES += alsa-lib +else +LIBCANBERRA_CONF_OPTS += --disable-alsa +endif + +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +LIBCANBERRA_CONF_OPTS += --enable-pulse +LIBCANBERRA_DEPENDENCIES += pulseaudio +else +LIBCANBERRA_CONF_OPTS += --disable-pulse +endif + +ifeq ($(BR2_PACKAGE_GSTREAMER1),y) +LIBCANBERRA_CONF_OPTS += --enable-gstreamer +LIBCANBERRA_DEPENDENCIES += gstreamer1 +else +LIBCANBERRA_CONF_OPTS += --disable-gstreamer +endif + +ifeq ($(BR2_PACKAGE_LIBGTK2),y) +LIBCANBERRA_CONF_OPTS += --enable-gtk +LIBCANBERRA_DEPENDENCIES += libgtk2 +else +LIBCANBERRA_CONF_OPTS += --disable-gtk +endif + +ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) +LIBCANBERRA_CONF_OPTS += --enable-gtk3 +LIBCANBERRA_DEPENDENCIES += libgtk3 +else +LIBCANBERRA_CONF_OPTS += --disable-gtk3 +endif + +$(eval $(autotools-package)) diff --git a/package/libcap-ng/libcap-ng.hash b/package/libcap-ng/libcap-ng.hash index d4590dd739..bb4280368d 100644 --- a/package/libcap-ng/libcap-ng.hash +++ b/package/libcap-ng/libcap-ng.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 bed6f6848e22bb2f83b5f764b2aef0ed393054e803a8e3a8711cb2a39e6b492d libcap-ng-0.8.3.tar.gz +sha256 68581d3b38e7553cb6f6ddf7813b1fc99e52856f21421f7b477ce5abd2605a8a libcap-ng-0.8.4.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/libcap-ng/libcap-ng.mk b/package/libcap-ng/libcap-ng.mk index 46f72c702e..2ec88810b4 100644 --- a/package/libcap-ng/libcap-ng.mk +++ b/package/libcap-ng/libcap-ng.mk @@ -4,18 +4,18 @@ # ################################################################################ -LIBCAP_NG_VERSION = 0.8.3 +LIBCAP_NG_VERSION = 0.8.4 LIBCAP_NG_SITE = http://people.redhat.com/sgrubb/libcap-ng LIBCAP_NG_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) LIBCAP_NG_LICENSE_FILES = COPYING COPYING.LIB -LIBCAP_NG_CPE_ID_VENDOR = libcap-ng_project +LIBCAP_NG_CPE_ID_VALID = YES LIBCAP_NG_INSTALL_STAGING = YES LIBCAP_NG_CONF_ENV = ac_cv_prog_swig_found=no -LIBCAP_NG_CONF_OPTS = --without-python +LIBCAP_NG_CONF_OPTS = --without-python3 HOST_LIBCAP_NG_CONF_ENV = ac_cv_prog_swig_found=no -HOST_LIBCAP_NG_CONF_OPTS = --without-python +HOST_LIBCAP_NG_CONF_OPTS = --without-python3 $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk index c9727c75c9..fe2f24ad8c 100644 --- a/package/libcap/libcap.mk +++ b/package/libcap/libcap.mk @@ -9,7 +9,7 @@ LIBCAP_SITE = https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2 LIBCAP_SOURCE = libcap-$(LIBCAP_VERSION).tar.xz LIBCAP_LICENSE = GPL-2.0 or BSD-3-Clause LIBCAP_LICENSE_FILES = License -LIBCAP_CPE_ID_VENDOR = libcap_project +LIBCAP_CPE_ID_VALID = YES LIBCAP_DEPENDENCIES = host-gperf LIBCAP_INSTALL_STAGING = YES diff --git a/package/libcgicc/libcgicc.hash b/package/libcgicc/libcgicc.hash index 87540c8144..699a0dbfd4 100644 --- a/package/libcgicc/libcgicc.hash +++ b/package/libcgicc/libcgicc.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 2a17b976248de03447f9e36d6ce18a80749990d8543e2dfeea09c413eb67f7f0 cgicc-3.2.19.tar.gz +sha256 0f91c5ce8adf406ad35a46152ffb2b9c8d6079604b796d81f48b66d1f068ad4e cgicc-3.2.20.tar.gz # Hash for license files: sha256 a2e480f5e8afd7c587a3c0ac2ed3b73ed4b10fa3a553dea26e7b661c7cedda72 COPYING.LIB diff --git a/package/libcgicc/libcgicc.mk b/package/libcgicc/libcgicc.mk index e9ce4043f5..3d651aefc0 100644 --- a/package/libcgicc/libcgicc.mk +++ b/package/libcgicc/libcgicc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCGICC_VERSION = 3.2.19 +LIBCGICC_VERSION = 3.2.20 LIBCGICC_SITE = $(BR2_GNU_MIRROR)/cgicc LIBCGICC_SOURCE = cgicc-$(LIBCGICC_VERSION).tar.gz LIBCGICC_LICENSE = LGPL-3.0+ (library), GFDL-1.2+ (docs) diff --git a/package/libcgroup/Config.in b/package/libcgroup/Config.in index b9333be2a2..4f9ec074b4 100644 --- a/package/libcgroup/Config.in +++ b/package/libcgroup/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LIBCGROUP bool "libcgroup" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC help libcgroup is a library that abstracts the control @@ -17,5 +18,5 @@ config BR2_PACKAGE_LIBCGROUP_TOOLS endif -comment "libcgroup needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "libcgroup needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libcgroup/libcgroup.mk b/package/libcgroup/libcgroup.mk index e3de48c561..28f572d325 100644 --- a/package/libcgroup/libcgroup.mk +++ b/package/libcgroup/libcgroup.mk @@ -8,17 +8,10 @@ LIBCGROUP_VERSION = 2.0.3 LIBCGROUP_SITE = https://github.com/libcgroup/libcgroup/releases/download/v$(LIBCGROUP_VERSION) LIBCGROUP_LICENSE = LGPL-2.1 LIBCGROUP_LICENSE_FILES = COPYING -LIBCGROUP_CPE_ID_VENDOR = libcgroup_project +LIBCGROUP_CPE_ID_VALID = YES LIBCGROUP_DEPENDENCIES = host-bison host-flex LIBCGROUP_INSTALL_STAGING = YES -# 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. -LIBCGROUP_CONF_ENV = \ - CXXFLAGS="$(TARGET_CXXFLAGS) -U_FILE_OFFSET_BITS" \ - CFLAGS="$(TARGET_CFLAGS) -U_FILE_OFFSET_BITS" - LIBCGROUP_CONF_OPTS = \ --disable-daemon \ --disable-initscript-install diff --git a/package/libcoap/0001-Backport-fix-for-CVE-2023-30362.patch b/package/libcoap/0001-Backport-fix-for-CVE-2023-30362.patch deleted file mode 100644 index ddc5329299..0000000000 --- a/package/libcoap/0001-Backport-fix-for-CVE-2023-30362.patch +++ /dev/null @@ -1,59 +0,0 @@ -From c63ecbdc6b38cc7e571a72964fe9ca63834dcc89 Mon Sep 17 00:00:00 2001 -From: Jon Shallow -Date: Wed, 6 Sep 2023 21:38:13 +0200 -Subject: [PATCH] Backport fix for CVE-2023-30362 - -Upstream: https://github.com/obgm/libcoap/issues/1063#issuecomment-1626962307 -Signed-off-by: Daniel Lang ---- - src/net.c | 34 +++++++++++++++++++++------------- - 1 file changed, 21 insertions(+), 13 deletions(-) - -diff --git a/src/net.c b/src/net.c -index 98859443..e259ab00 100644 ---- a/src/net.c -+++ b/src/net.c -@@ -1305,19 +1305,27 @@ coap_send_internal(coap_session_t *session, coap_pdu_t *pdu) { - - /* Need to check that we are not seeing this proxy in the return loop */ - if (pdu->data && opt == NULL) { -- if (pdu->used_size + 1 <= pdu->max_size) { -- char *a_match; -- size_t data_len = pdu->used_size - (pdu->data - pdu->token); -- pdu->data[data_len] = '\000'; -- a_match = strstr((char*)pdu->data, cp); -- if (a_match && (a_match == (char*)pdu->data || a_match[-1] == ' ') && -- ((size_t)(a_match - (char*)pdu->data + len) == data_len || -- a_match[len] == ' ')) { -- coap_log(LOG_WARNING, "Proxy loop detected '%s'\n", -- (char*)pdu->data); -- coap_delete_pdu(pdu); -- return (coap_mid_t)COAP_DROPPED_RESPONSE; -- } -+ char *a_match; -+ size_t data_len; -+ -+ if (pdu->used_size + 1 > pdu->max_size) { -+ /* No space */ -+ return (coap_mid_t)COAP_DROPPED_RESPONSE; -+ } -+ if (!coap_pdu_resize(pdu, pdu->used_size + 1)) { -+ /* Internal error */ -+ return (coap_mid_t)COAP_DROPPED_RESPONSE; -+ } -+ data_len = pdu->used_size - (pdu->data - pdu->token); -+ pdu->data[data_len] = '\000'; -+ a_match = strstr((char*)pdu->data, cp); -+ if (a_match && (a_match == (char*)pdu->data || a_match[-1] == ' ') && -+ ((size_t)(a_match - (char*)pdu->data + len) == data_len || -+ a_match[len] == ' ')) { -+ coap_log(LOG_WARNING, "Proxy loop detected '%s'\n", -+ (char*)pdu->data); -+ coap_delete_pdu(pdu); -+ return (coap_mid_t)COAP_DROPPED_RESPONSE; - } - } - if (pdu->used_size + len + 1 <= pdu->max_size) { --- -2.42.0 - diff --git a/package/libcoap/0001-coap_oscore-c-Fix-parsing-OSCORE-configuration-information.patch b/package/libcoap/0001-coap_oscore-c-Fix-parsing-OSCORE-configuration-information.patch new file mode 100644 index 0000000000..e75250d613 --- /dev/null +++ b/package/libcoap/0001-coap_oscore-c-Fix-parsing-OSCORE-configuration-information.patch @@ -0,0 +1,38 @@ +From 2b28d8b0e9607e71a145345b4fe49517e052b7d9 Mon Sep 17 00:00:00 2001 +From: Jon Shallow +Date: Thu, 25 Jan 2024 18:03:17 +0000 +Subject: [PATCH] coap_oscore.c: Fix parsing OSCORE configuration information + +Upstream: https://github.com/obgm/libcoap/commit/2b28d8b0e9607e71a145345b4fe49517e052b7d9 +Signed-off-by: Fabrice Fontaine +--- + src/coap_oscore.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/coap_oscore.c b/src/coap_oscore.c +index 83f785c92..e0fb22947 100644 +--- a/src/coap_oscore.c ++++ b/src/coap_oscore.c +@@ -1678,11 +1678,12 @@ get_split_entry(const char **start, + oscore_value_t *value) { + const char *begin = *start; + const char *end; ++ const char *kend; + const char *split; + size_t i; + + retry: +- end = memchr(begin, '\n', size); ++ kend = end = memchr(begin, '\n', size); + if (end == NULL) + return 0; + +@@ -1693,7 +1694,7 @@ get_split_entry(const char **start, + + if (begin[0] == '#' || (end - begin) == 0) { + /* Skip comment / blank line */ +- size -= end - begin + 1; ++ size -= kend - begin + 1; + begin = *start; + goto retry; + } diff --git a/package/libcoap/libcoap.hash b/package/libcoap/libcoap.hash index e0006b62af..20abb94f8f 100644 --- a/package/libcoap/libcoap.hash +++ b/package/libcoap/libcoap.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 074a71deca01e06d3acb00a1416d0fbeb87d130f40a3c0f6fda3a5c711855dca libcoap-4.3.1.tar.gz +sha256 ae61a48c21f7b40e1442c9e1da9aab9e6f2cf0deccb02f3fed4de232a0b0522e libcoap-4.3.4.tar.gz sha256 09dd86a017bad210527085008cbf706609c58210897b69845af14099577e7eb7 COPYING -sha256 5711e8bf7e94b59fcf0681d0f73752111bc196563b60f8568f19dacd0213192b LICENSE +sha256 bdd94ddd8e75010aebd045ead1c951110788003395c708811d6960248acb3891 LICENSE diff --git a/package/libcoap/libcoap.mk b/package/libcoap/libcoap.mk index 94bfc59702..29161142f6 100644 --- a/package/libcoap/libcoap.mk +++ b/package/libcoap/libcoap.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCOAP_VERSION = 4.3.1 +LIBCOAP_VERSION = 4.3.4 LIBCOAP_SITE = $(call github,obgm,libcoap,v$(LIBCOAP_VERSION)) LIBCOAP_INSTALL_STAGING = YES LIBCOAP_LICENSE = BSD-2-Clause @@ -14,10 +14,9 @@ LIBCOAP_DEPENDENCIES = host-pkgconf LIBCOAP_CONF_OPTS = \ --disable-examples --disable-examples-source --without-tinydtls LIBCOAP_AUTORECONF = YES -# 0001-Backport-fix-for-CVE-2023-30362.patch -LIBCOAP_IGNORE_CVES += CVE-2023-30362 -# Doesn't affect 4.3.1, see https://github.com/obgm/libcoap/issues/1117 -LIBCOAP_IGNORE_CVES += CVE-2023-35862 + +# 0001-coap_oscore-c-Fix-parsing-OSCORE-configuration-information.patch +LIBCOAP_IGNORE_CVES += CVE-2024-0962 ifeq ($(BR2_PACKAGE_GNUTLS),y) LIBCOAP_DEPENDENCIES += gnutls diff --git a/package/libcodec2/libcodec2.hash b/package/libcodec2/libcodec2.hash index edaa275bbc..828efa3e4d 100644 --- a/package/libcodec2/libcodec2.hash +++ b/package/libcodec2/libcodec2.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 44015b071968d98ee326012c498db6a8308bed1a7a914ecb6d4d8e2a354a4611 libcodec2-1.1.1.tar.gz +sha256 cbccae52b2c2ecc5d2757e407da567eb681241ff8dadce39d779a7219dbcf449 libcodec2-1.2.0.tar.gz sha256 9ebb6f82b7380a62ac74c5f0322c88e6744dedf2ebe1f54d6f088282b39844bf COPYING diff --git a/package/libcodec2/libcodec2.mk b/package/libcodec2/libcodec2.mk index 295dd8983f..5fc190aefd 100644 --- a/package/libcodec2/libcodec2.mk +++ b/package/libcodec2/libcodec2.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBCODEC2_VERSION = 1.1.1 -LIBCODEC2_SITE = $(call github,drowe67,codec2,v$(LIBCODEC2_VERSION)) +LIBCODEC2_VERSION = 1.2.0 +LIBCODEC2_SITE = $(call github,drowe67,codec2,$(LIBCODEC2_VERSION)) LIBCODEC2_LICENSE = LGPL-2.1 LIBCODEC2_LICENSE_FILES = COPYING LIBCODEC2_INSTALL_STAGING = YES diff --git a/package/libconfuse/libconfuse.mk b/package/libconfuse/libconfuse.mk index e7c2ef0a84..76123a7e6b 100644 --- a/package/libconfuse/libconfuse.mk +++ b/package/libconfuse/libconfuse.mk @@ -11,7 +11,7 @@ LIBCONFUSE_INSTALL_STAGING = YES LIBCONFUSE_CONF_OPTS = --disable-rpath LIBCONFUSE_LICENSE = ISC LIBCONFUSE_LICENSE_FILES = LICENSE -LIBCONFUSE_CPE_ID_VENDOR = libconfuse_project +LIBCONFUSE_CPE_ID_VALID = YES LIBCONFUSE_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # 0001-Fix-163-unterminated-username-used-with-getpwnam.patch diff --git a/package/libcurl/Config.in b/package/libcurl/Config.in index adab1ca3e6..0e52bc69c2 100644 --- a/package/libcurl/Config.in +++ b/package/libcurl/Config.in @@ -31,6 +31,11 @@ config BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT help Enable support for cookies. +config BR2_PACKAGE_LIBCURL_WEBSOCKETS_SUPPORT + bool "websockets support" + help + Enable support for websockets. + config BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES bool "enable extra protocols and features" default y diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index ecd5d63909..7fcad973c3 100644 --- a/package/libcurl/libcurl.hash +++ b/package/libcurl/libcurl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.se/download/curl-8.4.0.tar.xz.asc +# https://curl.se/download/curl-8.7.1.tar.xz.asc # signed with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 16c62a9c4af0f703d28bda6d7bbf37ba47055ad3414d70dec63e2e6336f2a82d curl-8.4.0.tar.xz -sha256 b1d7feb949ea5023552029fbe0bf5db4f23c2f85e9b8e51e18536f0ecbf9c524 COPYING +sha256 6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd curl-8.7.1.tar.xz +sha256 adb1fc06547fd136244179809f7b7c2d2ae6c4534f160aa513af9b6a12866a32 COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index bd331a55aa..99320c1315 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 8.4.0 +LIBCURL_VERSION = 8.7.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ @@ -13,7 +13,6 @@ LIBCURL_DEPENDENCIES = host-pkgconf \ LIBCURL_LICENSE = curl LIBCURL_LICENSE_FILES = COPYING LIBCURL_CPE_ID_VENDOR = haxx -LIBCURL_CPE_ID_PRODUCT = libcurl LIBCURL_INSTALL_STAGING = YES # We disable NTLM delegation to winbinds ntlm_auth ('--disable-ntlm-wb') @@ -113,6 +112,13 @@ else LIBCURL_CONF_OPTS += --without-libidn2 endif +ifeq ($(BR2_PACKAGE_LIBPSL),y) +LIBCURL_DEPENDENCIES += libpsl +LIBCURL_CONF_OPTS += --with-libpsl +else +LIBCURL_CONF_OPTS += --without-libpsl +endif + # Configure curl to support libssh2 ifeq ($(BR2_PACKAGE_LIBSSH2),y) LIBCURL_DEPENDENCIES += libssh2 @@ -154,6 +160,12 @@ else LIBCURL_CONF_OPTS += --disable-proxy endif +ifeq ($(BR2_PACKAGE_LIBCURL_WEBSOCKETS_SUPPORT),y) +LIBCURL_CONF_OPTS += --enable-websockets +else +LIBCURL_CONF_OPTS += --disable-websockets +endif + ifeq ($(BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES),y) LIBCURL_CONF_OPTS += \ --enable-dict \ diff --git a/package/libdaemon/libdaemon.mk b/package/libdaemon/libdaemon.mk index cdf0819e68..aa9bb8080e 100644 --- a/package/libdaemon/libdaemon.mk +++ b/package/libdaemon/libdaemon.mk @@ -8,7 +8,7 @@ LIBDAEMON_VERSION = 0.14 LIBDAEMON_SITE = http://0pointer.de/lennart/projects/libdaemon LIBDAEMON_LICENSE = LGPL-2.1+ LIBDAEMON_LICENSE_FILES = LICENSE -LIBDAEMON_CPE_ID_VENDOR = libdaemon_project +LIBDAEMON_CPE_ID_VALID = YES LIBDAEMON_INSTALL_STAGING = YES LIBDAEMON_CONF_ENV = ac_cv_func_setpgrp_void=no diff --git a/package/libdbi-drivers/libdbi-drivers.mk b/package/libdbi-drivers/libdbi-drivers.mk index af8db79581..a6ff9d9cfe 100644 --- a/package/libdbi-drivers/libdbi-drivers.mk +++ b/package/libdbi-drivers/libdbi-drivers.mk @@ -15,8 +15,8 @@ LIBDBI_DRIVERS_AUTORECONF = YES LIBDBI_DRIVERS_CONF_OPTS = --with-dbi-libdir=$(STAGING_DIR)/usr/lib -ifeq ($(BR2_PACKAGE_MYSQL),y) -LIBDBI_DRIVERS_DEPENDENCIES += mysql +ifeq ($(BR2_PACKAGE_MARIADB),y) +LIBDBI_DRIVERS_DEPENDENCIES += mariadb LIBDBI_DRIVERS_CONF_OPTS += --with-mysql LIBDBI_DRIVERS_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config" else diff --git a/package/libde265/libde265.hash b/package/libde265/libde265.hash index 168b5db395..a21a8a1265 100644 --- a/package/libde265/libde265.hash +++ b/package/libde265/libde265.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 62185ea2182e68cf68bba20cc6eb4c287407b509cf0a827d7ddb75614db77b5c libde265-1.0.12.tar.gz +sha256 00251986c29d34d3af7117ed05874950c875dd9292d016be29d3b3762666511d libde265-1.0.15.tar.gz sha256 02cc1585a20677992e0ba578fa692635dc193735f2691dc81de924b51c4e8020 COPYING diff --git a/package/libde265/libde265.mk b/package/libde265/libde265.mk index 208fa24e27..62c22246aa 100644 --- a/package/libde265/libde265.mk +++ b/package/libde265/libde265.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDE265_VERSION = 1.0.12 +LIBDE265_VERSION = 1.0.15 LIBDE265_SITE = https://github.com/strukturag/libde265/releases/download/v$(LIBDE265_VERSION) LIBDE265_LICENSE = LGPL-3.0+ LIBDE265_LICENSE_FILES = COPYING diff --git a/package/libdeflate/libdeflate.hash b/package/libdeflate/libdeflate.hash index c6a50efbfc..8609f5ab02 100644 --- a/package/libdeflate/libdeflate.hash +++ b/package/libdeflate/libdeflate.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 225d982bcaf553221c76726358d2ea139bb34913180b20823c782cede060affd libdeflate-1.18.tar.gz +sha256 27bf62d71cd64728ff43a9feb92f2ac2f2bf748986d856133cc1e51992428c25 libdeflate-1.19.tar.gz sha256 5d246dd2537307b80fed9ba5fdddf5d0fe7a8f023393a071182b9daed56b40fe COPYING diff --git a/package/libdeflate/libdeflate.mk b/package/libdeflate/libdeflate.mk index 00de2e82a9..3000a58407 100644 --- a/package/libdeflate/libdeflate.mk +++ b/package/libdeflate/libdeflate.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDEFLATE_VERSION = 1.18 +LIBDEFLATE_VERSION = 1.19 LIBDEFLATE_SITE = $(call github,ebiggers,libdeflate,v$(LIBDEFLATE_VERSION)) LIBDEFLATE_LICENSE = MIT LIBDEFLATE_LICENSE_FILES = COPYING diff --git a/package/libdnet/0002-Correct-path-to-string-h-from-bsd.patch b/package/libdnet/0002-Correct-path-to-string-h-from-bsd.patch deleted file mode 100644 index 2aa4f4516b..0000000000 --- a/package/libdnet/0002-Correct-path-to-string-h-from-bsd.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 347c23da1ec6f19b0b0143d53edcc209e522bbf2 Mon Sep 17 00:00:00 2001 -From: Oliver Falk -Date: Wed, 29 Jun 2022 13:27:45 +0200 -Subject: [PATCH] Correct path to string.h (from bsd); Fixes #74 - -[Retrieved (and backported) from: -https://github.com/ofalk/libdnet/commit/347c23da1ec6f19b0b0143d53edcc209e522bbf2] -Signed-off-by: Fabrice Fontaine ---- - python/dnet.c | 64 +++++++++++++++++++++++-------------------------- - python/dnet.pyx | 2 +- - 2 files changed, 31 insertions(+), 35 deletions(-) - -diff --git a/python/dnet.pyx b/python/dnet.pyx -index d9cbc90..af65a11 100644 ---- a/python/dnet.pyx -+++ b/python/dnet.pyx -@@ -40,7 +40,7 @@ cdef extern from *: - unsigned long htonl(unsigned long n) - unsigned long ntohl(unsigned long n) - --cdef extern from "string.h": -+cdef extern from "bsd/string.h": - int strlcpy(char *dst, char *src, int size) - - cdef __memcpy(char *dst, object src, int n): diff --git a/package/libdnet/libdnet.hash b/package/libdnet/libdnet.hash index c31ec90596..0ffeca603a 100644 --- a/package/libdnet/libdnet.hash +++ b/package/libdnet/libdnet.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 b151c4913758ef80daf4558361b4f2680a37b01d59272625bb78c77183062c63 libdnet-1.16.1.tar.gz +sha256 7df1f0a3db9cf03b48cf50ab273fd6a20c1be99eb9344b9663fe3fd9ed9dab65 libdnet-1.16.4.tar.gz sha256 6b46ec86e290066c47b6607d322135b3c473566e7225ac23d35a7c0588a82da6 LICENSE diff --git a/package/libdnet/libdnet.mk b/package/libdnet/libdnet.mk index 14af07e6d5..e678565bdf 100644 --- a/package/libdnet/libdnet.mk +++ b/package/libdnet/libdnet.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDNET_VERSION = 1.16.1 +LIBDNET_VERSION = 1.16.4 LIBDNET_SITE = $(call github,ofalk,libdnet,libdnet-$(LIBDNET_VERSION)) LIBDNET_LICENSE = BSD-3-Clause LIBDNET_LICENSE_FILES = LICENSE @@ -19,7 +19,7 @@ LIBDNET_DEPENDENCIES = host-pkgconf ifeq ($(BR2_PACKAGE_LIBDNET_PYTHON),y) LIBDNET_DEPENDENCIES += libbsd host-python-cython python3 LIBDNET_CONF_OPTS += --with-python=$(HOST_DIR)/bin -LIBDNET_MAKE_ENV += $(PKG_PYTHON_DISTUTILS_ENV) +LIBDNET_MAKE_ENV += $(PKG_PYTHON_SETUPTOOLS_ENV) LIBDNET_INSTALL_TARGET_OPTS = $(LIBDNET_MAKE_OPTS) DESTDIR=$(TARGET_DIR) INSTALL_STRIP_FLAG=-s install-exec LIBDNET_INSTALL_STAGING_OPTS = $(LIBDNET_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install endif diff --git a/package/libdrm/Config.in b/package/libdrm/Config.in index 3cb0e02a41..fab8289be6 100644 --- a/package/libdrm/Config.in +++ b/package/libdrm/Config.in @@ -20,7 +20,6 @@ config BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC config BR2_PACKAGE_LIBDRM_INTEL bool "intel" - depends on BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC select BR2_PACKAGE_LIBPCIACCESS diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash index 87cc170617..dd43a89d68 100644 --- a/package/libdrm/libdrm.hash +++ b/package/libdrm/libdrm.hash @@ -1,6 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2023-February/003323.html -sha256 554cfbfe0542bddb391b4e3e05bfbbfc3e282b955bd56218d21c0616481f65eb libdrm-2.4.115.tar.xz -sha512 0c38d3cfd76f627b899f052527c2939d5fc87a417422dceb0761839ba21e69736703a87ba170b5ba7a4aca2506a240760c8c97ca1781a7fb78468225295293bd libdrm-2.4.115.tar.xz +# From https://lists.x.org/archives/xorg-announce/2024-January/003441.html +sha256 3bf55363f76c7250946441ab51d3a6cc0ae518055c0ff017324ab76cdefb327a libdrm-2.4.120.tar.xz +sha512 6dc16e5134a669eeb59debb1dc2d15b857483ab7476dc2b94bd05a32d8953f046f5656f6cf9e1a63e97e7156fb65ebb58b6a29fe45cb6326058baaf820626e70 libdrm-2.4.120.tar.xz # Hash for license file sha256 d0a616a9020dc0271e36e6dd4bad174b4e2c2a42636f13785f8e18dd5f85fd83 data/meson.build diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk index 52ac13b7d0..a04331c2da 100644 --- a/package/libdrm/libdrm.mk +++ b/package/libdrm/libdrm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.115 +LIBDRM_VERSION = 2.4.120 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.xz LIBDRM_SITE = https://dri.freedesktop.org/libdrm LIBDRM_LICENSE = MIT @@ -17,7 +17,8 @@ LIBDRM_DEPENDENCIES = \ LIBDRM_CONF_OPTS = \ -Dcairo-tests=disabled \ - -Dman-pages=disabled + -Dman-pages=disabled \ + -Dtests=false ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y) LIBDRM_DEPENDENCIES += libatomic_ops diff --git a/package/libebml/0001-include-appropriate-header-files-for-std-numeric_limits.patch b/package/libebml/0001-include-appropriate-header-files-for-std-numeric_limits.patch deleted file mode 100644 index c7e789c02e..0000000000 --- a/package/libebml/0001-include-appropriate-header-files-for-std-numeric_limits.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f0bfd53647961e799a43d918c46cf3b6bff89806 Mon Sep 17 00:00:00 2001 -From: Moritz Bunkus -Date: Sat, 27 Feb 2021 20:36:52 +0100 -Subject: [PATCH] include appropriate header files for std::numeric_limits - -Fixes #80. - -[Retrieved (and updated to remove ChangeLog update) from: -https://github.com/Matroska-Org/libebml/commit/f0bfd53647961e799a43d918c46cf3b6bff89806] -Signed-off-by: Fabrice Fontaine ---- - ChangeLog | 4 ++++ - src/EbmlString.cpp | 1 + - src/EbmlUnicodeString.cpp | 1 + - 3 files changed, 6 insertions(+) - -diff --git a/src/EbmlString.cpp b/src/EbmlString.cpp -index 27e55fd..4c05fcf 100644 ---- a/src/EbmlString.cpp -+++ b/src/EbmlString.cpp -@@ -34,6 +34,7 @@ - \author Steve Lhomme - */ - #include -+#include - - #include "ebml/EbmlString.h" - -diff --git a/src/EbmlUnicodeString.cpp b/src/EbmlUnicodeString.cpp -index 496a16a..99fc073 100644 ---- a/src/EbmlUnicodeString.cpp -+++ b/src/EbmlUnicodeString.cpp -@@ -36,6 +36,7 @@ - */ - - #include -+#include - - #include "ebml/EbmlUnicodeString.h" - diff --git a/package/libebml/Config.in b/package/libebml/Config.in index a00b894358..b770154af7 100644 --- a/package/libebml/Config.in +++ b/package/libebml/Config.in @@ -2,11 +2,13 @@ config BR2_PACKAGE_LIBEBML bool "libebml" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 help Access library for the EBML (Extensible Binary Meta Language, a binary derivative of XML) format. http://matroska.org -comment "libebml needs a toolchain w/ C++, wchar" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR +comment "libebml needs a toolchain w/ C++, wchar, gcc >= 4.9" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/libebml/libebml.hash b/package/libebml/libebml.hash index 32ca1e3dd3..34626eb1f4 100644 --- a/package/libebml/libebml.hash +++ b/package/libebml/libebml.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 41c7237ce05828fb220f62086018b080af4db4bb142f31bec0022c925889b9f2 libebml-1.4.2.tar.xz +sha256 4971640b0592da29c2d426f303e137a9b0b3d07e1b81d069c1e56a2f49ab221b libebml-1.4.5.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL diff --git a/package/libebml/libebml.mk b/package/libebml/libebml.mk index 056cf888e1..0f69de8c81 100644 --- a/package/libebml/libebml.mk +++ b/package/libebml/libebml.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEBML_VERSION = 1.4.2 +LIBEBML_VERSION = 1.4.5 LIBEBML_SOURCE = libebml-$(LIBEBML_VERSION).tar.xz LIBEBML_SITE = http://dl.matroska.org/downloads/libebml LIBEBML_INSTALL_STAGING = YES diff --git a/package/libesmtp/libesmtp.mk b/package/libesmtp/libesmtp.mk index 10fe7bf324..6456e83e10 100644 --- a/package/libesmtp/libesmtp.mk +++ b/package/libesmtp/libesmtp.mk @@ -9,7 +9,7 @@ LIBESMTP_SITE = $(call github,libesmtp,libESMTP,v$(LIBESMTP_VERSION)) LIBESMTP_INSTALL_STAGING = YES LIBESMTP_LICENSE = GPL-2.0+ (examples), LGPL-2.1+ (library) LIBESMTP_LICENSE_FILES = COPYING.GPL LICENSE -LIBESMTP_CPE_ID_VENDOR = libesmtp_project +LIBESMTP_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBESMTP_CONF_OPTS += -Dtls=enabled diff --git a/package/libevdev/libevdev.hash b/package/libevdev/libevdev.hash index dd76e158ef..acaedfad56 100644 --- a/package/libevdev/libevdev.hash +++ b/package/libevdev/libevdev.hash @@ -1,6 +1,6 @@ -# From https://lists.freedesktop.org/archives/input-tools/2022-March/001574.html -sha256 1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c libevdev-1.12.1.tar.xz -sha512 eefce287a665e4f89eb2e0437dfefd45ecf8925c7dac35a1bdd46158541f77f2032c6146900a30a01321751d55a9b537bd1d61777cca9cfa02c39a6e31c97be4 libevdev-1.12.1.tar.xz +# From https://lists.freedesktop.org/archives/input-tools/2023-May/001585.html +sha256 06a77bf2ac5c993305882bc1641017f5bec1592d6d1b64787bad492ab34f2f36 libevdev-1.13.1.tar.xz +sha512 9b75bad4bc13948854c8dff7a7a46aca6c06d1410ccb000f881bf76055ccac040595c3b24fb1a574be875b5c262eb86820b9ec3383752641bc2047135e5a412f libevdev-1.13.1.tar.xz # Hash for license files: sha256 6f13de7ce28e4948ba95170e0723ee1254c1978ce1f127af82aeca597b567cb9 COPYING diff --git a/package/libevdev/libevdev.mk b/package/libevdev/libevdev.mk index 726a5afcee..b0cf6c9ba8 100644 --- a/package/libevdev/libevdev.mk +++ b/package/libevdev/libevdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEVDEV_VERSION = 1.12.1 +LIBEVDEV_VERSION = 1.13.1 LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev LIBEVDEV_SOURCE = libevdev-$(LIBEVDEV_VERSION).tar.xz LIBEVDEV_LICENSE = MIT diff --git a/package/libevent/libevent.mk b/package/libevent/libevent.mk index 4c23156f72..355dfedcc1 100644 --- a/package/libevent/libevent.mk +++ b/package/libevent/libevent.mk @@ -10,7 +10,7 @@ LIBEVENT_SOURCE = libevent-$(LIBEVENT_VERSION)-stable.tar.gz LIBEVENT_INSTALL_STAGING = YES LIBEVENT_LICENSE = BSD-3-Clause, OpenBSD LIBEVENT_LICENSE_FILES = LICENSE -LIBEVENT_CPE_ID_VENDOR = libevent_project +LIBEVENT_CPE_ID_VALID = YES LIBEVENT_CONF_OPTS = \ --disable-libevent-regress \ --disable-samples diff --git a/package/libexif/libexif.mk b/package/libexif/libexif.mk index 921029b4ac..858901f40e 100644 --- a/package/libexif/libexif.mk +++ b/package/libexif/libexif.mk @@ -12,6 +12,6 @@ LIBEXIF_INSTALL_STAGING = YES LIBEXIF_DEPENDENCIES = host-pkgconf LIBEXIF_LICENSE = LGPL-2.1+ LIBEXIF_LICENSE_FILES = COPYING -LIBEXIF_CPE_ID_VENDOR = libexif_project +LIBEXIF_CPE_ID_VALID = YES $(eval $(autotools-package)) diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 8f6844113c..6249023eae 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -9,7 +9,7 @@ LIBFFI_SITE = \ https://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION) LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE -LIBFFI_CPE_ID_VENDOR = libffi_project +LIBFFI_CPE_ID_VALID = YES LIBFFI_INSTALL_STAGING = YES # We're patching Makefile.am LIBFFI_AUTORECONF = YES diff --git a/package/libftdi1/0004-move-from-distutils-to-sysconfig.patch b/package/libftdi1/0004-move-from-distutils-to-sysconfig.patch new file mode 100644 index 0000000000..7b38993ada --- /dev/null +++ b/package/libftdi1/0004-move-from-distutils-to-sysconfig.patch @@ -0,0 +1,33 @@ +From abd19b721f7e9b4d514ed319ece173ebc7b1ea72 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Dan=20Hor=C3=A1k?= +Date: Mon, 19 Dec 2022 17:40:43 +0100 +Subject: [PATCH] python: move from distutils to sysconfig + +The distutils module was deprecated in Python 3.10, and will be removed +in 3.12 [1], thus switch to the sysconfig module instead. + +[1] https://peps.python.org/pep-0632/ + +Upstream: http://developer.intra2net.com/git/?p=libftdi;a=commit;h=abd19b721f7e9b4d514ed319ece173ebc7b1ea72 +Signed-off-by: Adam Duskett +Signed-off-by: Arnout Vandecappelle +--- + python/CMakeLists.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt +index 5e406ff..9358419 100644 +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -42,7 +42,7 @@ endif () + + set_target_properties ( ${SWIG_MODULE_ftdi1_REAL_NAME} PROPERTIES NO_SONAME ON ) + +-execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; print( sysconfig.get_python_lib( plat_specific=True, prefix='${CMAKE_INSTALL_PREFIX}' ) )" ++execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print( sysconfig.get_path( 'platlib', vars={'platbase': '${CMAKE_INSTALL_PREFIX}'} ) )" + OUTPUT_VARIABLE _ABS_PYTHON_MODULE_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE ) + +-- +1.7.1 + diff --git a/package/libfuse/libfuse.mk b/package/libfuse/libfuse.mk index 723060931f..147b38b2e2 100644 --- a/package/libfuse/libfuse.mk +++ b/package/libfuse/libfuse.mk @@ -9,7 +9,7 @@ LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION) LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1 LIBFUSE_LICENSE_FILES = COPYING COPYING.LIB -LIBFUSE_CPE_ID_VENDOR = libfuse_project +LIBFUSE_CPE_ID_VALID = YES LIBFUSE_INSTALL_STAGING = YES # We're patching configure.ac LIBFUSE_AUTORECONF = YES diff --git a/package/libfuse3/0001-Wrapper-around-test-applications-for-cross-compiler-.patch b/package/libfuse3/0001-Wrapper-around-test-applications-for-cross-compiler-.patch deleted file mode 100644 index b99b4c23f4..0000000000 --- a/package/libfuse3/0001-Wrapper-around-test-applications-for-cross-compiler-.patch +++ /dev/null @@ -1,43 +0,0 @@ -From b58a0014bff619f1810af49441d987d732c4244e Mon Sep 17 00:00:00 2001 -From: Rudi Heitbaum -Date: Tue, 13 Jun 2023 20:02:01 +1000 -Subject: [PATCH] Wrapper around test applications for cross compiler - environment in meson.build (#804) - -This enhances commit 7be56c57f93e3436b1fbd9ecc320de5c03a3e4b8 to allow build -fuse to be built using a cross compiler - -Fixes: -../meson.build:180:12: ERROR: Can not run test applications in this cross environment. - -Upstream: https://github.com/libfuse/libfuse/commit/b58a0014bff619f1810af49441d987d732c4244e - -Signed-off-by: Giulio Benetti ---- - meson.build | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/meson.build b/meson.build -index 7aa4e0d..9707ea3 100644 ---- a/meson.build -+++ b/meson.build -@@ -177,10 +177,12 @@ int main() - } - ''' - --result = cc.run(detect_getmntent_needs_unescape) --if result.compiled() and result.returncode() == 0 and result.stdout().strip() == 'needs escaping' -- message('getmntent does not unescape') -- add_project_arguments('-DGETMNTENT_NEEDS_UNESCAPING', language: 'c') -+if not meson.is_cross_build() -+ result = cc.run(detect_getmntent_needs_unescape) -+ if result.compiled() and result.returncode() == 0 and result.stdout().strip() == 'needs escaping' -+ message('getmntent does not unescape') -+ add_project_arguments('-DGETMNTENT_NEEDS_UNESCAPING', language: 'c') -+ endif - endif - - # Write private test results into fuse_config.h (stored in build directory) --- -2.34.1 - diff --git a/package/libfuse3/libfuse3.hash b/package/libfuse3/libfuse3.hash index 0397efc542..6f3b3ce122 100644 --- a/package/libfuse3/libfuse3.hash +++ b/package/libfuse3/libfuse3.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 checksums -sha256 cb93e170288804d2e83da9b69925d968655ed75883476773ba5268d08bb1d335 libfuse3-3.15.1.tar.gz +sha256 1bc306be1a1f4f6c8965fbdd79c9ccca021fdc4b277d501483a711cbd7dbcd6c libfuse3-3.16.2.tar.gz sha256 b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad LICENSE diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk index 32e35ff32b..f5c9dae8f7 100644 --- a/package/libfuse3/libfuse3.mk +++ b/package/libfuse3/libfuse3.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFUSE3_VERSION = 3.15.1 +LIBFUSE3_VERSION = 3.16.2 LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION)) LIBFUSE3_LICENSE = LGPL-2.1 LIBFUSE3_LICENSE_FILES = LICENSE diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index cfbf9eaf17..ffe30e1455 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/package/libgcrypt/libgcrypt.hash @@ -1,5 +1,5 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 0b9555960d84a09ea14e52360808f2e02e9c12d2 libgcrypt-1.10.2.tar.bz2 -sha256 3b9c02a004b68c256add99701de00b383accccf37177e0d6c58289664cce0c03 libgcrypt-1.10.2.tar.bz2 +sha1 359e1d01ad2eb9cd2db964ea96ef3712d0c2c649 libgcrypt-1.10.3.tar.bz2 +sha256 8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa libgcrypt-1.10.3.tar.bz2 # Locally calculated sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index b74838b649..2e4bf7448e 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.10.2 +LIBGCRYPT_VERSION = 1.10.3 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB diff --git a/package/libgdiplus/0001-Build-unit-tests-only-when-enable-unit-tests-is-pass.patch b/package/libgdiplus/0001-Build-unit-tests-only-when-enable-unit-tests-is-pass.patch index 450286462e..33746872ac 100644 --- a/package/libgdiplus/0001-Build-unit-tests-only-when-enable-unit-tests-is-pass.patch +++ b/package/libgdiplus/0001-Build-unit-tests-only-when-enable-unit-tests-is-pass.patch @@ -10,6 +10,7 @@ So let's disable the build of unit tests by default and introduce --enable-unit-tests configure option to enable it. Signed-off-by: Sergio Prado +Upstream: https://github.com/mono/libgdiplus/pull/701 --- Makefile.am | 8 ++++++-- configure.ac | 4 ++++ diff --git a/package/libgdiplus/Config.in b/package/libgdiplus/Config.in index 6ddf44fd0c..d26a997d46 100644 --- a/package/libgdiplus/Config.in +++ b/package/libgdiplus/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBGDIPLUS depends on BR2_USE_WCHAR # libglib2 -> gettext depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_XLIB_LIBXFT select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_CAIRO @@ -13,7 +14,8 @@ config BR2_PACKAGE_LIBGDIPLUS https://github.com/mono/libgdiplus -comment "libgdiplus needs a toolchain w/ wchar, threads" +comment "libgdiplus needs a toolchain w/ wchar, threads, C++" depends on BR2_USE_MMU depends on BR2_PACKAGE_XORG7 - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/libgdiplus/libgdiplus.hash b/package/libgdiplus/libgdiplus.hash index 11cacc13f6..f6a9b5eaf7 100644 --- a/package/libgdiplus/libgdiplus.hash +++ b/package/libgdiplus/libgdiplus.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 1fd034f4b636214cc24e94c563cd10b3f3444d9f0660927b60e63fd4131d97fa libgdiplus-6.0.5.tar.gz +sha256 97d5a83d6d6d8f96c27fb7626f4ae11d3b38bc88a1726b4466aeb91451f3255b libgdiplus-6.1.tar.gz sha256 81317bf837e02a116dc20b032fa1d0cbf9ec357621f141ff2c2daf26c17cbb5d LICENSE diff --git a/package/libgdiplus/libgdiplus.mk b/package/libgdiplus/libgdiplus.mk index 97cb595c71..128270e0d7 100644 --- a/package/libgdiplus/libgdiplus.mk +++ b/package/libgdiplus/libgdiplus.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGDIPLUS_VERSION = 6.0.5 -LIBGDIPLUS_SITE = $(call github,mono,libgdiplus,$(LIBGDIPLUS_VERSION)) +LIBGDIPLUS_VERSION = 6.1 +LIBGDIPLUS_SITE = https://download.mono-project.com/sources/libgdiplus LIBGDIPLUS_LICENSE = MIT LIBGDIPLUS_LICENSE_FILES = LICENSE diff --git a/package/libgeos/Config.in b/package/libgeos/Config.in index 8411627d43..2a27c6f2a4 100644 --- a/package/libgeos/Config.in +++ b/package/libgeos/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBGEOS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 help GEOS (Geometry Engine - Open Source) is a C++ port of the @@ -13,7 +14,8 @@ config BR2_PACKAGE_LIBGEOS https://trac.osgeo.org/geos -comment "libgeos needs a toolchain w/ C++, wchar, threads not binutils bug 27597" +comment "libgeos needs a toolchain w/ C++, wchar, gcc >= 4.9, threads not binutils bug 27597" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 diff --git a/package/libgeos/libgeos.hash b/package/libgeos/libgeos.hash index bb433117a5..37fe7d6d23 100644 --- a/package/libgeos/libgeos.hash +++ b/package/libgeos/libgeos.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d96db96011259178a35555a0f6d6e75a739e52a495a6b2aa5efb3d75390fbc39 geos-3.12.0.tar.bz2 +sha256 d6ea7e492224b51193e8244fe3ec17c4d44d0777f3c32ca4fb171140549a0d03 geos-3.12.1.tar.bz2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libgeos/libgeos.mk b/package/libgeos/libgeos.mk index e0931dbb30..491168324f 100644 --- a/package/libgeos/libgeos.mk +++ b/package/libgeos/libgeos.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGEOS_VERSION = 3.12.0 +LIBGEOS_VERSION = 3.12.1 LIBGEOS_SITE = http://download.osgeo.org/geos LIBGEOS_SOURCE = geos-$(LIBGEOS_VERSION).tar.bz2 LIBGEOS_LICENSE = LGPL-2.1 @@ -19,10 +19,6 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) LIBGEOS_CXXFLAGS += -O0 endif -ifeq ($(BR2_arm)$(BR2_armeb),y) -LIBGEOS_CONF_OPTS += -DDISABLE_GEOS_INLINE=ON -endif - ifeq ($(BR2_or1k),y) LIBGEOS_CXXFLAGS += -mcmodel=large endif diff --git a/package/libgit2/libgit2.hash b/package/libgit2/libgit2.hash index 4dd6519ca3..022fb35a9c 100644 --- a/package/libgit2/libgit2.hash +++ b/package/libgit2/libgit2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d25866a4ee275a64f65be2d9a663680a5cf1ed87b7ee4c534997562c828e500d libgit2-1.6.4.tar.gz +sha256 de384e29d7efc9330c6cdb126ebf88342b5025d920dcb7c645defad85195ea7f libgit2-1.7.2.tar.gz sha256 6f3c2cd59b057e366c1acc073b038135c52d77892bb33bd4d931c5369d3f062b COPYING diff --git a/package/libgit2/libgit2.mk b/package/libgit2/libgit2.mk index 9ddf2374bb..498b665808 100644 --- a/package/libgit2/libgit2.mk +++ b/package/libgit2/libgit2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGIT2_VERSION = 1.6.4 +LIBGIT2_VERSION = 1.7.2 LIBGIT2_SITE = $(call github,libgit2,libgit2,v$(LIBGIT2_VERSION)) LIBGIT2_LICENSE = \ GPL-2.0 with linking exception, \ @@ -12,9 +12,10 @@ LIBGIT2_LICENSE = \ BSD-3-Clause (sha256), \ wildmatch license (wildmatch), \ CC0-1.0 (xoroshiro256), \ - BSD-2-Clause (basename_r) + BSD-2-Clause (basename_r), \ + LGPL-2.1+ (libxdiff) LIBGIT2_LICENSE_FILES = COPYING -LIBGIT2_CPE_ID_VENDOR = libgit2_project +LIBGIT2_CPE_ID_VALID = YES LIBGIT2_INSTALL_STAGING = YES LIBGIT2_CONF_OPTS = \ @@ -23,6 +24,7 @@ LIBGIT2_CONF_OPTS = \ -DREGEX_BACKEND=regcomp \ -DUSE_HTTP_PARSER=system \ -DUSE_NTLMCLIENT=OFF \ + -DUSE_XDIFF=builtin \ -DUSE_THREADS=$(if $(BR2_TOOLCHAIN_HAS_THREADS),ON,OFF) LIBGIT2_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch b/package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch new file mode 100644 index 0000000000..57404705d0 --- /dev/null +++ b/package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch @@ -0,0 +1,53 @@ +From 2ca9f53327308e85e376bcbef7f8259a6331a453 Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan +Date: Thu, 8 Sep 2022 02:36:33 +0530 +Subject: [PATCH] meson: Fix detection of a system-provided proxy-libintl + +proxy-libintl defines ngettext() as a define in the header that points +to the actual symbol in the library which is g_libintl_ngettext(). +Same with bind_textdomain_codeset(). + +Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/32249a22fc39319651e7c23442d37ec837f05764 +Signed-off-by: Thomas Devoogdt +--- + meson.build | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 0cbc9689f..de0bee5a3 100644 +--- a/meson.build ++++ b/meson.build +@@ -2089,6 +2089,7 @@ libz_dep = dependency('zlib') + # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible + # implementations. This could be extended if issues are found in some platforms. + libintl_deps = [] ++libintl_prefix = '#include ' + libintl = dependency('intl', required: false, allow_fallback: false) + if libintl.found() + # libintl supports different threading APIs, which may not +@@ -2100,11 +2101,11 @@ if libintl.found() + # + # Meson's builtin dependency lookup as of 0.60.0 doesn't check for + # pthread, so we do this manually here. +- if cc.has_function('ngettext', dependencies : libintl) ++ if cc.has_function('ngettext', dependencies : libintl, prefix: libintl_prefix) + libintl_deps += [libintl] + else + libintl_pthread = cc.find_library('pthread', required : false) +- if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread]) ++ if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread], prefix: libintl_prefix) + libintl_deps += [libintl, libintl_pthread] + else + libintl = disabler() +@@ -2113,7 +2114,7 @@ if libintl.found() + endif + + if libintl.found() +- have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset', dependencies: libintl_deps) ++ have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset', dependencies: libintl_deps, prefix: libintl_prefix) + else + libintl = dependency('intl', allow_fallback: true) + assert(libintl.type_name() == 'internal') +-- +2.34.1 + diff --git a/package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch b/package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch new file mode 100644 index 0000000000..a342ee95d6 --- /dev/null +++ b/package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch @@ -0,0 +1,53 @@ +From fe7f54d4f339b7948c961b60729f620f2eaec716 Mon Sep 17 00:00:00 2001 +From: Jan200101 +Date: Tue, 23 May 2023 23:42:37 +0200 +Subject: [PATCH] meson: try iconv in libintl lookup +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This was originally removed in !2734 but still appears to be required for +some MinGW setups, such as the `x86_64-w64-mingw32.static` target in +[mxe](https://github.com/mxe/mxe). + +Currently, this configuration fails the libintl internal assert on line +2128, as on this platform `ngettext()` is only found inside libiconv. + +This commit will look up iconv potentially twice, once as `libiconv` and +potentially once as `libintl_iconv`. This is what the code did before +!2734 landed, so it’s known to work reliably on a number of platforms. + +Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/a497d5be122f193dcf8679334308333bbbc14a71 +Signed-off-by: Thomas Devoogdt +--- + meson.build | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index de0bee5a3..653f9eddf 100644 +--- a/meson.build ++++ b/meson.build +@@ -2104,11 +2104,16 @@ if libintl.found() + if cc.has_function('ngettext', dependencies : libintl, prefix: libintl_prefix) + libintl_deps += [libintl] + else +- libintl_pthread = cc.find_library('pthread', required : false) +- if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread], prefix: libintl_prefix) +- libintl_deps += [libintl, libintl_pthread] ++ libintl_iconv = cc.find_library('iconv', required : false) ++ if libintl_iconv.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_iconv]) ++ libintl_deps += [libintl, libintl_iconv] + else +- libintl = disabler() ++ libintl_pthread = cc.find_library('pthread', required : false) ++ if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread], prefix: libintl_prefix) ++ libintl_deps += [libintl, libintl_pthread] ++ else ++ libintl = disabler() ++ endif + endif + endif + endif +-- +2.34.1 + diff --git a/package/libgpg-error/libgpg-error.hash b/package/libgpg-error/libgpg-error.hash index 5c445ba0b2..3b3464592a 100644 --- a/package/libgpg-error/libgpg-error.hash +++ b/package/libgpg-error/libgpg-error.hash @@ -1,6 +1,7 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 94668233fd7bd8e7c0ec5e363134cd53c575da60 libgpg-error-1.47.tar.bz2 -sha256 9e3c670966b96ecc746c28c2c419541e3bcb787d1a73930f5e5f5e1bcbbb9bdb libgpg-error-1.47.tar.bz2 +sha1 8bdb504750b4da9e7daffa164cf1ed9900671f32 libgpg-error-1.48.tar.bz2 +sha256 89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f libgpg-error-1.48.tar.bz2 + # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index 60e3da9de1..3dd0ec94da 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.47 +LIBGPG_ERROR_VERSION = 1.48 LIBGPG_ERROR_SITE = https://www.gnupg.org/ftp/gcrypt/libgpg-error LIBGPG_ERROR_SOURCE = libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ diff --git a/package/libgpgme/0001-Fix-build-without-threads.patch b/package/libgpgme/0001-Fix-build-without-threads.patch deleted file mode 100644 index caa4ed7d78..0000000000 --- a/package/libgpgme/0001-Fix-build-without-threads.patch +++ /dev/null @@ -1,59 +0,0 @@ -From fc1b821c80c78f4ae635639c7fce5bad754edda7 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 27 Aug 2022 23:24:44 +0200 -Subject: [PATCH] Fix build without threads - -Allow the user to disable cpp tests to avoid the following build failure -without threads raised since version 1.17.1 and -https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commit;h=f3177d3ee0a1d30e15f33ff226b5e4c96b7610db - -run-wkdlookup.cpp: In function 'int main(int, char**)': -run-wkdlookup.cpp:130:18: error: 'std::this_thread' has not been declared - 130 | std::this_thread::sleep_for(std::chrono::milliseconds{250 * cnt}); - | ^~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/2915f6105bae595274fabaa12de7cc53926d22d0 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://dev.gnupg.org/T6165] ---- - configure.ac | 5 +++++ - lang/cpp/Makefile.am | 6 +++++- - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index e7fe04a7..d1c87486 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -553,6 +553,11 @@ AC_ARG_ENABLE(g13-test, - run_g13_test=$enableval) - AM_CONDITIONAL(RUN_G13_TESTS, test "$run_g13_test" = "yes") - -+run_cpp_test="yes" -+AC_ARG_ENABLE(cpp-test, -+ AS_HELP_STRING([--disable-cpp-test],[disable CPP regression test]), -+ run_cpp_test=$enableval) -+AM_CONDITIONAL(RUN_CPP_TESTS, test "$run_cpp_test" = "yes") - - # Checks for header files. - AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h stdint.h -diff --git a/lang/cpp/Makefile.am b/lang/cpp/Makefile.am -index 724da6ca..243c463d 100644 ---- a/lang/cpp/Makefile.am -+++ b/lang/cpp/Makefile.am -@@ -18,6 +18,10 @@ - # License along with this program; if not, see . - # SPDX-License-Identifier: LGPL-2.1-or-later - --SUBDIRS = src tests -+SUBDIRS = src -+ -+if RUN_CPP_TESTS -+SUBDIRS += tests -+endif - - EXTRA_DIST = README --- -2.35.1 - diff --git a/package/libgpgme/libgpgme.hash b/package/libgpgme/libgpgme.hash index a71cec1e38..64099df4c3 100644 --- a/package/libgpgme/libgpgme.hash +++ b/package/libgpgme/libgpgme.hash @@ -1,5 +1,5 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 369deeec95f1bb77fafc0b6c8fa65995ba82fd1e gpgme-1.20.0.tar.bz2 -sha256 25a5785a5da356689001440926b94e967d02e13c49eb7743e35ef0cf22e42750 gpgme-1.20.0.tar.bz2 +sha1 b3a938939a9fb2182684aa9ba094c8e8ecd6167b gpgme-1.23.2.tar.bz2 +sha256 9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224 gpgme-1.23.2.tar.bz2 # Locally calculated sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LESSER diff --git a/package/libgpgme/libgpgme.mk b/package/libgpgme/libgpgme.mk index eb63b7c013..dd39b37aa2 100644 --- a/package/libgpgme/libgpgme.mk +++ b/package/libgpgme/libgpgme.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPGME_VERSION = 1.20.0 +LIBGPGME_VERSION = 1.23.2 LIBGPGME_SITE = https://gnupg.org/ftp/gcrypt/gpgme LIBGPGME_SOURCE = gpgme-$(LIBGPGME_VERSION).tar.bz2 LIBGPGME_LICENSE = LGPL-2.1+ @@ -14,8 +14,6 @@ LIBGPGME_CPE_ID_PRODUCT = gpgme LIBGPGME_INSTALL_STAGING = YES LIBGPGME_DEPENDENCIES = libassuan libgpg-error LIBGPGME_CONFIG_SCRIPTS = gpgme-config -# We're patching configure.ac -LIBGPGME_AUTORECONF = YES LIBGPGME_LANGUAGE_BINDINGS = cl # C++ bindings require a C++11 capable gcc, and -Wsuggest-override support @@ -30,7 +28,6 @@ LIBGPGME_CONF_OPTS = \ --disable-gpgconf-test \ --disable-g13-test \ --disable-gpg-test \ - --disable-cpp-test \ --enable-languages=$(subst $(space),$(comma),$(LIBGPGME_LANGUAGE_BINDINGS)) # Force the path to "gpgrt-config" (from the libgpg-error package) to diff --git a/package/libgpiod/0001-build-add-a-configure-switch-for-building-examples.patch b/package/libgpiod/0001-build-add-a-configure-switch-for-building-examples.patch index a21c767006..f1a853a6f8 100644 --- a/package/libgpiod/0001-build-add-a-configure-switch-for-building-examples.patch +++ b/package/libgpiod/0001-build-add-a-configure-switch-for-building-examples.patch @@ -73,7 +73,7 @@ diff --git a/configure.ac b/configure.ac index 57c99a8..90a6324 100644 --- a/configure.ac +++ b/configure.ac -@@ -155,6 +155,12 @@ then +@@ -164,6 +164,12 @@ then fi fi @@ -84,8 +84,8 @@ index 57c99a8..90a6324 100644 +AM_CONDITIONAL([WITH_EXAMPLES], [test "x$with_examples" = xtrue]) + AC_ARG_ENABLE([bindings-cxx], - [AS_HELP_STRING([--enable-bindings-cxx],[enable C++ bindings [default=no]])], - [if test "x$enableval" = xyes; then with_bindings_cxx=true; fi], + [AC_HELP_STRING([--enable-bindings-cxx], + [enable C++ bindings [default=no]])], -- cgit 1.2.3-1.el7 diff --git a/package/libgpiod/libgpiod.hash b/package/libgpiod/libgpiod.hash index f0803cab36..6647b77c5a 100644 --- a/package/libgpiod/libgpiod.hash +++ b/package/libgpiod/libgpiod.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc -sha256 841be9d788f00bab08ef22c4be5c39866f0e46cb100a3ae49ed816ac9c5dddc7 libgpiod-1.6.3.tar.xz +sha256 7b146e12f28fbca3df7557f176eb778c5ccf952ca464698dba8a61b2e1e3f9b5 libgpiod-1.6.4.tar.xz # Hash for license file sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING diff --git a/package/libgpiod/libgpiod.mk b/package/libgpiod/libgpiod.mk index 35d003fa33..e7ff155618 100644 --- a/package/libgpiod/libgpiod.mk +++ b/package/libgpiod/libgpiod.mk @@ -6,7 +6,7 @@ # Be careful when bumping versions. # Dependency on kernel header versions may change. -LIBGPIOD_VERSION = 1.6.3 +LIBGPIOD_VERSION = 1.6.4 LIBGPIOD_SOURCE = libgpiod-$(LIBGPIOD_VERSION).tar.xz LIBGPIOD_SITE = https://www.kernel.org/pub/software/libs/libgpiod LIBGPIOD_LICENSE = LGPL-2.1+ diff --git a/package/libgsm/0001-misc-fixes-from-archlinux.patch b/package/libgsm/0001-misc-fixes-from-archlinux.patch index 86f4d42b66..11c529b509 100644 --- a/package/libgsm/0001-misc-fixes-from-archlinux.patch +++ b/package/libgsm/0001-misc-fixes-from-archlinux.patch @@ -9,6 +9,8 @@ Patch from: Signed-off-by: "Yann E. MORIN" Signed-off-by: Adam Duskett Refresh for 1.0.17 +[Fabrice: refresh for 1.0.22] +Signed-off-by: Fabrice Fontaine --- Makefile | 84 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) @@ -26,7 +28,7 @@ index d5c0c90..ef61bd5 100644 LD = $(CC) -@@ -96,11 +96,11 @@ TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1 +@@ -96,7 +96,7 @@ TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1 # Other tools SHELL = /bin/sh @@ -34,12 +36,7 @@ index d5c0c90..ef61bd5 100644 +LN = ln -s -f BASENAME = basename AR = ar - ARFLAGS = cr --RMFLAGS = -+RMFLAGS = -f - FIND = find - COMPRESS = compress - COMPRESSFLAGS = + ARFLAGS = cr @@ -139,7 +139,7 @@ LFLAGS = $(LDFLAGS) $(LDINC) # Targets @@ -100,77 +97,6 @@ index d5c0c90..ef61bd5 100644 # The local bin and lib directories -@@ -351,53 +350,54 @@ toastuninstall: - fi - - $(TOAST_INSTALL_BIN)/toast: $(TOAST) -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $(TOAST) $@ - chmod 755 $@ - - $(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast -- -rm $@ -- ln $? $@ -+ -rm $(RMFLAGS) $@ -+ $(LN) toast $@ - - $(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast -- -rm $@ -- ln $? $@ -+ -rm $(RMFLAGS) $@ -+ $(LN) toast $@ - - $(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3 -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - - $(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h -- -rm $@ -- cp $? $@ -- chmod 444 $@ -- --$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM) -- -rm $@ -+ -rm $(RMFLAGS) $@ - cp $? $@ - chmod 444 $@ - -+$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO) -+ -rm $(RMFLAGS) $@ $@.1 $@.1.0.13 -+ cp $?.1.0.13 $@.1.0.13 -+ chmod 755 $@.1.0.13 -+ $(LN) libgsm.so.1.0.13 $@ -+ $(LN) libgsm.so.1.0.13 $@.1 - - # Distribution - @@ -425,7 +425,7 @@ semi-clean: -print | xargs rm $(RMFLAGS) diff --git a/package/libgsm/libgsm.hash b/package/libgsm/libgsm.hash index 88d2573f56..b3a4702152 100644 --- a/package/libgsm/libgsm.hash +++ b/package/libgsm/libgsm.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4903652f68a8c04d0041f0d19b1eb713ddcd2aa011c5e595b3b8bca2755270f6 gsm-1.0.19.tar.gz +sha256 f0072e91f6bb85a878b2f6dbf4a0b7c850c4deb8049d554c65340b3bf69df0ac gsm-1.0.22.tar.gz sha256 81c68a3374937ed9b5e4929c709e81a2c4b35b5d1f450ecf8c473e2daea46ff6 COPYRIGHT diff --git a/package/libgsm/libgsm.mk b/package/libgsm/libgsm.mk index e3ebee4b11..1c7b860ece 100644 --- a/package/libgsm/libgsm.mk +++ b/package/libgsm/libgsm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGSM_VERSION = 1.0.19 +LIBGSM_VERSION = 1.0.22 LIBGSM_SOURCE = gsm-$(LIBGSM_VERSION).tar.gz LIBGSM_SITE = http://www.quut.com/gsm LIBGSM_LICENSE = gsm diff --git a/package/libgtk3/libgtk3.hash b/package/libgtk3/libgtk3.hash index 4d6c210c62..0fa4873443 100644 --- a/package/libgtk3/libgtk3.hash +++ b/package/libgtk3/libgtk3.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.38.sha256sum -sha256 ce11decf018b25bdd8505544a4f87242854ec88be054d9ade5f3a20444dd8ee7 gtk+-3.24.38.tar.xz +# From https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.41.sha256sum +sha256 47da61487af3087a94bc49296fd025ca0bc02f96ef06c556e7c8988bd651b6fa gtk+-3.24.41.tar.xz # Hash for license file: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index 6655a0d097..7e5882f830 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGTK3_VERSION_MAJOR = 3.24 -LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).38 +LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).41 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz LIBGTK3_SITE = https://download.gnome.org/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) LIBGTK3_LICENSE = LGPL-2.0+ diff --git a/package/libheif/0001-libheif-plugins-encoder_jpeg.cc-fix-libjpeg-build.patch b/package/libheif/0001-libheif-plugins-encoder_jpeg.cc-fix-libjpeg-build.patch new file mode 100644 index 0000000000..5245327fe7 --- /dev/null +++ b/package/libheif/0001-libheif-plugins-encoder_jpeg.cc-fix-libjpeg-build.patch @@ -0,0 +1,47 @@ +From 33eb948240365434c845b618854403e82a229012 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 31 Jan 2024 21:04:37 +0100 +Subject: [PATCH] libheif/plugins/encoder_jpeg.cc: fix libjpeg build + +Fix the following libjpeg build failure raised since version 1.17.0 and +https://github.com/strukturag/libheif/commit/ebd13a20b8b7f1964939642b08b662ef7e483f39 +because third argument of jpeg_mem_dest is defined as size_t* on libjpeg +instead of unsigned long* on jpeg-turbo: + +/home/buildroot/autobuild/instance-3/output-1/build/libheif-1.17.5/libheif/plugins/encoder_jpeg.cc: In function 'heif_error jpeg_encode_image(void*, const heif_image*, heif_image_input_class)': +/home/buildroot/autobuild/instance-3/output-1/build/libheif-1.17.5/libheif/plugins/encoder_jpeg.cc:366:37: error: invalid conversion from 'long unsigned int*' to 'size_t*' {aka 'unsigned int*'} [-fpermissive] + 366 | jpeg_mem_dest(&cinfo, &outbuffer, &outlength); + | ^~~~~~~~~~ + | | + | long unsigned int* + +Fix #1008 and #1086 + +Fixes: + - http://autobuild.buildroot.org/results/8ca909564c8dabe28ad08c96ebbc04b25592e727 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/strukturag/libheif/pull/1120 +--- + libheif/plugins/encoder_jpeg.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/libheif/plugins/encoder_jpeg.cc b/libheif/plugins/encoder_jpeg.cc +index d6c7854..21a5541 100644 +--- a/libheif/plugins/encoder_jpeg.cc ++++ b/libheif/plugins/encoder_jpeg.cc +@@ -360,7 +360,11 @@ struct heif_error jpeg_encode_image(void* encoder_raw, const struct heif_image* + } + + uint8_t* outbuffer = nullptr; ++#ifdef LIBJPEG_TURBO_VERSION + unsigned long outlength = 0; ++#else ++ size_t outlength = 0; ++#endif + + jpeg_create_compress(&cinfo); + jpeg_mem_dest(&cinfo, &outbuffer, &outlength); +-- +2.43.0 + diff --git a/package/libheif/libheif.hash b/package/libheif/libheif.hash index 50152abde5..a2ca065b7a 100644 --- a/package/libheif/libheif.hash +++ b/package/libheif/libheif.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 7f97e4205c0bd9f9b8560536c8bd2e841d1c9a6d610401eb3eb87ed9cdfe78ea libheif-1.16.2.tar.gz +sha256 8390baf4913eda0a183e132cec62b875fb2ef507ced5ddddc98dfd2f17780aee libheif-1.17.6.tar.gz sha256 b2eb4f6588b005bebac44cfb2dfd23f6a16c5ca9b8a619a315158b0215a917a3 COPYING diff --git a/package/libheif/libheif.mk b/package/libheif/libheif.mk index 65e64a02f7..908e2ce068 100644 --- a/package/libheif/libheif.mk +++ b/package/libheif/libheif.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHEIF_VERSION = 1.16.2 +LIBHEIF_VERSION = 1.17.6 LIBHEIF_SITE = https://github.com/strukturag/libheif/releases/download/v$(LIBHEIF_VERSION) LIBHEIF_LICENSE = LGPL-3.0+ LIBHEIF_LICENSE_FILES = COPYING @@ -30,6 +30,20 @@ else LIBHEIF_CONF_OPTS += -DWITH_DAV1D=OFF endif +ifeq ($(BR2_PACKAGE_FFMPEG),y) +LIBHEIF_CONF_OPTS += -DWITH_FFMPEG_DECODER=ON +LIBHEIF_DEPENDENCIES += ffmpeg +else +LIBHEIF_CONF_OPTS += -DWITH_FFMPEG_DECODER=OFF +endif + +ifeq ($(BR2_PACKAGE_KVAZAAR),y) +LIBHEIF_CONF_OPTS += -DWITH_KVAZAAR=ON +LIBHEIF_DEPENDENCIES += kvazaar +else +LIBHEIF_CONF_OPTS += -DWITH_KVAZAAR=OFF +endif + ifeq ($(BR2_PACKAGE_LIBDE265),y) LIBHEIF_CONF_OPTS += -DWITH_LIBDE265=ON LIBHEIF_DEPENDENCIES += libde265 @@ -37,6 +51,20 @@ else LIBHEIF_CONF_OPTS += -DWITH_LIBDE265=OFF endif +ifeq ($(BR2_PACKAGE_JPEG),y) +LIBHEIF_CONF_OPTS += -DWITH_JPEG_DECODER=ON -DWITH_JPEG_ENCODER=ON +LIBHEIF_DEPENDENCIES += jpeg +else +LIBHEIF_CONF_OPTS += -DWITH_JPEG_DECODER=OFF -DWITH_JPEG_ENCODER=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENJPEG),y) +LIBHEIF_CONF_OPTS += -DWITH_OpenJPEG_DECODER=ON -DWITH_OpenJPEG_ENCODER=ON +LIBHEIF_DEPENDENCIES += openjpeg +else +LIBHEIF_CONF_OPTS += -DWITH_OpenJPEG_DECODER=OFF -DWITH_OpenJPEG_ENCODER=OFF +endif + ifeq ($(BR2_PACKAGE_X265),y) LIBHEIF_CONF_OPTS += -DWITH_X265=ON LIBHEIF_DEPENDENCIES += x265 diff --git a/package/libhttpserver/Config.in b/package/libhttpserver/Config.in index dcdf30566d..3120059a08 100644 --- a/package/libhttpserver/Config.in +++ b/package/libhttpserver/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBHTTPSERVER bool "libhttpserver" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++11 PR59526 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBMICROHTTPD @@ -12,6 +12,6 @@ config BR2_PACKAGE_LIBHTTPSERVER https://github.com/etr/libhttpserver -comment "libhttpserver needs a toolchain w/ C++, threads, gcc >= 5" +comment "libhttpserver needs a toolchain w/ C++, threads, gcc >= 7" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/libhttpserver/libhttpserver.hash b/package/libhttpserver/libhttpserver.hash index 19ad63bde2..03ebdc4a76 100644 --- a/package/libhttpserver/libhttpserver.hash +++ b/package/libhttpserver/libhttpserver.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 1dfe548ac2add77fcb6c05bd00222c55650ffd02b209f4e3f133a6e3eb29c89d libhttpserver-0.18.2.tar.gz +sha256 b108769ed68d72c58961c517ab16c3a64e4efdc4c45687723bb45bb9e04c5193 libhttpserver-0.19.0.tar.gz sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LESSER diff --git a/package/libhttpserver/libhttpserver.mk b/package/libhttpserver/libhttpserver.mk index bd3ecbd416..54774e763b 100644 --- a/package/libhttpserver/libhttpserver.mk +++ b/package/libhttpserver/libhttpserver.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHTTPSERVER_VERSION = 0.18.2 +LIBHTTPSERVER_VERSION = 0.19.0 LIBHTTPSERVER_SITE = $(call github,etr,libhttpserver,$(LIBHTTPSERVER_VERSION)) LIBHTTPSERVER_LICENSE = LGPL-2.1+ LIBHTTPSERVER_LICENSE_FILES = COPYING.LESSER diff --git a/package/libical/libical.mk b/package/libical/libical.mk index afbbfd98c8..992ef51375 100644 --- a/package/libical/libical.mk +++ b/package/libical/libical.mk @@ -9,7 +9,7 @@ LIBICAL_SITE = https://github.com/libical/libical/releases/download/v$(LIBICAL_V LIBICAL_INSTALL_STAGING = YES LIBICAL_LICENSE = MPL-1.0 or LGPL-2.1 LIBICAL_LICENSE_FILES = LICENSE -LIBICAL_CPE_ID_VENDOR = libical_project +LIBICAL_CPE_ID_VALID = YES # 0002-icaltypes-c-icalreqstattype_from_string-copy-the-reqstattype.patch LIBICAL_IGNORE_CVES += CVE-2016-9584 diff --git a/package/libiec61850/libiec61850.hash b/package/libiec61850/libiec61850.hash index a416ecdb4d..be662bebaf 100644 --- a/package/libiec61850/libiec61850.hash +++ b/package/libiec61850/libiec61850.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b6d7ffac831e7d9aec3470e45e2f1734071859c95cab4cfe99ffd1091776b3cc libiec61850-1.5.1.tar.gz +sha256 a0f396a5e2249398f2432bb9698e3aecdb9de11b28e5af68f7fb8b14bc3b2f44 libiec61850-1.5.3.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libiec61850/libiec61850.mk b/package/libiec61850/libiec61850.mk index 4b61e40c6d..276acce1a8 100644 --- a/package/libiec61850/libiec61850.mk +++ b/package/libiec61850/libiec61850.mk @@ -4,15 +4,19 @@ # ################################################################################ -LIBIEC61850_VERSION = 1.5.1 -LIBIEC61850_SITE = https://libiec61850.com/wp-content/uploads/2022/03 +LIBIEC61850_VERSION = 1.5.3 +LIBIEC61850_SITE = $(call github,mz-automation,libiec61850,v$(LIBIEC61850_VERSION)) LIBIEC61850_INSTALL_STAGING = YES LIBIEC61850_LICENSE = GPL-3.0+ LIBIEC61850_LICENSE_FILES = COPYING LIBIEC61850_CPE_ID_VENDOR = mz-automation LIBIEC61850_CONF_OPTS = -DBUILD_PYTHON_BINDINGS=OFF -# Examples aren't build -# https://github.com/mz-automation/libiec61850/issues/442 -LIBIEC61850_IGNORE_CVES += CVE-2023-27772 + +ifeq ($(BR2_PACKAGE_MBEDTLS),y) +LIBIEC61850_DEPENDENCIES += mbedtls +LIBIEC61850_CONF_OPTS += -DCONFIG_USE_EXTERNAL_MBEDTLS_DYNLIB=ON +else +LIBIEC61850_CONF_OPTS += -DCONFIG_USE_EXTERNAL_MBEDTLS_DYNLIB=OFF +endif $(eval $(cmake-package)) diff --git a/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch b/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch deleted file mode 100644 index 1c2d606e63..0000000000 --- a/package/libiio/0001-iiod-serial.c-fix-sparc-build.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 40ffc5d9b8f6e47866292bf1365ac3a5d22cf123 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 25 Sep 2022 11:19:18 +0200 -Subject: [PATCH] iiod/serial.c: fix sparc build - -Fix the following sparc build failure raised since version 0.24 and -https://github.com/analogdevicesinc/libiio/commit/2d3cae005f364742b3a9e7234d15b2fd2cbac664: - -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c: In function 'serial_configure': -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B2500000' undeclared (first use in this function); did you mean 'B1500000'? - 99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break - | ^ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS' - 127 | CASE_BPS(2500000, &tty_attrs); - | ^~~~~~~~ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: note: each undeclared identifier is reported only once for each function it appears in - 99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break - | ^ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:127:9: note: in expansion of macro 'CASE_BPS' - 127 | CASE_BPS(2500000, &tty_attrs); - | ^~~~~~~~ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3000000' undeclared (first use in this function); did you mean 'B1000000'? - 99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break - | ^ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:128:9: note: in expansion of macro 'CASE_BPS' - 128 | CASE_BPS(3000000, &tty_attrs); - | ^~~~~~~~ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B3500000' undeclared (first use in this function); did you mean 'B1500000'? - 99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break - | ^ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:129:9: note: in expansion of macro 'CASE_BPS' - 129 | CASE_BPS(3500000, &tty_attrs); - | ^~~~~~~~ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:99:58: error: 'B4000000' undeclared (first use in this function); did you mean 'B1000000'? - 99 | #define CASE_BPS(bps, attr) case bps: (attr)->c_cflag |= B##bps; break - | ^ -/home/buildroot/autobuild/instance-0/output-1/build/libiio-0.24/iiod/serial.c:130:9: note: in expansion of macro 'CASE_BPS' - 130 | CASE_BPS(4000000, &tty_attrs); - | ^~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/8a9902f6eddaab812ebce3506ed6de686f647e02 - -Signed-off-by: Fabrice Fontaine -[yann.morin.1998@free.fr: actual backport now that upstream accepted it] -Signed-off-by: Yann E. MORIN ---- - iiod/serial.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/iiod/serial.c b/iiod/serial.c -index f829361d..b140d051 100644 ---- a/iiod/serial.c -+++ b/iiod/serial.c -@@ -124,10 +124,18 @@ static int serial_configure(int fd, unsigned int uart_bps, - CASE_BPS(1152000, &tty_attrs); - CASE_BPS(1500000, &tty_attrs); - CASE_BPS(2000000, &tty_attrs); -+#ifdef B2500000 /* Not available on all architectures, i.e. sparc */ - CASE_BPS(2500000, &tty_attrs); -+#endif -+#ifdef B3000000 /* Not available on all architectures, i.e. sparc */ - CASE_BPS(3000000, &tty_attrs); -+#endif -+#ifdef B3500000 /* Not available on all architectures, i.e. sparc */ - CASE_BPS(3500000, &tty_attrs); -+#endif -+#ifdef B4000000 /* Not available on all architectures, i.e. sparc */ - CASE_BPS(4000000, &tty_attrs); -+#endif - default: - IIO_ERROR("Invalid baud rate\n"); - return -EINVAL; --- -2.25.1 - diff --git a/package/libiio/0001-xml-Fix-compatibility-with-libxml-2-12.patch b/package/libiio/0001-xml-Fix-compatibility-with-libxml-2-12.patch new file mode 100644 index 0000000000..56c272aad3 --- /dev/null +++ b/package/libiio/0001-xml-Fix-compatibility-with-libxml-2-12.patch @@ -0,0 +1,33 @@ +From b1170cacff24cdfd3858edc2285c51cadef11488 Mon Sep 17 00:00:00 2001 +From: Jan Tojnar +Date: Sun, 10 Dec 2023 21:52:05 +0100 +Subject: [PATCH] xml: Fix compatibility with libxml 2.12 + +libxml 2.12.0 reorganized includes, resulting in the following no longer being in scope: + +- XML_PARSE_DTDVALID +- xmlReadMemory +- xmlReadFile +- xmlCleanupParser + +Signed-off-by: Jan Tojnar +(cherry picked from commit bb688d04294dda45e68dfaf13e3bc1187841e52a) + +Upstream: https://github.com/analogdevicesinc/libiio/commit/b1170cacff24cdfd3858edc2285c51cadef11488 +Signed-off-by: Fabrice Fontaine +--- + xml.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/xml.c b/xml.c +index 33f026103..3eaed92b3 100644 +--- a/xml.c ++++ b/xml.c +@@ -10,6 +10,7 @@ + #include "iio-private.h" + + #include ++#include + #include + #include + diff --git a/package/libiio/libiio.hash b/package/libiio/libiio.hash index f497756eac..0f024af78c 100644 --- a/package/libiio/libiio.hash +++ b/package/libiio/libiio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a2b5d848531ea64fd9f95327dfd5a588bd227d9577281ec375e822702c6a52d5 libiio-0.24.tar.gz +sha256 21972599a3c143ab1f98002ad2b3f28f4aff927fde5f677478311cd4e517730c libiio-0.25.tar.gz sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt diff --git a/package/libiio/libiio.mk b/package/libiio/libiio.mk index 9e2cf454b5..733a0c90ed 100644 --- a/package/libiio/libiio.mk +++ b/package/libiio/libiio.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIIO_VERSION = 0.24 +LIBIIO_VERSION = 0.25 LIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION)) LIBIIO_INSTALL_STAGING = YES LIBIIO_LICENSE = LGPL-2.1+ diff --git a/package/libite/libite.hash b/package/libite/libite.hash index 7dac198ab8..3abad09b0a 100644 --- a/package/libite/libite.hash +++ b/package/libite/libite.hash @@ -1,7 +1,7 @@ # Upstream .sha256 from GitHub -sha256 ca086adc7ebf0c2ebf2ed7a6787f9567fb802db8583576228dd5dd5ddfb7bb97 libite-2.5.3.tar.xz +sha256 0185c3e76874c5821825deaf17cd45e81ce49aaa424e09de5f3665243c59026b libite-2.6.1.tar.xz # Locally calculated -sha256 20db0601195f708d68ff7907907b3cd3b25808efa8332e064b11f00c839a5d2f LICENSE +sha256 3a2b964c1772d03ab17b73a389ecce9151e0b190a9247817a2c009b16d356422 LICENSE sha256 c2882adb51555b836f35babc59f618d9ddceadcaa2d1dc80bbd4699614d2cd14 src/chomp.c sha256 bff7fa7b74324f13a24d56ebb8b49bc9c63ea01836a1c8b5a6afcbbabed62918 src/pidfile.c diff --git a/package/libite/libite.mk b/package/libite/libite.mk index 1cef992e53..e4bd845487 100644 --- a/package/libite/libite.mk +++ b/package/libite/libite.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBITE_VERSION = 2.5.3 +LIBITE_VERSION = 2.6.1 LIBITE_SOURCE = libite-$(LIBITE_VERSION).tar.xz LIBITE_SITE = https://github.com/troglobit/libite/releases/download/v$(LIBITE_VERSION) LIBITE_LICENSE = MIT, X11, ISC, BSD-2-Clause LIBITE_LICENSE_FILES = LICENSE src/chomp.c src/pidfile.c LIBITE_INSTALL_STAGING = YES -LIBITE_CONF_OPTS = --without-symlink +LIBITE_CONF_OPTS = --without-symlink --disable-doxygen-doc $(eval $(autotools-package)) diff --git a/package/libjpeg/libjpeg.hash b/package/libjpeg/libjpeg.hash index 1a2e82caef..5c223b4e3c 100644 --- a/package/libjpeg/libjpeg.hash +++ b/package/libjpeg/libjpeg.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d jpegsrc.v9e.tar.gz -sha256 50c1c5978d490c7f13062d91c4b89affc83774f87bc4568a714f748b62a5b216 README +sha256 04705c110cb2469caa79fb71fba3d7bf834914706e9641a4589485c1f832565b jpegsrc.v9f.tar.gz +sha256 7c25493a9f64fed34d01445467341bda77bc1cdbeccbe33558659ef173fb9ff2 README diff --git a/package/libjpeg/libjpeg.mk b/package/libjpeg/libjpeg.mk index caf7f05f44..2eb64e83e7 100644 --- a/package/libjpeg/libjpeg.mk +++ b/package/libjpeg/libjpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBJPEG_VERSION = 9e +LIBJPEG_VERSION = 9f LIBJPEG_SITE = http://www.ijg.org/files LIBJPEG_SOURCE = jpegsrc.v$(LIBJPEG_VERSION).tar.gz LIBJPEG_LICENSE = IJG diff --git a/package/libjwt/Config.in b/package/libjwt/Config.in new file mode 100644 index 0000000000..39d1665e0e --- /dev/null +++ b/package/libjwt/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBJWT + bool "libjwt" + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_JANSSON + help + JSON Web Tokens are an open, industry standard RFC 7519 + method for representing claims securely between two parties. + + https://github.com/benmcollins/libjwt diff --git a/package/libjwt/libjwt.hash b/package/libjwt/libjwt.hash new file mode 100644 index 0000000000..47e8b2c506 --- /dev/null +++ b/package/libjwt/libjwt.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 cb2fd95123689e7d209a3a8c060e02f68341c9a5ded524c0cd881a8cd20d711f libjwt-1.15.3.tar.gz +sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE diff --git a/package/libjwt/libjwt.mk b/package/libjwt/libjwt.mk new file mode 100644 index 0000000000..1643aa7b7a --- /dev/null +++ b/package/libjwt/libjwt.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# libjwt +# +################################################################################ + +LIBJWT_VERSION = 1.15.3 +LIBJWT_SITE = $(call github,benmcollins,libjwt,v$(LIBJWT_VERSION)) +LIBJWT_DEPENDENCIES = host-pkgconf jansson +LIBJWT_AUTORECONF = YES +LIBJWT_INSTALL_STAGING = YES +LIBJWT_LICENSE = MPL-2.0 +LIBJWT_LICENSE_FILES = LICENSE +LIBJWT_CONF_OPTS = --without-examples + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBJWT_CONF_OPTS += --with-openssl +LIBJWT_DEPENDENCIES += openssl +else +LIBJWT_CONF_OPTS += --without-openssl +LIBJWT_DEPENDENCIES += gnutls +endif + +$(eval $(autotools-package)) diff --git a/package/libjxl/0001-djxl-fix-segmentation-fault-when-JPEG-is-disabled.patch b/package/libjxl/0001-djxl-fix-segmentation-fault-when-JPEG-is-disabled.patch deleted file mode 100644 index 3d709c956b..0000000000 --- a/package/libjxl/0001-djxl-fix-segmentation-fault-when-JPEG-is-disabled.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 504f35c8204248ae6f97278e8b7c6cc5853a1b94 Mon Sep 17 00:00:00 2001 -From: Julien Olivain -Date: Fri, 10 Feb 2023 21:31:30 +0100 -Subject: [PATCH] djxl: fix segmentation fault when JPEG is disabled - -When libjxl is compiled without JPEG support, by configuring for example -with: - - cmake -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=TRUE ... - -djxl crashes with a segmentation fault at: -https://github.com/libjxl/libjxl/blob/v0.8.1/tools/djxl_main.cc#L367 - -The crash can be reproduced with the sequence: - - gm convert IMAGE:LOGO ref.ppm - cjxl ref.ppm enc.jxl - djxl enc.jxl dec.ppm - -The crash happen because opt_jpeg_quality_id does not get -initialized at: -https://github.com/libjxl/libjxl/blob/v0.8.1/tools/djxl_main.cc#L107 - -This commit fixes the crash by adding a test on opt_jpeg_quality_id. - -Signed-off-by: Julien Olivain -[Retrieved from: -https://github.com/libjxl/libjxl/pull/2178/commits/504f35c8204248ae6f97278e8b7c6cc5853a1b94] ---- - tools/djxl_main.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/djxl_main.cc b/tools/djxl_main.cc -index b755301fcb..42b889e7ce 100644 ---- a/tools/djxl_main.cc -+++ b/tools/djxl_main.cc -@@ -370,6 +370,7 @@ int main(int argc, const char* argv[]) { - args.color_space = force_colorspace; - } - if (codec == jxl::extras::Codec::kPNM && extension != ".pfm" && -+ args.opt_jpeg_quality_id != -1 && - !cmdline.GetOption(args.opt_jpeg_quality_id)->matched()) { - args.bits_per_sample = 0; - } diff --git a/package/libjxl/0002-Add-missing-atomic-content-to-fix-gcc-compilation-fo.patch b/package/libjxl/0002-Add-missing-atomic-content-to-fix-gcc-compilation-fo.patch deleted file mode 100644 index b856b00728..0000000000 --- a/package/libjxl/0002-Add-missing-atomic-content-to-fix-gcc-compilation-fo.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 42e944a471672dae8522fbcf161941895ba16632 Mon Sep 17 00:00:00 2001 -From: Eastdong <31920925+IEAST@users.noreply.github.com> -Date: Thu, 23 Feb 2023 06:08:36 +0800 -Subject: [PATCH] Add missing content to fix gcc compilation for RISCV - architecture. (#2211) - -* Add missing content to fix gcc compilation for RISCV architecture. - -* add name to AUTHORS - -* lint fix - -Co-authored-by: Moritz Firsching -Upstream: https://github.com/libjxl/libjxl/commit/22d12d74e7bc56b09cfb1973aa89ec8d714fa3fc -Signed-off-by: Julien Olivain ---- - AUTHORS | 1 + - lib/jxl/enc_xyb.cc | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/AUTHORS b/AUTHORS -index 44dcc409..3340422d 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -30,6 +30,7 @@ Daniel Novomeský - David Burnett - Dirk Lemstra - Don Olmstead -+Dong Xu - Even Rouault - Fred Brennan - Heiko Becker -diff --git a/lib/jxl/enc_xyb.cc b/lib/jxl/enc_xyb.cc -index c7310765..2fd5d025 100644 ---- a/lib/jxl/enc_xyb.cc -+++ b/lib/jxl/enc_xyb.cc -@@ -6,6 +6,7 @@ - #include "lib/jxl/enc_xyb.h" - - #include -+#include - #include - - #undef HWY_TARGET_INCLUDE --- -2.41.0 - diff --git a/package/libjxl/libjxl.hash b/package/libjxl/libjxl.hash index c8f98d10ea..0766c24a53 100644 --- a/package/libjxl/libjxl.hash +++ b/package/libjxl/libjxl.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420 libjxl-0.8.2.tar.gz +sha256 d83bbe188d8fa9725bb75109c922c37fcff8c3b802808f3a6c2c14aaf8337d9f libjxl-0.9.0.tar.gz sha256 8405932022a556380c2d8c272eff154a923feb197233f348ce5f7334fb0a5ede LICENSE sha256 91915f8ae056a68a3c5bdf05d9f6f78bb6903e27a8ca3a8434c9e4ac87300575 PATENTS diff --git a/package/libjxl/libjxl.mk b/package/libjxl/libjxl.mk index 47c110eb53..4072633ffe 100644 --- a/package/libjxl/libjxl.mk +++ b/package/libjxl/libjxl.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBJXL_VERSION = 0.8.2 +LIBJXL_VERSION = 0.9.0 LIBJXL_SITE = $(call github,libjxl,libjxl,v$(LIBJXL_VERSION)) LIBJXL_LICENSE = BSD-3-Clause LIBJXL_LICENSE_FILES = LICENSE PATENTS -LIBJXL_CPE_ID_VENDOR = libjxl_project +LIBJXL_CPE_ID_VALID = YES LIBJXL_INSTALL_STAGING = YES LIBJXL_DEPENDENCIES = \ @@ -27,6 +27,7 @@ LIBJXL_CONF_OPTS = \ -DJPEGXL_ENABLE_DOXYGEN=OFF \ -DJPEGXL_ENABLE_EXAMPLES=OFF \ -DJPEGXL_ENABLE_JNI=OFF \ + -DJPEGXL_ENABLE_JPEGLI=OFF \ -DJPEGXL_ENABLE_MANPAGES=OFF \ -DJPEGXL_ENABLE_OPENEXR=OFF \ -DJPEGXL_ENABLE_SJPEG=OFF \ diff --git a/package/libkcapi/0001-lib-kcapi-kernel-if.c-fix-uclibc-build.patch b/package/libkcapi/0001-lib-kcapi-kernel-if.c-fix-uclibc-build.patch deleted file mode 100644 index 818150dafb..0000000000 --- a/package/libkcapi/0001-lib-kcapi-kernel-if.c-fix-uclibc-build.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 4d9bbc866682bdf46c78047dca02230372620295 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 6 Nov 2022 17:05:14 +0100 -Subject: [PATCH] lib/kcapi-kernel-if.c: fix uclibc build - -Fix the following uclibc build failure raised since version 1.4.0 and -https://github.com/smuellerDD/libkcapi/commit/12f19b9a1dd308117f83e8cb33e28e3c040710a0: - -lib/kcapi-kernel-if.c: In function '_kcapi_common_send_meta': -lib/kcapi-kernel-if.c:196:26: error: conversion to 'int' from 'size_t' {aka 'unsigned int'} may change the sign of the result [-Werror=sign-conversion] - 196 | msg.msg_iovlen = kcapi_downcast_int(iovlen); - | ^~~~~~~~~~~~~~~~~~ - -Indeed, uclibc has the same behavior than musl when __WORDSIZE != 32 -even if it defines __GLIBC__: -https://github.com/wbx-github/uclibc-ng/blob/ab1dd83bec59c9e65c31efd6e887182948f627be/libc/sysdeps/linux/common/bits/socket.h - -Fixes: - - http://autobuild.buildroot.org/results/eccf4b84670b5ef0fdd68b46338edf5043c7cc0d - -Signed-off-by: Tan En De -Signed-off-by: Fabrice Fontaine -Signed-off-by: Stephan Mueller -[Retrieved from: -https://github.com/smuellerDD/libkcapi/commit/4d9bbc866682bdf46c78047dca02230372620295] ---- - lib/kcapi-kernel-if.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/lib/kcapi-kernel-if.c b/lib/kcapi-kernel-if.c -index d7b10bf..b4d7f74 100644 ---- a/lib/kcapi-kernel-if.c -+++ b/lib/kcapi-kernel-if.c -@@ -119,7 +119,7 @@ int _kcapi_common_accept(struct kcapi_handle *handle) - return 0; - } - --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && !(defined(__UCLIBC__) && __WORDSIZE == 32) - static inline size_t kcapi_downcast_int(size_t in) - { - return in; -@@ -564,11 +564,7 @@ ssize_t _kcapi_common_recv_data(struct kcapi_handle *handle, - msg.msg_controllen = 0; - msg.msg_flags = 0; - msg.msg_iov = iov; --#ifdef __GLIBC__ -- msg.msg_iovlen = iovlen; --#else -- msg.msg_iovlen = (int)iovlen; --#endif -+ msg.msg_iovlen = kcapi_downcast_int(iovlen); - ret = recvmsg(*_kcapi_get_opfd(handle), &msg, 0); - if (ret < 0) - ret = -errno; diff --git a/package/libkcapi/0002-Add-disable-werror.patch b/package/libkcapi/0002-Add-disable-werror.patch deleted file mode 100644 index 4f2f55f145..0000000000 --- a/package/libkcapi/0002-Add-disable-werror.patch +++ /dev/null @@ -1,46 +0,0 @@ -From c27b154f03ad7e94447c7114d73aee60f0098093 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 7 Nov 2022 13:38:06 +0100 -Subject: [PATCH] Add --disable-werror - -Allow the user to disable -Werror through --disable-werror - -Signed-off-by: Fabrice Fontaine -Signed-off-by: Stephan Mueller -[Retrieved from: -https://github.com/smuellerDD/libkcapi/commit/c27b154f03ad7e94447c7114d73aee60f0098093] ---- - Makefile.am | 5 ++++- - configure.ac | 3 +++ - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 1c95d3d..cddedac 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2,7 +2,10 @@ ACLOCAL_AMFLAGS = -I m4 - AUTOMAKE_OPTIONS = subdir-objects - lib_LTLIBRARIES = libkcapi.la - --COMMON_CPPFLAGS = -Wextra -Wall -pedantic -fwrapv --param ssp-buffer-size=4 -O2 -Werror -std=gnu99 -Wconversion -+COMMON_CPPFLAGS = -Wextra -Wall -pedantic -fwrapv --param ssp-buffer-size=4 -O2 -std=gnu99 -Wconversion -+if ENABLE_WERROR -+COMMON_CPPFLAGS += -Werror -+endif - COMMON_LDFLAGS = -Wl,-z,relro,-z,now - - libtool: $(LIBTOOL_DEPS) -diff --git a/configure.ac b/configure.ac -index cb910e2..e230577 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -76,6 +76,9 @@ AX_ADD_FORTIFY_SOURCE - - AC_CHECK_API_VERSION - -+AC_ARG_ENABLE([werror], [AS_HELP_STRING([--disable-werror], [Disable -Werror])], [with_werror=$enableval], [with_werror=yes]) -+AM_CONDITIONAL([ENABLE_WERROR], [test "x$with_werror" = "xyes"]) -+ - AC_ARG_ENABLE([kcapi-test], [AS_HELP_STRING([--enable-kcapi-test], [Compile kcapi test program])], [with_kcapi_test=$enableval]) - AM_CONDITIONAL([ENABLE_KCAPI_TEST], [test "x$with_kcapi_test" = "xyes"]) - diff --git a/package/libkcapi/0003-Fix-symver-build-error-on-non-ELF-platforms.patch b/package/libkcapi/0003-Fix-symver-build-error-on-non-ELF-platforms.patch deleted file mode 100644 index 206ac7ec4a..0000000000 --- a/package/libkcapi/0003-Fix-symver-build-error-on-non-ELF-platforms.patch +++ /dev/null @@ -1,84 +0,0 @@ -From f630ed1f807e26de04b3a5dfd7f1b39d1c5cb642 Mon Sep 17 00:00:00 2001 -From: Tan En De -Date: Sat, 26 Nov 2022 07:47:39 +0800 -Subject: [PATCH] Fix symver build error on non-ELF platforms - -The following error is observed on Microblaze [1] build: -``` -error: symver is only supported on ELF platforms -``` -due to using __attribute__((symver)) on non-ELF platform. -So, revert to using .symver in such case. - -[1]: http://autobuild.buildroot.net/results/447/4470efb5a078c0e368f6bd4f5ec455eea5eeebb5/build-end.log - -Signed-off-by: Tan En De -Signed-off-by: Stephan Mueller ---- -Upstream status: commit f630ed1f807e26de04b3a5dfd7f1b39d1c5cb642 - - configure.ac | 2 ++ - lib/internal.h | 2 +- - m4/ac_check_attribute_symver.m4 | 24 ++++++++++++++++++++++++ - 3 files changed, 27 insertions(+), 1 deletion(-) - create mode 100644 m4/ac_check_attribute_symver.m4 - -diff --git a/configure.ac b/configure.ac -index e230577..ba17404 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -76,6 +76,8 @@ AX_ADD_FORTIFY_SOURCE - - AC_CHECK_API_VERSION - -+AC_CHECK_ATTRIBUTE_SYMVER -+ - AC_ARG_ENABLE([werror], [AS_HELP_STRING([--disable-werror], [Disable -Werror])], [with_werror=$enableval], [with_werror=yes]) - AM_CONDITIONAL([ENABLE_WERROR], [test "x$with_werror" = "xyes"]) - -diff --git a/lib/internal.h b/lib/internal.h -index 14844a9..7977b04 100644 ---- a/lib/internal.h -+++ b/lib/internal.h -@@ -352,7 +352,7 @@ static inline int io_getevents(__attribute__((unused)) aio_context_t ctx, - * Auxiliary macros - ************************************************************/ - --#if __GNUC__ >= 10 -+#if HAVE_ATTRIBUTE_SYMVER && __GNUC__ >= 10 - # define IMPL_SYMVER(name, version) \ - __attribute__((__symver__("kcapi_" #name "@@LIBKCAPI_" version))) - -diff --git a/m4/ac_check_attribute_symver.m4 b/m4/ac_check_attribute_symver.m4 -new file mode 100644 -index 0000000..b484c5e ---- /dev/null -+++ b/m4/ac_check_attribute_symver.m4 -@@ -0,0 +1,24 @@ -+dnl Check compiler support for symver function attribute -+AC_DEFUN([AC_CHECK_ATTRIBUTE_SYMVER], [ -+ saved_CFLAGS=$CFLAGS -+ CFLAGS="-O0 -Werror" -+ AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM( -+ [[ -+ void _test_attribute_symver(void); -+ __attribute__((__symver__("sym@VER_1.2.3"))) void _test_attribute_symver(void) {} -+ ]], -+ [[ -+ _test_attribute_symver() -+ ]] -+ )], -+ [ -+ AC_DEFINE([HAVE_ATTRIBUTE_SYMVER], 1, [Define to 1 if __attribute__((symver)) is supported]) -+ ], -+ [ -+ AC_DEFINE([HAVE_ATTRIBUTE_SYMVER], 0, [Define to 0 if __attribute__((symver)) is not supported]) -+ ] -+ ) -+ CFLAGS=$saved_CFLAGS -+]) -+ --- -2.34.1 - diff --git a/package/libkcapi/libkcapi.hash b/package/libkcapi/libkcapi.hash index d858086408..172b6cbcc7 100644 --- a/package/libkcapi/libkcapi.hash +++ b/package/libkcapi/libkcapi.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 644b47593b3f27f08add7a8808ccdbe569a2f331d70fb8b52551e57379b917fa libkcapi-1.4.0.tar.xz -sha256 9765fad61726afb2b253db2c68153672e4178d6809667ae98141f3e90fe8645b COPYING +sha256 15b550c14165a266fa233b485d029d54508da593dfa6d1731ec5d5a285c716e9 libkcapi-1.5.0.tar.xz +sha256 00e0a844d67b190580a9dc5943e555a3d0b2158e21d01a25526762c619979326 COPYING sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING.gplv2 sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.bsd diff --git a/package/libkcapi/libkcapi.mk b/package/libkcapi/libkcapi.mk index c6251c286c..11462d6e2a 100644 --- a/package/libkcapi/libkcapi.mk +++ b/package/libkcapi/libkcapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBKCAPI_VERSION = 1.4.0 +LIBKCAPI_VERSION = 1.5.0 LIBKCAPI_SOURCE = libkcapi-$(LIBKCAPI_VERSION).tar.xz LIBKCAPI_SITE = http://www.chronox.de/libkcapi LIBKCAPI_AUTORECONF = YES diff --git a/package/libkrb5/libkrb5.mk b/package/libkrb5/libkrb5.mk index 62a34b2379..c58763eddd 100644 --- a/package/libkrb5/libkrb5.mk +++ b/package/libkrb5/libkrb5.mk @@ -33,6 +33,13 @@ LIBKRB5_CONF_OPTS = \ --without-tcl \ --disable-rpath +# libkrb5 has some assembly function that is not present in Thumb mode: +# Error: selected processor does not support `mcr p15,0,r2,c7,c10,5' in Thumb mode +# so, we desactivate Thumb mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +LIBKRB5_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + # Enabling static and shared at the same time is not supported ifeq ($(BR2_SHARED_STATIC_LIBS),y) LIBKRB5_CONF_OPTS += --disable-static diff --git a/package/libksba/libksba.hash b/package/libksba/libksba.hash index 5c6c5eda7a..e74cde2cc0 100644 --- a/package/libksba/libksba.hash +++ b/package/libksba/libksba.hash @@ -1,8 +1,9 @@ -# Locally calculated after checking pgp signature -sha256 3f72c68db30971ebbf14367527719423f0a4d5f8103fc9f4a1c01a9fa440de5c libksba-1.6.3.tar.bz2 +# From https://www.gnupg.org/download/integrity_check.html +sha1 1db4222e052656700021a30d517f5aa2f882da4a libksba-1.6.6.tar.bz2 +sha256 5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4 libksba-1.6.6.tar.bz2 # Hash for license files: -sha256 8f1b87e551d97b2b23b6d3403a5d598c63ea89824cb8ee351f631f6cab2beaa5 AUTHORS +sha256 f9c59ea5a5e1dfdeebcd134e6a594c21eb088cc95f6653ee99ff2e187c105380 AUTHORS sha256 6197b98c6bf69838c624809c509d84333de1bc847155168c0e84527446a27076 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 sha256 0abbff814cd00e2b0b6d08395af2b419c1a92026c4b4adacbb65ccda45fa58cf COPYING.GPLv3 diff --git a/package/libksba/libksba.mk b/package/libksba/libksba.mk index 122914d524..b87efda226 100644 --- a/package/libksba/libksba.mk +++ b/package/libksba/libksba.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBKSBA_VERSION = 1.6.3 +LIBKSBA_VERSION = 1.6.6 LIBKSBA_SOURCE = libksba-$(LIBKSBA_VERSION).tar.bz2 LIBKSBA_SITE = https://gnupg.org/ftp/gcrypt/libksba LIBKSBA_LICENSE = LGPL-3.0+ or GPL-2.0+ (library, headers), GPL-3.0+ (manual, tests, build system) @@ -14,4 +14,8 @@ LIBKSBA_INSTALL_STAGING = YES LIBKSBA_DEPENDENCIES = libgpg-error LIBKSBA_CONF_OPTS = --with-gpg-error-prefix=$(STAGING_DIR)/usr +# Force the path to "gpgrt-config" (from the libgpg-error package) to +# avoid using the one on host, if present. +LIBKSBA_CONF_ENV += GPGRT_CONFIG=$(STAGING_DIR)/usr/bin/gpgrt-config + $(eval $(autotools-package)) diff --git a/package/libldns/libldns.mk b/package/libldns/libldns.mk index 06564e3d9f..d6af6a2b97 100644 --- a/package/libldns/libldns.mk +++ b/package/libldns/libldns.mk @@ -17,7 +17,6 @@ LIBLDNS_CONF_OPTS = \ --with-ssl=$(STAGING_DIR)/usr \ --enable-dane \ --enable-ecdsa \ - --enable-gost \ --enable-sha2 \ --without-examples \ --without-p5-dns-ldns \ @@ -30,6 +29,12 @@ else LIBLDNS_CONF_OPTS += --disable-dane-verify endif +ifeq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),y) +LIBLDNS_CONF_OPTS += --enable-gost +else +LIBLDNS_CONF_OPTS += --disable-gost +endif + ifeq ($(BR2_STATIC_LIBS),y) LIBLDNS_DEPENDENCIES += host-pkgconf # missing -lz breaks configure, add it using pkgconf diff --git a/package/libmatroska/Config.in b/package/libmatroska/Config.in index ec0e8415d7..4d775c43a0 100644 --- a/package/libmatroska/Config.in +++ b/package/libmatroska/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBMATROSKA bool "libmatroska" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 select BR2_PACKAGE_LIBEBML help Extensible open standard audio/video container format access @@ -9,5 +10,6 @@ config BR2_PACKAGE_LIBMATROSKA http://matroska.org -comment "libmatroska needs a toolchain w/ C++, wchar" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR +comment "libmatroska needs a toolchain w/ C++, wchar, gcc >= 4.9" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/libmatroska/libmatroska.hash b/package/libmatroska/libmatroska.hash index 81b418d030..a3eb74e832 100644 --- a/package/libmatroska/libmatroska.hash +++ b/package/libmatroska/libmatroska.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 daf91a63f58dd157ca340c457871e66260cb9c3333fefb008b318befbb0e081a libmatroska-1.6.3.tar.xz +sha256 572a3033b8d93d48a6a858e514abce4b2f7a946fe1f02cbfeca39bfd703018b3 libmatroska-1.7.1.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL diff --git a/package/libmatroska/libmatroska.mk b/package/libmatroska/libmatroska.mk index 7d326c0076..6b5f34476a 100644 --- a/package/libmatroska/libmatroska.mk +++ b/package/libmatroska/libmatroska.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMATROSKA_VERSION = 1.6.3 +LIBMATROSKA_VERSION = 1.7.1 LIBMATROSKA_SOURCE = libmatroska-$(LIBMATROSKA_VERSION).tar.xz LIBMATROSKA_SITE = http://dl.matroska.org/downloads/libmatroska LIBMATROSKA_INSTALL_STAGING = YES diff --git a/package/libmaxminddb/libmaxminddb.hash b/package/libmaxminddb/libmaxminddb.hash index 7e56351c0f..23830a6afe 100644 --- a/package/libmaxminddb/libmaxminddb.hash +++ b/package/libmaxminddb/libmaxminddb.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 e8414f0dedcecbc1f6c31cb65cd81650952ab0677a4d8c49cab603b3b8fb083e libmaxminddb-1.7.1.tar.gz +sha256 1107799f77be6aa3b9796ad0eed8ffcc334bf45f8bd18e6a984d8adf3e719c6d libmaxminddb-1.8.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/libmaxminddb/libmaxminddb.mk b/package/libmaxminddb/libmaxminddb.mk index 993b4aec9d..c741f429ed 100644 --- a/package/libmaxminddb/libmaxminddb.mk +++ b/package/libmaxminddb/libmaxminddb.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMAXMINDDB_VERSION = 1.7.1 +LIBMAXMINDDB_VERSION = 1.8.0 LIBMAXMINDDB_SITE = \ https://github.com/maxmind/libmaxminddb/releases/download/$(LIBMAXMINDDB_VERSION) LIBMAXMINDDB_INSTALL_STAGING = YES diff --git a/package/libmdbx/libmdbx.hash b/package/libmdbx/libmdbx.hash index 0f5908cf38..82cf28d6a9 100644 --- a/package/libmdbx/libmdbx.hash +++ b/package/libmdbx/libmdbx.hash @@ -1,5 +1,5 @@ # Hashes from: https://libmdbx.dqdkfa.ru/release/SHA256SUMS -sha256 e150541c2b07558b961e754e8e9171bf1aa974c8e936f62bd375606f7d550667 libmdbx-amalgamated-0.12.7.tar.xz +sha256 c78c56c53708bbfc519bf53ebf520d1f09d30ee6427a4bedf713316696e671d0 libmdbx-amalgamated-0.12.8.tar.xz # Locally calculated sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/libmdbx/libmdbx.mk b/package/libmdbx/libmdbx.mk index 84b58632b6..4cc6cbd08e 100644 --- a/package/libmdbx/libmdbx.mk +++ b/package/libmdbx/libmdbx.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMDBX_VERSION = 0.12.7 +LIBMDBX_VERSION = 0.12.8 LIBMDBX_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.xz LIBMDBX_SITE = https://libmdbx.dqdkfa.ru/release LIBMDBX_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/libmemcached/libmemcached.mk b/package/libmemcached/libmemcached.mk index bd63d78c97..b72f127a1d 100644 --- a/package/libmemcached/libmemcached.mk +++ b/package/libmemcached/libmemcached.mk @@ -14,6 +14,13 @@ LIBMEMCACHED_LICENSE = BSD-3-Clause LIBMEMCACHED_LICENSE_FILES = LICENSE LIBMEMCACHED_CPE_ID_VENDOR = awesome +# Force Release otherwise libraries will be suffixed by -dbg which will raise +# unexpected build failures with packages that use libmemcached (e.g. c-icap) +LIBMEMCACHED_CONF_OPTS += \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -std=c99" \ + -DCMAKE_SKIP_RPATH=ON + ifeq ($(BR2_PACKAGE_LIBEVENT),y) LIBMEMCACHED_DEPENDENCIES += libevent LIBMEMCACHED_CONF_OPTS += -DENABLE_MEMASLAP=ON @@ -28,4 +35,8 @@ else LIBMEMCACHED_CONF_OPTS += -DENABLE_OPENSSL_CRYPTO=OFF endif +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBMEMCACHED_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + $(eval $(cmake-package)) diff --git a/package/libminiupnpc/libminiupnpc.hash b/package/libminiupnpc/libminiupnpc.hash index db6b01f0c9..21dac02dd3 100644 --- a/package/libminiupnpc/libminiupnpc.hash +++ b/package/libminiupnpc/libminiupnpc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 38acd5f4602f7cf8bcdc1ec30b2d58db2e9912e5d9f5350dd99b06bfdffb517c miniupnpc-2.2.5.tar.gz +sha256 37fcd91953508c3e62d6964bb8ffbc5d47f3e13481fa54e6214fcc68704c66f1 miniupnpc-2.2.6.tar.gz sha256 e143c6e207d0bb874c4be76b57689ffa408063a37a735c6dcec3dc600cb522c5 LICENSE diff --git a/package/libminiupnpc/libminiupnpc.mk b/package/libminiupnpc/libminiupnpc.mk index 59b593cb36..dddbe6f81b 100644 --- a/package/libminiupnpc/libminiupnpc.mk +++ b/package/libminiupnpc/libminiupnpc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMINIUPNPC_VERSION = 2.2.5 +LIBMINIUPNPC_VERSION = 2.2.6 LIBMINIUPNPC_SOURCE = miniupnpc-$(LIBMINIUPNPC_VERSION).tar.gz LIBMINIUPNPC_SITE = http://miniupnp.free.fr/files LIBMINIUPNPC_INSTALL_STAGING = YES diff --git a/package/libmms/libmms.mk b/package/libmms/libmms.mk index a4c40ad60a..1140996cb8 100644 --- a/package/libmms/libmms.mk +++ b/package/libmms/libmms.mk @@ -10,6 +10,6 @@ LIBMMS_INSTALL_STAGING = YES LIBMMS_DEPENDENCIES = host-pkgconf libglib2 LIBMMS_LICENSE = LGPL-2.1+ LIBMMS_LICENSE_FILES = COPYING.LIB -LIBMMS_CPE_ID_VENDOR = libmms_project +LIBMMS_CPE_ID_VALID = YES $(eval $(autotools-package)) diff --git a/package/libmodsecurity/Config.in b/package/libmodsecurity/Config.in index 69bb0494cc..da14b21669 100644 --- a/package/libmodsecurity/Config.in +++ b/package/libmodsecurity/Config.in @@ -17,7 +17,7 @@ config BR2_PACKAGE_LIBMODSECURITY SecRules format and apply them to HTTP content provided by your application via Connectors. - https://github.com/SpiderLabs/ModSecurity + https://github.com/owasp-modsecurity/ModSecurity comment "libmodsecurity needs a toolchain w/ C++, threads, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || \ diff --git a/package/libmodsecurity/libmodsecurity.hash b/package/libmodsecurity/libmodsecurity.hash index 7bcf99e167..2221a8a37d 100644 --- a/package/libmodsecurity/libmodsecurity.hash +++ b/package/libmodsecurity/libmodsecurity.hash @@ -1,4 +1,5 @@ -# From https://github.com/SpiderLabs/ModSecurity/releases/download/v3.0.10/modsecurity-v3.0.10.tar.gz.sha256 -sha256 d5d459f7c2e57a69a405f3222d8e285de419a594b0ea8829058709962227ead0 modsecurity-v3.0.10.tar.gz +# From https://github.com/owasp-modsecurity/ModSecurity/releases/download/v3.0.12/modsecurity-v3.0.12.tar.gz.sha256 +sha256 a36118401641feef376bb469bf468abf94b7948844976a188a6fccb53390b11f modsecurity-v3.0.12.tar.gz + # Localy calculated sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/libmodsecurity/libmodsecurity.mk b/package/libmodsecurity/libmodsecurity.mk index 257f0a56df..d8c10b98b2 100644 --- a/package/libmodsecurity/libmodsecurity.mk +++ b/package/libmodsecurity/libmodsecurity.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBMODSECURITY_VERSION = 3.0.10 +LIBMODSECURITY_VERSION = 3.0.12 LIBMODSECURITY_SOURCE = modsecurity-v$(LIBMODSECURITY_VERSION).tar.gz -LIBMODSECURITY_SITE = https://github.com/SpiderLabs/ModSecurity/releases/download/v$(LIBMODSECURITY_VERSION) +LIBMODSECURITY_SITE = https://github.com/owasp-modsecurity/ModSecurity/releases/download/v$(LIBMODSECURITY_VERSION) LIBMODSECURITY_INSTALL_STAGING = YES LIBMODSECURITY_LICENSE = Apache-2.0 LIBMODSECURITY_LICENSE_FILES = LICENSE diff --git a/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch b/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch deleted file mode 100644 index be16eb9713..0000000000 --- a/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 4f946c01000fd97100e4a534b47f9c7ace0403df Mon Sep 17 00:00:00 2001 -From: QC -Date: Thu, 9 Oct 2014 19:51:50 +0200 -Subject: [PATCH] Fix build on archlinux (missing include) - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/DaveDavenport/libmpd/commit/4f946c01000fd97100e4a534b47f9c7ace0403df] ---- - src/libmpd-internal.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/libmpd-internal.h b/src/libmpd-internal.h -index c84c3a4..30cdc85 100644 ---- a/src/libmpd-internal.h -+++ b/src/libmpd-internal.h -@@ -21,6 +21,7 @@ - #define __MPD_INTERNAL_LIB_ - - #include "libmpdclient.h" -+#include - struct _MpdData_real; - - typedef struct _MpdData_real { diff --git a/package/libmpd/Config.in b/package/libmpd/Config.in deleted file mode 100644 index 1e3b860063..0000000000 --- a/package/libmpd/Config.in +++ /dev/null @@ -1,17 +0,0 @@ -config BR2_PACKAGE_LIBMPD - bool "libmpd" - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - help - High-level client library for accessing Music Player Daemon. - LibMpd is a library that provides high-level, callback-based - access to Music Player Daemon (mpd). - - http://gmpcwiki.sarine.nl/index.php?title=Libmpd - -comment "libmpd needs a toolchain w/ wchar, threads" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libmpd/libmpd.hash b/package/libmpd/libmpd.hash deleted file mode 100644 index 875eba2b05..0000000000 --- a/package/libmpd/libmpd.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83 libmpd-11.8.17.tar.gz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/libmpd/libmpd.mk b/package/libmpd/libmpd.mk deleted file mode 100644 index 2aa7ff7e05..0000000000 --- a/package/libmpd/libmpd.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# libmpd -# -################################################################################ - -LIBMPD_VERSION_MAJOR = 11.8 -LIBMPD_VERSION = $(LIBMPD_VERSION_MAJOR).17 -LIBMPD_SITE = http://download.sarine.nl/Programs/gmpc/$(LIBMPD_VERSION_MAJOR) -LIBMPD_INSTALL_STAGING = YES -LIBMPD_DEPENDENCIES = libglib2 -LIBMPD_LICENSE = GPL-2.0+ -LIBMPD_LICENSE_FILES = COPYING - -$(eval $(autotools-package)) diff --git a/package/libmpdclient/libmpdclient.hash b/package/libmpdclient/libmpdclient.hash index 8219183c87..626c383402 100644 --- a/package/libmpdclient/libmpdclient.hash +++ b/package/libmpdclient/libmpdclient.hash @@ -1,3 +1,6 @@ -# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.20.tar.xz.sig, sha256 locally computed -sha256 18793f68e939c3301e34d8fcadea1f7daa24143941263cecadb80126194e277d libmpdclient-2.20.tar.xz -sha256 9574c3b0a9c31723cc3d5f32af4655a015fff5ec6ec8115b7906cd7d9623cf32 COPYING +# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.22.tar.xz.sig, sha256 locally computed +sha256 eac15b82b5ba5ed0648af580221eb74657394f7fe768e966d9e9ebb27435429f libmpdclient-2.22.tar.xz + +# Hash for license files: +sha256 fd38b2c053c0cce46d9c5ef3545a6e34d157a240ba99c9b8dca5d37a8147da6c LICENSES/BSD-2-Clause.txt +sha256 e11af671c491efac2f94c1d752bea92f4308ca2450c7d11e582e4b48c40e4de1 LICENSES/BSD-3-Clause.txt diff --git a/package/libmpdclient/libmpdclient.mk b/package/libmpdclient/libmpdclient.mk index 2103ef163e..371bc20dbf 100644 --- a/package/libmpdclient/libmpdclient.mk +++ b/package/libmpdclient/libmpdclient.mk @@ -5,11 +5,12 @@ ################################################################################ LIBMPDCLIENT_VERSION_MAJOR = 2 -LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).20 +LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).22 LIBMPDCLIENT_SOURCE = libmpdclient-$(LIBMPDCLIENT_VERSION).tar.xz LIBMPDCLIENT_SITE = http://www.musicpd.org/download/libmpdclient/$(LIBMPDCLIENT_VERSION_MAJOR) LIBMPDCLIENT_INSTALL_STAGING = YES -LIBMPDCLIENT_LICENSE = BSD-3-Clause -LIBMPDCLIENT_LICENSE_FILES = COPYING +LIBMPDCLIENT_LICENSE = BSD-2-Clause, BSD-3-Clause +LIBMPDCLIENT_LICENSE_FILES = \ + LICENSES/BSD-2-Clause.txt LICENSES/BSD-3-Clause.txt $(eval $(meson-package)) diff --git a/package/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-cross-build.patch b/package/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-cross-build.patch deleted file mode 100644 index 793b3069c8..0000000000 --- a/package/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-cross-build.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a1659e261888bdbed51803132d52d9a6c6803c8a Mon Sep 17 00:00:00 2001 -From: Joachim Nilsson -Date: Sat, 19 Oct 2019 12:26:26 +0200 -Subject: [PATCH] Use standard int64_t instead of __int64_t for mingw cross - build - -Signed-off-by: Joachim Nilsson -[Retrieved from: -https://github.com/libnet/libnet/commit/a1659e261888bdbed51803132d52d9a6c6803c8a] -Signed-off-by: Fabrice Fontaine ---- - include/libnet/libnet-structures.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/include/libnet/libnet-structures.h b/include/libnet/libnet-structures.h -index 6084caa..34fffc6 100644 ---- a/include/libnet/libnet-structures.h -+++ b/include/libnet/libnet-structures.h -@@ -49,9 +49,9 @@ struct libnet_port_list_chain - /* libnet statistics structure */ - struct libnet_stats - { -- __int64_t packets_sent; /* packets sent */ -- __int64_t packet_errors; /* packets errors */ -- __int64_t bytes_written; /* bytes written */ -+ int64_t packets_sent; /* packets sent */ -+ int64_t packet_errors; /* packets errors */ -+ int64_t bytes_written; /* bytes written */ - }; - - diff --git a/package/libnet/libnet.hash b/package/libnet/libnet.hash index 6962ffc83f..eafe6ec361 100644 --- a/package/libnet/libnet.hash +++ b/package/libnet/libnet.hash @@ -1,5 +1,5 @@ -# From https://github.com/libnet/libnet/releases/download/v1.2/libnet-1.2.tar.gz.md5 -md5 a36c669e0cdfda6a2aa3adfb1f6fe60a libnet-1.2.tar.gz +# From https://github.com/libnet/libnet/releases/ +sha256 ad1e2dd9b500c58ee462acd839d0a0ea9a2b9248a1287840bc601e774fb6b28f libnet-1.3.tar.gz + # Locally computed -sha256 caa4868157d9e5f32e9c7eac9461efeff30cb28357f7f6bf07e73933fb4edaa7 libnet-1.2.tar.gz sha256 a06f600f67f239898d85f083aeed82ce6015b1c57599ab1def00fb68787ef388 LICENSE diff --git a/package/libnet/libnet.mk b/package/libnet/libnet.mk index a5a814f4d2..3bc9e30dfa 100644 --- a/package/libnet/libnet.mk +++ b/package/libnet/libnet.mk @@ -4,15 +4,17 @@ # ################################################################################ -LIBNET_VERSION = 1.2 +LIBNET_VERSION = 1.3 LIBNET_SITE = \ https://github.com/libnet/libnet/releases/download/v$(LIBNET_VERSION) LIBNET_INSTALL_STAGING = YES # PF_PACKET is always available on Linux -LIBNET_CONF_OPTS = libnet_cv_have_packet_socket=yes +LIBNET_CONF_OPTS = \ + libnet_cv_have_packet_socket=yes \ + --disable-doxygen-doc LIBNET_LICENSE = BSD-2-Clause, BSD-3-Clause LIBNET_LICENSE_FILES = LICENSE -LIBNET_CPE_ID_VENDOR = libnet_project +LIBNET_CPE_ID_VALID = YES LIBNET_CONFIG_SCRIPTS = libnet-config $(eval $(autotools-package)) diff --git a/package/libnfs/0001-Fix-include-sys-time.h.patch b/package/libnfs/0001-Fix-include-sys-time.h.patch index 15b281672a..c3779f13a2 100644 --- a/package/libnfs/0001-Fix-include-sys-time.h.patch +++ b/package/libnfs/0001-Fix-include-sys-time.h.patch @@ -11,10 +11,11 @@ POSIX says `struct timeval` is defined if is included. Instead of the mess that is currently done based on the system on which the stuff is being compiled, include it unconditionally. -Reported upstream: -https://github.com/sahlberg/libnfs/issues/272 +Upstream: https://github.com/sahlberg/libnfs/issues/272 Signed-off-by: Jörg Krause +[Fabrice: update for 5.0.2] +Signed-off-by: Fabrice Fontaine --- include/nfsc/libnfs.h | 5 ----- 1 file changed, 5 deletions(-) @@ -27,8 +28,8 @@ index 09dcf1c..b6db58c 100755 #define _LIBNFS_H_ #include --#if defined(__ANDROID__) || defined(AROS) \ -- || ( defined(__APPLE__) && defined(__MACH__) ) +-#if defined(__ANDROID__) || defined(AROS) || defined(__PPU__) \ +- || ( defined(__APPLE__) && defined(__MACH__) ) || defined(__FreeBSD__) || defined(__OpenBSD__) #include -#else -#include diff --git a/package/libnfs/libnfs.hash b/package/libnfs/libnfs.hash index ffb6c62073..c5e5197c13 100644 --- a/package/libnfs/libnfs.hash +++ b/package/libnfs/libnfs.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d libnfs-4.0.0.tar.gz +sha256 d945cb4f4c8f82ee1f3640893a168810f794a28e1010bb007ec5add345e9df3e libnfs-5.0.3.tar.gz sha256 edd960c0142b8ada98b43b6396b78f4e557b0bc70ac601a51e397ad04070e2c5 COPYING sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt diff --git a/package/libnfs/libnfs.mk b/package/libnfs/libnfs.mk index 5f950b5cde..e5e302a4f8 100644 --- a/package/libnfs/libnfs.mk +++ b/package/libnfs/libnfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFS_VERSION = 4.0.0 +LIBNFS_VERSION = 5.0.3 LIBNFS_SITE = $(call github,sahlberg,libnfs,libnfs-$(LIBNFS_VERSION)) LIBNFS_INSTALL_STAGING = YES LIBNFS_AUTORECONF = YES @@ -16,4 +16,10 @@ ifeq ($(BR2_PACKAGE_LIBTIRPC),y) LIBNFS_DEPENDENCIES += libtirpc endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +LIBNFS_CONF_OPTS += --enable-pthread +else +LIBNFS_CONF_OPTS += --disable-pthread +endif + $(eval $(autotools-package)) diff --git a/package/libnftnl/libnftnl.hash b/package/libnftnl/libnftnl.hash index 0cb3917f2d..5d1aad15d1 100644 --- a/package/libnftnl/libnftnl.hash +++ b/package/libnftnl/libnftnl.hash @@ -1,3 +1,8 @@ # From http://www.netfilter.org/projects/libnftnl/downloads.html -sha256 966de0a8120c8a53db859889749368bfb2cba0c4f0b4c1a30d264eccc45f1226 libnftnl-1.2.5.tar.xz +# Checked pgp signature: +# https://www.netfilter.org/projects/libnftnl/files/libnftnl-1.2.6.tar.xz.sig +# with key: +# https://www.netfilter.org/files/coreteam-gpg-key-0xD55D978A8A1420E4.txt +sha256 ceeaea2cd92147da19f13a35a7f1a4bc2767ff897e838e4b479cf54b59c777f4 libnftnl-1.2.6.tar.xz +# Locally computed: sha256 98193898c663001eff2fdcfb676e210c13042bc1a05e8d570c363efa396f8e24 COPYING diff --git a/package/libnftnl/libnftnl.mk b/package/libnftnl/libnftnl.mk index a7045337d0..18be55a17d 100644 --- a/package/libnftnl/libnftnl.mk +++ b/package/libnftnl/libnftnl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFTNL_VERSION = 1.2.5 +LIBNFTNL_VERSION = 1.2.6 LIBNFTNL_SITE = https://netfilter.org/projects/libnftnl/files LIBNFTNL_SOURCE = libnftnl-$(LIBNFTNL_VERSION).tar.xz LIBNFTNL_LICENSE = GPL-2.0+ diff --git a/package/libnids/libnids.mk b/package/libnids/libnids.mk index 40620eca57..712630bac8 100644 --- a/package/libnids/libnids.mk +++ b/package/libnids/libnids.mk @@ -8,7 +8,7 @@ LIBNIDS_VERSION = 1.26 LIBNIDS_SITE = $(call github,MITRECND,libnids,$(LIBNIDS_VERSION)) LIBNIDS_LICENSE = GPL-2.0 LIBNIDS_LICENSE_FILES = COPYING -LIBNIDS_CPE_ID_VENDOR = libnids_project +LIBNIDS_CPE_ID_VALID = YES LIBNIDS_INSTALL_STAGING = YES LIBNIDS_DEPENDENCIES = host-pkgconf libpcap LIBNIDS_AUTORECONF = YES diff --git a/package/libnl/libnl.hash b/package/libnl/libnl.hash index 8a1bd56780..77d7781493 100644 --- a/package/libnl/libnl.hash +++ b/package/libnl/libnl.hash @@ -1,4 +1,4 @@ -# From https://github.com/thom311/libnl/releases/download/libnl3_7_0/libnl-3.7.0.tar.gz.sha256sum -sha256 9fe43ccbeeea72c653bdcf8c93332583135cda46a79507bfd0a483bb57f65939 libnl-3.7.0.tar.gz +# From https://github.com/thom311/libnl/releases/download/libnl3_9_0/libnl-3.9.0.tar.gz.sha256sum +sha256 aed507004d728a5cf11eab48ca4bf9e6e1874444e33939b9d3dfed25018ee9bb libnl-3.9.0.tar.gz # Locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk index 6896188f4d..6f50fd6afc 100644 --- a/package/libnl/libnl.mk +++ b/package/libnl/libnl.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBNL_VERSION = 3.7.0 +LIBNL_VERSION = 3.9.0 LIBNL_SITE = https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(LIBNL_VERSION)) LIBNL_LICENSE = LGPL-2.1+ LIBNL_LICENSE_FILES = COPYING -LIBNL_CPE_ID_VENDOR = libnl_project +LIBNL_CPE_ID_VALID = YES LIBNL_INSTALL_STAGING = YES LIBNL_DEPENDENCIES = host-bison host-flex host-pkgconf diff --git a/package/libnpth/0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch b/package/libnpth/0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch new file mode 100644 index 0000000000..bc5ed70a9c --- /dev/null +++ b/package/libnpth/0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch @@ -0,0 +1,37 @@ +From 417abd56fd7bf45cd4948414050615cb1ad59134 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Fri, 1 Mar 2024 13:53:52 +0900 +Subject: [PATCH] Fix INSERT_EXPOSE_RWLOCK_API for musl C library. + +* configure.ac: Add a case for musl system. + +-- + +GnuPG-bug-id: 5664 +Signed-off-by: NIIBE Yutaka + +Upstream: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git;a=commit;h=417abd56fd7bf45cd4948414050615cb1ad59134 +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c1091b1..576a26e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -381,7 +381,10 @@ fi + AC_SUBST(INSERT_NO_RWLOCK) + + case "${host}" in +- *-*-linux*|*-*-gnu*) ++ *-*-linux-musl*) ++ INSERT_EXPOSE_RWLOCK_API="1" ++ ;; ++ *-*-linux-gnu*|*-*-gnu*) + INSERT_EXPOSE_RWLOCK_API="defined(__USE_UNIX98) || defined(__USE_XOPEN2K)" + ;; + *) +-- +2.30.2 + diff --git a/package/libnpth/libnpth.hash b/package/libnpth/libnpth.hash index b9f72e0770..a140a23f64 100644 --- a/package/libnpth/libnpth.hash +++ b/package/libnpth/libnpth.hash @@ -1,7 +1,6 @@ -# Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2.sig -# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1 npth-1.6.tar.bz2 +# From https://www.gnupg.org/download/integrity_check.html +sha1 a9f7adc1b1f6707071d29bfb3338c28b995ca1ce npth-1.7.tar.bz2 +sha256 8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05 npth-1.7.tar.bz2 # Hash for license file: sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING.LIB diff --git a/package/libnpth/libnpth.mk b/package/libnpth/libnpth.mk index ecfef863f4..3fa5e1f905 100644 --- a/package/libnpth/libnpth.mk +++ b/package/libnpth/libnpth.mk @@ -4,11 +4,14 @@ # ################################################################################ -LIBNPTH_VERSION = 1.6 +LIBNPTH_VERSION = 1.7 LIBNPTH_SOURCE = npth-$(LIBNPTH_VERSION).tar.bz2 LIBNPTH_SITE = https://www.gnupg.org/ftp/gcrypt/npth LIBNPTH_LICENSE = LGPL-2.0+ LIBNPTH_LICENSE_FILES = COPYING.LIB LIBNPTH_INSTALL_STAGING = YES +# 0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch +LIBNPTH_AUTORECONF = YES +LIBNPTH_CONF_OPTS = --disable-tests $(eval $(autotools-package)) diff --git a/package/libnss/libnss.hash b/package/libnss/libnss.hash index b95c0448b0..fdfe9773d2 100644 --- a/package/libnss/libnss.hash +++ b/package/libnss/libnss.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_92_RTM/src/SHA256SUMS -sha256 3db192d6e882039af02ae7eaf3217ed114bb7ad83414c646772ab8021e24a254 nss-3.92.tar.gz +# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_97_RTM/src/SHA256SUMS +sha256 078efb8393f32e40b1fb4bf6930fff7f1aabed01287fcc5fe58aba736765fa0a nss-3.97.tar.gz # Locally calculated sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 nss/COPYING diff --git a/package/libnss/libnss.mk b/package/libnss/libnss.mk index e9e7c5a278..60a33456b0 100644 --- a/package/libnss/libnss.mk +++ b/package/libnss/libnss.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSS_VERSION = 3.92 +LIBNSS_VERSION = 3.97 LIBNSS_SOURCE = nss-$(LIBNSS_VERSION).tar.gz LIBNSS_SITE = https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(subst .,_,$(LIBNSS_VERSION))_RTM/src LIBNSS_DISTDIR = dist diff --git a/package/libnvme/Config.in b/package/libnvme/Config.in new file mode 100644 index 0000000000..f298046563 --- /dev/null +++ b/package/libnvme/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LIBNVME + bool "libnvme" + help + libnvme provides type definitions for NVMe specification + and utilities for nvme devices handling in Linux. + + https://github.com/linux-nvme/libnvme diff --git a/package/libnvme/libnvme.hash b/package/libnvme/libnvme.hash new file mode 100644 index 0000000000..69963578cd --- /dev/null +++ b/package/libnvme/libnvme.hash @@ -0,0 +1,3 @@ +# Locally calculated sha256 checksums +sha256 e9c3ad59c068788faf0f0af4296f92f8ce410d12749f0f35a541d6a21e630393 libnvme-1.7.1.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libnvme/libnvme.mk b/package/libnvme/libnvme.mk new file mode 100644 index 0000000000..813f7279e8 --- /dev/null +++ b/package/libnvme/libnvme.mk @@ -0,0 +1,44 @@ +################################################################################ +# +# libnvme +# +################################################################################ + +LIBNVME_VERSION = 1.7.1 +LIBNVME_SITE = $(call github,linux-nvme,libnvme,v$(LIBNVME_VERSION)) +LIBNVME_LICENSE = LGPL-2.1 +LIBNVME_LICENSE_FILES = COPYING +LIBNVME_INSTALL_STAGING = YES + +LIBNVME_CONF_OPTS += \ + -Dtests=false + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBNVME_DEPENDENCIES += python3 host-swig +LIBNVME_CONF_OPTS += -Dpython=enabled +else +LIBNVME_CONF_OPTS += -Dpython=disabled +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBNVME_DEPENDENCIES += openssl +LIBNVME_CONF_OPTS += -Dopenssl=enabled +else +LIBNVME_CONF_OPTS += -Dopenssl=disabled +endif + +ifeq ($(BR2_PACKAGE_JSON_C),y) +LIBNVME_DEPENDENCIES += json-c +LIBNVME_CONF_OPTS += -Djson-c=enabled +else +LIBNVME_CONF_OPTS += -Djson-c=disabled +endif + +ifeq ($(BR2_PACKAGE_KEYUTILS),y) +LIBNVME_DEPENDENCIES += keyutils +LIBNVME_CONF_OPTS += -Dkeyutils=enabled +else +LIBNVME_CONF_OPTS += -Dkeyutils=disabled +endif + +$(eval $(meson-package)) diff --git a/package/libodb-mysql/Config.in b/package/libodb-mysql/Config.in index d606165f9b..5645ccbbfb 100644 --- a/package/libodb-mysql/Config.in +++ b/package/libodb-mysql/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_LIBODB_MYSQL bool "libodb-mysql" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_MYSQL + depends on BR2_PACKAGE_MARIADB select BR2_PACKAGE_LIBODB help This package contains the MySQL ODB runtime library. Every @@ -13,4 +13,4 @@ config BR2_PACKAGE_LIBODB_MYSQL comment "libodb-mysql needs a toolchain w/ C++, threads" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_PACKAGE_MYSQL + depends on BR2_PACKAGE_MARIADB diff --git a/package/libodb-mysql/libodb-mysql.mk b/package/libodb-mysql/libodb-mysql.mk index 88b6f4cb31..427224dfb0 100644 --- a/package/libodb-mysql/libodb-mysql.mk +++ b/package/libodb-mysql/libodb-mysql.mk @@ -11,7 +11,7 @@ LIBODB_MYSQL_SITE = https://www.codesynthesis.com/download/odb/$(LIBODB_MYSQL_VE LIBODB_MYSQL_INSTALL_STAGING = YES LIBODB_MYSQL_LICENSE = GPL-2.0 LIBODB_MYSQL_LICENSE_FILES = LICENSE -LIBODB_MYSQL_DEPENDENCIES = libodb mysql +LIBODB_MYSQL_DEPENDENCIES = libodb mariadb LIBODB_MYSQL_CONF_ENV = \ CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" \ LIBS=`$(STAGING_DIR)/usr/bin/mysql_config --libs` diff --git a/package/libopenh264/libopenh264.hash b/package/libopenh264/libopenh264.hash index eecb0b9625..fe98b7773f 100644 --- a/package/libopenh264/libopenh264.hash +++ b/package/libopenh264/libopenh264.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 453afa66dacb560bc5fd0468aabee90c483741571bca820a39a1c07f0362dc32 libopenh264-2.3.1.tar.gz +sha256 a44d1ccc348a790f9a272bba2d1c2eb9a9bbd0302e4e9b655d709e1c32f92691 libopenh264-2.4.0.tar.gz sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb LICENSE diff --git a/package/libopenh264/libopenh264.mk b/package/libopenh264/libopenh264.mk index 750ec41e4d..478c29d7a8 100644 --- a/package/libopenh264/libopenh264.mk +++ b/package/libopenh264/libopenh264.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENH264_VERSION = 2.3.1 +LIBOPENH264_VERSION = 2.4.0 LIBOPENH264_SITE = $(call github,cisco,openh264,v$(LIBOPENH264_VERSION)) LIBOPENH264_LICENSE = BSD-2-Clause LIBOPENH264_LICENSE_FILES = LICENSE diff --git a/package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch b/package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch deleted file mode 100644 index ed4590dd55..0000000000 --- a/package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d8f104bffb0c4acb8c5fcdf49628f7d02ed48f7f Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Sat, 16 May 2015 18:53:51 +0200 -Subject: [PATCH] Dont waste time building manpages if we're not going to use - em. - -Signed-off-by: Ryan Barnett -[Gustavo: update for parallel-build] - -[rebased on openssl-1.1.0h] -Signed-off-by: Peter Seiderer -[rebased on openssl-1.1.1i] -Signed-off-by: Bernd Kuhls ---- - Configurations/unix-Makefile.tmpl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl -index 40cf2c3..777d9ca 100644 ---- a/Configurations/unix-Makefile.tmpl -+++ b/Configurations/unix-Makefile.tmpl -@@ -546,7 +546,7 @@ list-tests: - @echo "Tests are not supported with your chosen Configure options" - @ : {- output_on() if !$disabled{tests}; "" -} - --install: install_sw install_ssldirs install_docs {- $disabled{fips} ? "" : "install_fips" -} -+install: install_sw install_ssldirs {- $disabled{fips} ? "" : "install_fips" -} - - uninstall: uninstall_docs uninstall_sw {- $disabled{fips} ? "" : "uninstall_fips" -} - --- -2.16.3 - diff --git a/package/libopenssl/0002-Reproducible-build-do-not-leak-compiler-path.patch b/package/libopenssl/0001-Reproducible-build-do-not-leak-compiler-path.patch similarity index 93% rename from package/libopenssl/0002-Reproducible-build-do-not-leak-compiler-path.patch rename to package/libopenssl/0001-Reproducible-build-do-not-leak-compiler-path.patch index ea26a31075..9353c1ae90 100644 --- a/package/libopenssl/0002-Reproducible-build-do-not-leak-compiler-path.patch +++ b/package/libopenssl/0001-Reproducible-build-do-not-leak-compiler-path.patch @@ -15,7 +15,7 @@ diff --git a/crypto/build.info b/crypto/build.info index 2c619c6..49ca6ab 100644 --- a/crypto/build.info +++ b/crypto/build.info -@@ -111,7 +111,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \ +@@ -115,7 +115,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \ DEPEND[info.o]=buildinf.h DEPEND[cversion.o]=buildinf.h diff --git a/package/libopenssl/0004-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch b/package/libopenssl/0002-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch similarity index 85% rename from package/libopenssl/0004-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch rename to package/libopenssl/0002-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch index 9f34e1f5fb..629d9c26ce 100644 --- a/package/libopenssl/0004-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch +++ b/package/libopenssl/0002-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch @@ -21,9 +21,9 @@ diff --git a/Configure b/Configure index 5a699836f3..f9152b1702 100755 --- a/Configure +++ b/Configure -@@ -1424,6 +1424,10 @@ my %predefined_CXX = $config{CXX} - ? compiler_predefined($config{CROSS_COMPILE}.$config{CXX}) - : (); +@@ -1549,6 +1549,10 @@ unless ($disabled{asm}) { + } + } +if ($target eq "linux-ppc64" && !$disabled{asm}) { + $target{perlasm_scheme} = "linux64v2" if ($predefined_C{_CALL_ELF} == 2); @@ -31,7 +31,7 @@ index 5a699836f3..f9152b1702 100755 + # Check for makedepend capabilities. if (!$disabled{makedepend}) { - if ($config{target} =~ /^(VC|vms)-/) { + # If the attribute makedep_scheme is defined, then we assume that the -- 2.25.0 diff --git a/package/libopenssl/0003-Introduce-the-OPENSSL_NO_MADVISE-to-disable-call-to-.patch b/package/libopenssl/0003-Introduce-the-OPENSSL_NO_MADVISE-to-disable-call-to-.patch deleted file mode 100644 index 425adea5d8..0000000000 --- a/package/libopenssl/0003-Introduce-the-OPENSSL_NO_MADVISE-to-disable-call-to-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 1281ffc7959bd2070563e17a52ee4424196d885c Mon Sep 17 00:00:00 2001 -From: Patrick Havelange -Date: Wed, 23 Jan 2019 12:21:21 +0100 -Subject: [PATCH] Introduce the OPENSSL_NO_MADVISE to disable call to madvise() - -Upstream: https://github.com/openssl/openssl/pull/8089 -Signed-off-by: Patrick Havelange ---- - crypto/mem_sec.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/crypto/mem_sec.c b/crypto/mem_sec.c -index 9e0f670..32c7282 100644 ---- a/crypto/mem_sec.c -+++ b/crypto/mem_sec.c -@@ -557,7 +557,7 @@ static int sh_init(size_t size, int minsize) - if (mlock(sh.arena, sh.arena_size) < 0) - ret = 2; - #endif --#ifdef MADV_DONTDUMP -+#if defined(MADV_DONTDUMP) && !defined(OPENSSL_NO_MADVISE) - if (madvise(sh.arena, sh.arena_size, MADV_DONTDUMP) < 0) - ret = 2; - #endif --- -2.17.1 - diff --git a/package/libopenssl/0005-Revert-Fix-static-builds.patch b/package/libopenssl/0003-Revert-Fix-static-builds.patch similarity index 93% rename from package/libopenssl/0005-Revert-Fix-static-builds.patch rename to package/libopenssl/0003-Revert-Fix-static-builds.patch index 2bc0b961eb..149ad54fc5 100644 --- a/package/libopenssl/0005-Revert-Fix-static-builds.patch +++ b/package/libopenssl/0003-Revert-Fix-static-builds.patch @@ -16,7 +16,7 @@ diff --git a/Configure b/Configure index 2c17f4186b..94cab4c3c4 100755 --- a/Configure +++ b/Configure -@@ -1438,10 +1438,6 @@ foreach (keys %useradd) { +@@ -1377,10 +1377,6 @@ foreach (keys %useradd) { # At this point, we can forget everything about %user and %useradd, # because it's now all been merged into the corresponding $config entry @@ -27,7 +27,7 @@ index 2c17f4186b..94cab4c3c4 100755 # Allow overriding the build file name $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; -@@ -1728,6 +1724,10 @@ if ($strict_warnings) +@@ -1671,6 +1667,10 @@ if ($strict_warnings) } } diff --git a/package/libopenssl/0006-Add-linux-x86-latomic-target.patch b/package/libopenssl/0006-Add-linux-x86-latomic-target.patch deleted file mode 100644 index a59db73314..0000000000 --- a/package/libopenssl/0006-Add-linux-x86-latomic-target.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c80a60dca209813c33ab3d2794bc32d84c12d033 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 28 Jul 2023 17:11:25 +0200 -Subject: [PATCH] Add linux-x86-latomic target - -Upstream: https://github.com/openssl/openssl/pull/21590 - -Signed-off-by: Bernd Kuhls ---- - Configurations/10-main.conf | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf -index 2200a85b16..bcf54a2a53 100644 ---- a/Configurations/10-main.conf -+++ b/Configurations/10-main.conf -@@ -861,6 +861,10 @@ my %targets = ( - asm_arch => 'x86', - perlasm_scheme => "elf", - }, -+ "linux-x86-latomic" => { -+ inherit_from => [ "linux-x86" ], -+ ex_libs => add(threads("-latomic")), -+ }, - "linux-x86-clang" => { - inherit_from => [ "linux-x86" ], - CC => "clang", --- -2.39.2 - diff --git a/package/libopenssl/Config.in b/package/libopenssl/Config.in index 3199de8cfe..0c8db52e2e 100644 --- a/package/libopenssl/Config.in +++ b/package/libopenssl/Config.in @@ -23,6 +23,9 @@ config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH default "linux-x86" if BR2_i386 && !BR2_TOOLCHAIN_HAS_LIBATOMIC default "linux-x86-latomic" if BR2_i386 && BR2_TOOLCHAIN_HAS_LIBATOMIC default "linux-x86_64" if BR2_x86_64 + default "linux64-riscv64" if BR2_riscv && BR2_ARCH_IS_64 + default "linux32-riscv32" if BR2_riscv && !BR2_ARCH_IS_64 + default "linux64-s390x" if BR2_s390x # no-asm is needed with generic architectures such as # linux-generic{32,64}, see # https://github.com/openssl/openssl/issues/9839 diff --git a/package/libopenssl/libopenssl.hash b/package/libopenssl/libopenssl.hash index 27e2c73d1d..841d4b4cfd 100644 --- a/package/libopenssl/libopenssl.hash +++ b/package/libopenssl/libopenssl.hash @@ -1,5 +1,5 @@ -# From https://www.openssl.org/source/openssl-3.0.11.tar.gz.sha256 -sha256 b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55 openssl-3.0.11.tar.gz +# From https://www.openssl.org/source/openssl-3.2.1.tar.gz.sha256 +sha256 83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39 openssl-3.2.1.tar.gz # License files sha256 7d5450cb2d142651b8afa315b5f238efc805dad827d91ba367d8516bc9d49e7a LICENSE.txt diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk index 5ff878dded..feb5026c02 100644 --- a/package/libopenssl/libopenssl.mk +++ b/package/libopenssl/libopenssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENSSL_VERSION = 3.0.11 +LIBOPENSSL_VERSION = 3.2.1 LIBOPENSSL_SITE = https://www.openssl.org/source LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz LIBOPENSSL_LICENSE = Apache-2.0 @@ -26,7 +26,7 @@ LIBOPENSSL_CFLAGS += -DOPENSSL_SMALL_FOOTPRINT endif ifeq ($(BR2_USE_MMU),) -LIBOPENSSL_CFLAGS += -DHAVE_FORK=0 -DOPENSSL_NO_MADVISE +LIBOPENSSL_CFLAGS += -DHAVE_FORK=0 -DHAVE_MADVISE=0 endif ifeq ($(BR2_PACKAGE_CRYPTODEV_LINUX),y) @@ -57,6 +57,7 @@ define HOST_LIBOPENSSL_CONFIGURE_CMDS ./config \ --prefix=$(HOST_DIR) \ --openssldir=$(HOST_DIR)/etc/ssl \ + no-docs \ no-tests \ no-fuzz-libfuzzer \ no-fuzz-afl \ @@ -78,6 +79,7 @@ define LIBOPENSSL_CONFIGURE_CMDS $(if $(BR2_PACKAGE_CRYPTODEV_LINUX),enable-devcryptoeng) \ no-rc5 \ enable-camellia \ + no-docs \ no-tests \ no-fuzz-libfuzzer \ no-fuzz-afl \ diff --git a/package/libosmium/libosmium.hash b/package/libosmium/libosmium.hash index b055aa21ea..37bcdd267c 100644 --- a/package/libosmium/libosmium.hash +++ b/package/libosmium/libosmium.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6911a8ca8e81d49205357177982df908af11376919f93b814cccf02f1d4d63e3 libosmium-2.19.0.tar.gz +sha256 3d3e0873c6aaabb3b2ef4283896bebf233334891a7a49f4712af30ca6ed72477 libosmium-2.20.0.tar.gz sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE diff --git a/package/libosmium/libosmium.mk b/package/libosmium/libosmium.mk index 2725130e72..c39e7d0152 100644 --- a/package/libosmium/libosmium.mk +++ b/package/libosmium/libosmium.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOSMIUM_VERSION = 2.19.0 +LIBOSMIUM_VERSION = 2.20.0 LIBOSMIUM_SITE = $(call github,osmcode,libosmium,v$(LIBOSMIUM_VERSION)) LIBOSMIUM_LICENSE = BSL-1.0 LIBOSMIUM_LICENSE_FILES = LICENSE @@ -31,4 +31,8 @@ ifeq ($(BR2_PACKAGE_ZLIB),y) LIBOSMIUM_DEPENDENCIES += zlib endif +ifeq ($(BR2_PACKAGE_GDAL),y) +LIBOSMIUM_DEPENDENCIES += gdal +endif + $(eval $(cmake-package)) diff --git a/package/libostree/Config.in b/package/libostree/Config.in index 696e8e1d6c..49eed6517e 100644 --- a/package/libostree/Config.in +++ b/package/libostree/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_LIBOSTREE depends on BR2_USE_MMU # e2fsprogs, libglib2, libgpgme # doesn't build with musl due to lack of TEMP_FAILURE_RETRY() depends on !BR2_TOOLCHAIN_USES_MUSL + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8 # loop_config select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_LIBARCHIVE if BR2_s390x select BR2_PACKAGE_LIBGLIB2 @@ -18,8 +19,9 @@ config BR2_PACKAGE_LIBOSTREE https://ostree.readthedocs.io/en/latest/ -comment "libostree needs a uClibc or glibc toolchain w/ threads, dynamic library, wchar" +comment "libostree needs a uClibc or glibc toolchain w/ threads, dynamic library, wchar, headers >= 5.8" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ - || !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_MUSL + || !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_MUSL || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS depends on BR2_USE_MMU diff --git a/package/libostree/libostree.hash b/package/libostree/libostree.hash index 088650a86f..d4645c593f 100644 --- a/package/libostree/libostree.hash +++ b/package/libostree/libostree.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9c575a094da2c307769f0aee15de95470c3b5550cbff211fbbc4f6fc75f333b1 libostree-2023.3.tar.xz +sha256 b6fffc267188e40d60755e6d7f2be65831795baa53b0fd9dd6c6809c7e54796d libostree-2023.8.tar.xz sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libostree/libostree.mk b/package/libostree/libostree.mk index 5c39090654..a737dc047f 100644 --- a/package/libostree/libostree.mk +++ b/package/libostree/libostree.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOSTREE_VERSION = 2023.3 +LIBOSTREE_VERSION = 2023.8 LIBOSTREE_SOURCE = libostree-$(LIBOSTREE_VERSION).tar.xz LIBOSTREE_SITE = https://github.com/ostreedev/ostree/releases/download/v$(LIBOSTREE_VERSION) @@ -17,6 +17,7 @@ LIBOSTREE_CONF_ENV = \ GPG_ERROR_CONFIG=$(STAGING_DIR)/usr/bin/gpg-error-config LIBOSTREE_CONF_OPTS += \ --with-gpgme-prefix=$(STAGING_DIR)/usr \ + --without-soup \ --disable-gtk-doc \ --disable-gtk-doc-html \ --disable-gtk-doc-pdf \ @@ -44,10 +45,10 @@ else LIBOSTREE_CONF_OPTS += --without-avahi endif -#cURL support depends on libsoup -ifeq ($(BR2_PACKAGE_LIBSOUP),y) -LIBOSTREE_CONF_OPTS += --with-soup -LIBOSTREE_DEPENDENCIES += libsoup +# cURL support depends on libsoup3 +ifeq ($(BR2_PACKAGE_LIBSOUP3),y) +LIBOSTREE_CONF_OPTS += --with-soup3 +LIBOSTREE_DEPENDENCIES += libsoup3 ifeq ($(BR2_PACKAGE_LIBCURL),y) LIBOSTREE_CONF_OPTS += --with-curl LIBOSTREE_DEPENDENCIES += libcurl @@ -55,7 +56,7 @@ else LIBOSTREE_CONF_OPTS += --without-curl endif else -LIBOSTREE_CONF_OPTS += --without-soup --without-curl +LIBOSTREE_CONF_OPTS += --without-soup3 --without-curl endif ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) diff --git a/package/libp11/Config.in b/package/libp11/Config.in index ef1e5b4703..3c7ccdee27 100644 --- a/package/libp11/Config.in +++ b/package/libp11/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBP11 depends on !BR2_STATIC_LIBS # dlopen depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help OpenSSL engine for PKCS#11 modules. Part of the OpenSC project. diff --git a/package/libp11/libp11.mk b/package/libp11/libp11.mk index 7718573ace..cd4ed34297 100644 --- a/package/libp11/libp11.mk +++ b/package/libp11/libp11.mk @@ -11,16 +11,10 @@ LIBP11_INSTALL_STAGING = YES LIBP11_LICENSE = LGPL-2.1+ LIBP11_LICENSE_FILES = COPYING -ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) -LIBP11_ENGINESDIR = enginesdir -else ifeq ($(BR2_PACKAGE_LIBRESSL),y) -LIBP11_ENGINESDIR = libdir -endif - # pkg-config returns a libcrypto enginesdir prefixed with the sysroot, # so let's rip it out. LIBP11_CONF_OPTS = \ - --with-enginesdir=`$(PKG_CONFIG_HOST_BINARY) --variable $(LIBP11_ENGINESDIR) libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'` + --with-enginesdir=`$(PKG_CONFIG_HOST_BINARY) --variable enginesdir libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'` ifeq ($(BR2_PACKAGE_P11_KIT),y) LIBP11_CONF_OPTS += --with-pkcs11-module=/usr/lib/p11-kit-proxy.so diff --git a/package/libpam-tacplus/0001-Add-an-option-to-disable-Werror.patch b/package/libpam-tacplus/0001-Add-an-option-to-disable-Werror.patch deleted file mode 100644 index 80da2f35b4..0000000000 --- a/package/libpam-tacplus/0001-Add-an-option-to-disable-Werror.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 88c78901503d50d0a62d85c96994ca4d67ab61e0 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 13 Nov 2020 20:50:27 +0100 -Subject: [PATCH] Add an option to disable -Werror - -Allow the user to disable -Werror to avoid the following build failure -with gcc 4.8: - -libtac/lib/magic.c:138:13: error: ignoring return value of 'read', declared with attribute warn_unused_result [-Werror=unused-result] - (void) read(rfd, &seed, sizeof(seed)); - ^ - -Fixes: - - http://autobuild.buildroot.org/results/5c17226f12eba104d907693ec37fc101cc6d447f - -Signed-off-by: Fabrice Fontaine ---- - Makefile.am | 6 +++++- - configure.ac | 3 +++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 0be3cdb..4a137e9 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -8,7 +8,11 @@ - - ACLOCAL_AMFLAGS = -I config - AUTOMAKE_OPTIONS = subdir-objects --AM_CFLAGS = -Wall -Wextra -Werror -+AM_CFLAGS = -Wall -Wextra -+ -+if ENABLE_WERROR -+AM_CFLAGS += -Werror -+endif - - if TACC - bin_PROGRAMS = tacc -diff --git a/configure.ac b/configure.ac -index d0c5eba..dd8a966 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -100,6 +100,9 @@ AC_SUBST(pamdir) - AC_ARG_ENABLE(doc, AS_HELP_STRING([--disable-doc], [do not build docs])) - AM_CONDITIONAL(DOC, test "x$enable_doc" != "xno") - -+AC_ARG_ENABLE(werror, AS_HELP_STRING([--disable-werror], [do not build with -Werror])) -+AM_CONDITIONAL(ENABLE_WERROR, test "x$enable_werror" != "xno") -+ - dnl -------------------------------------------------------------------- - dnl Switch for run-time debugging - AC_ARG_ENABLE(runtime-debugging, [AS_HELP_STRING([--enable-runtime-debugging], --- -2.28.0 - diff --git a/package/libpam-tacplus/0001-Remove-conflicting-man-flag.patch b/package/libpam-tacplus/0001-Remove-conflicting-man-flag.patch new file mode 100644 index 0000000000..a832366cb1 --- /dev/null +++ b/package/libpam-tacplus/0001-Remove-conflicting-man-flag.patch @@ -0,0 +1,23 @@ +From 104044848ffb0a283e1f1bf3466693fa4af450e9 Mon Sep 17 00:00:00 2001 +From: Pawel Krawczyk +Date: Mon, 7 Nov 2022 22:10:52 +0000 +Subject: [PATCH] Remove conflicting man flag + +Upstream: https://github.com/kravietz/pam_tacplus/commit/104044848ffb0a283e1f1bf3466693fa4af450e9 +Signed-off-by: Fabrice Fontaine +--- + Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index a481d7a..ef2b92b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -15,7 +15,6 @@ bin_PROGRAMS = tacc + tacc_SOURCES = tacc.c + tacc_LDADD = libtac.la $(LTLIBINTL) $(LIB_CRYPTO) $(LIB_GETRANDOM) + tacc_CFLAGS = $(AM_CFLAGS) -I $(top_srcdir)/libtac/include @rt_debug_defines@ -I $(top_srcdir)/lib +-dist_man_MANS = tacc.1 + man1_MANS = tacc.1 + + lib_LTLIBRARIES = libtac.la diff --git a/package/libpam-tacplus/0002-fix-disable-werror.patch b/package/libpam-tacplus/0002-fix-disable-werror.patch new file mode 100644 index 0000000000..0f42fafc64 --- /dev/null +++ b/package/libpam-tacplus/0002-fix-disable-werror.patch @@ -0,0 +1,62 @@ +From d6c6f043a08483b32bddcbc8cadec1d8edbe092d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 6 Nov 2023 18:09:20 +0100 +Subject: [PATCH] fix --disable-werror + +-Werror is unconditionally set since version 1.6.2 and +https://github.com/kravietz/pam_tacplus/commit/649e6f2efb2f3278c55d4c9704bb48cb9f74cb73 +resulting in the following build failure: + +In file included from /home/thomas/autobuild/instance-0/output-1/host/mips-buildroot-linux-gnu/sysroot/usr/include/bits/libc-header-start.h:33, + from /home/thomas/autobuild/instance-0/output-1/host/mips-buildroot-linux-gnu/sysroot/usr/include/stdlib.h:26, + from ./lib/stdlib.h:36, + from ./libtac/include/libtac.h:35, + from support.h:25, + from support.c:28: +/home/thomas/autobuild/instance-0/output-1/host/mips-buildroot-linux-gnu/sysroot/usr/include/features.h:413:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp] + 413 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O) + | ^~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/9b5ece5d01eac8a760ed9ca331a902d1c47387a7 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/kravietz/pam_tacplus/pull/204 +--- + Makefile.am | 6 +++++- + configure.ac | 2 +- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 04417e7..1255a9b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -9,7 +9,11 @@ + ACLOCAL_AMFLAGS = -I config -I m4 + SUBDIRS = lib + AUTOMAKE_OPTIONS = subdir-objects +-AM_CFLAGS = -Wall -Wextra -Werror ++AM_CFLAGS = -Wall -Wextra ++ ++if ENABLE_WERROR ++AM_CFLAGS += -Werror ++endif + + bin_PROGRAMS = tacc + tacc_SOURCES = tacc.c +diff --git a/configure.ac b/configure.ac +index 6914561..5cadca2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -16,7 +16,7 @@ See the included file: LICENSE for copyright information. + ]) + AC_INIT([pam_tacplus],[1.7.0],[https://github.com/kravietz/pam_tacplus/issues/],[pam_tacplus],[https://github.com/kravietz/pam_tacplus/]) + AC_CONFIG_AUX_DIR(config) +-AM_INIT_AUTOMAKE([foreign -Wall -Werror]) ++AM_INIT_AUTOMAKE([foreign -Wall]) + AC_CONFIG_SRCDIR([pam_tacplus.c]) + AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_MACRO_DIR([config]) +-- +2.42.0 + diff --git a/package/libpam-tacplus/Config.in b/package/libpam-tacplus/Config.in index 2d80809d3b..97e54a8f1b 100644 --- a/package/libpam-tacplus/Config.in +++ b/package/libpam-tacplus/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LIBPAM_TACPLUS management) and accounting (session management)performed using TACACS+ protocol designed by Cisco. - https://github.com/jeroennijhof/pam_tacplus + https://github.com/kravietz/pam_tacplus diff --git a/package/libpam-tacplus/libpam-tacplus.hash b/package/libpam-tacplus/libpam-tacplus.hash index 084a3e54a4..fc1db9fef7 100644 --- a/package/libpam-tacplus/libpam-tacplus.hash +++ b/package/libpam-tacplus/libpam-tacplus.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 73961800dc0d5e422751ad4c9f09b1863ab33e381e0bdb2a1d0343dcfc30e44e libpam-tacplus-1.6.1.tar.gz +sha256 cf00e27b687c1fafe4b2cf35e648116e99e9c9832718a0d3b479bcf43370adf4 pam_tacplus-1.7.0.tar.gz sha256 b2b961f07e97c4fb78074276da304ea36b85dc299aae5efb79080cedaea3d5ac COPYING diff --git a/package/libpam-tacplus/libpam-tacplus.mk b/package/libpam-tacplus/libpam-tacplus.mk index ff0dce9c0b..df4d62a0b8 100644 --- a/package/libpam-tacplus/libpam-tacplus.mk +++ b/package/libpam-tacplus/libpam-tacplus.mk @@ -4,8 +4,9 @@ # ################################################################################ -LIBPAM_TACPLUS_VERSION = 1.6.1 -LIBPAM_TACPLUS_SITE = $(call github,jeroennijhof,pam_tacplus,v$(LIBPAM_TACPLUS_VERSION)) +LIBPAM_TACPLUS_VERSION = 1.7.0 +LIBPAM_TACPLUS_SOURCE = pam_tacplus-$(LIBPAM_TACPLUS_VERSION).tar.gz +LIBPAM_TACPLUS_SITE = https://github.com/kravietz/pam_tacplus/releases/download/v$(LIBPAM_TACPLUS_VERSION) LIBPAM_TACPLUS_LICENSE = GPL-2.0+ LIBPAM_TACPLUS_LICENSE_FILES = COPYING LIBPAM_TACPLUS_CPE_ID_VENDOR = pam_tacplus_project @@ -13,12 +14,9 @@ LIBPAM_TACPLUS_CPE_ID_PRODUCT = pam_tacplus LIBPAM_TACPLUS_DEPENDENCIES = \ linux-pam \ $(if $(BR2_PACKAGE_OPENSSL),openssl) -# Fetching from github, we need to generate the configure script -# 0001-Add-an-option-to-disable-Werror.patch +# We're patching Makefile.am LIBPAM_TACPLUS_AUTORECONF = YES LIBPAM_TACPLUS_INSTALL_STAGING = YES -LIBPAM_TACPLUS_CONF_ENV = \ - ax_cv_check_cflags___fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) -LIBPAM_TACPLUS_CONF_OPTS = --disable-werror +LIBPAM_TACPLUS_CONF_OPTS = --disable-am-ldcflags --disable-werror $(eval $(autotools-package)) diff --git a/package/libpfm4/libpfm4.hash b/package/libpfm4/libpfm4.hash index 42740adb1e..80dc66c62e 100644 --- a/package/libpfm4/libpfm4.hash +++ b/package/libpfm4/libpfm4.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/perfmon2/files/libpfm4/: -sha1 4c61cfb489426d9fff15428cb8536ba0e391c8ac libpfm-4.12.0.tar.gz -md5 9e4f9b89d23171eb9314a948a51b4284 libpfm-4.12.0.tar.gz +sha1 bcb52090f02bc7bcb5ac066494cd55bbd5084e65 libpfm-4.13.0.tar.gz +md5 673aaf0613f8fd1d886b4c5867c2fef1 libpfm-4.13.0.tar.gz # Locally calculated -sha256 4b0c1f53f39a61525b69bebf532c68040c1b984d7544a8ae0844b13cd91e1ee4 libpfm-4.12.0.tar.gz +sha256 d18b97764c755528c1051d376e33545d0eb60c6ebf85680436813fa5b04cc3d1 libpfm-4.13.0.tar.gz sha256 beef323d68fc5db9c67b20e8e9de7ccde371d20cdbcdd686804055b18b926d90 COPYING diff --git a/package/libpfm4/libpfm4.mk b/package/libpfm4/libpfm4.mk index 7165d78cd9..1a18a31ce8 100644 --- a/package/libpfm4/libpfm4.mk +++ b/package/libpfm4/libpfm4.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPFM4_VERSION = 4.12.0 +LIBPFM4_VERSION = 4.13.0 LIBPFM4_SOURCE = libpfm-$(LIBPFM4_VERSION).tar.gz LIBPFM4_SITE = http://downloads.sourceforge.net/project/perfmon2/libpfm4 LIBPFM4_LICENSE = libpfm4 license diff --git a/package/libpjsip/libpjsip.hash b/package/libpjsip/libpjsip.hash index 2edd97bed4..d72e1090e3 100644 --- a/package/libpjsip/libpjsip.hash +++ b/package/libpjsip/libpjsip.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 32a5ab5bfbb9752cb6a46627e4c410e61939c8dbbd833ac858473cfbd9fb9d7d pjproject-2.13.1.tar.gz +sha256 5805c1171acab4af9684d7ad096dcb92f71fc42809852144e97e1413468c9981 pjproject-2.14.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk index f97d547fd7..8169e0dcee 100644 --- a/package/libpjsip/libpjsip.mk +++ b/package/libpjsip/libpjsip.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPJSIP_VERSION = 2.13.1 +LIBPJSIP_VERSION = 2.14 LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.gz LIBPJSIP_SITE = $(call github,pjsip,pjproject,$(LIBPJSIP_VERSION)) diff --git a/package/libpng/0001-Disable-pngfix-and-png-fix-itxt.patch b/package/libpng/0001-Disable-pngfix-and-png-fix-itxt.patch deleted file mode 100644 index d16bdb2b11..0000000000 --- a/package/libpng/0001-Disable-pngfix-and-png-fix-itxt.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 60c3ee917c8e7a4760b1ef7c3dc2b44a615150d3 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 26 May 2016 16:26:18 -0300 -Subject: [PATCH] Disable pngfix and png-fix-itxt - -Disable the new pngfix and png-fix-itxt tools: they take up space, fail -to build on some oddball toolchain configurations and aren't -expected/needed in a non-interactive embedded system. - -[Julien: update for 1.6.25] -Signed-off-by: Julien Boibessot - -Signed-off-by: Gustavo Zacarias ---- - Makefile.am | 2 +- - Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 7212951..3430dca 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -18,7 +18,7 @@ check_PROGRAMS += timepng - endif - - # Utilities - installed --bin_PROGRAMS= pngfix png-fix-itxt -+bin_PROGRAMS= - - # This ensures that pnglibconf.h gets built at the start of 'make all' or - # 'make check', but it does not add dependencies to the individual programs, -diff --git a/Makefile.in b/Makefile.in -index a66f6aa..4e67782 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -104,7 +104,7 @@ check_PROGRAMS = pngtest$(EXEEXT) pngunknown$(EXEEXT) \ - pngstest$(EXEEXT) pngvalid$(EXEEXT) pngimage$(EXEEXT) \ - pngcp$(EXEEXT) $(am__EXEEXT_1) - @HAVE_CLOCK_GETTIME_TRUE@am__append_1 = timepng --bin_PROGRAMS = pngfix$(EXEEXT) png-fix-itxt$(EXEEXT) -+bin_PROGRAMS = - @PNG_ARM_NEON_TRUE@am__append_2 = arm/arm_init.c\ - @PNG_ARM_NEON_TRUE@ arm/filter_neon.S arm/filter_neon_intrinsics.c \ - @PNG_ARM_NEON_TRUE@ arm/palette_neon_intrinsics.c --- -2.7.3 - diff --git a/package/libpng/libpng.hash b/package/libpng/libpng.hash index d864850b06..fbae14c51d 100644 --- a/package/libpng/libpng.hash +++ b/package/libpng/libpng.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/p/png-mng/mailman/message/37860896/ -sha256 535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1 libpng-1.6.40.tar.xz +# From https://sourceforge.net/p/png-mng/mailman/message/58731120/ +sha256 c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450 libpng-1.6.42.tar.xz # Locally computed: -sha256 5c0bb4b05b1354ae7c173532b6702ea68b611047ff9b91c4d3af77da39c195d9 LICENSE +sha256 7317e078e2d3b5d7ba5a6159e650945153262b44b76f6700f8e9edb261c5143e LICENSE diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index b7bacd9217..c4da9f89c7 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPNG_VERSION = 1.6.40 +LIBPNG_VERSION = 1.6.42 LIBPNG_SERIES = 16 LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng$(LIBPNG_SERIES)/$(LIBPNG_VERSION) @@ -15,6 +15,7 @@ LIBPNG_INSTALL_STAGING = YES LIBPNG_DEPENDENCIES = host-pkgconf zlib HOST_LIBPNG_DEPENDENCIES = host-pkgconf host-zlib LIBPNG_CONFIG_SCRIPTS = libpng$(LIBPNG_SERIES)-config libpng-config +LIBPNG_CONF_OPTS = --disable-tools ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_aarch64),y) LIBPNG_CONF_OPTS += --enable-arm-neon diff --git a/package/libpsl/libpsl.hash b/package/libpsl/libpsl.hash index a35a609ff2..caf760c496 100644 --- a/package/libpsl/libpsl.hash +++ b/package/libpsl/libpsl.hash @@ -1,6 +1,6 @@ # Locally generated -sha256 e35991b6e17001afa2c0ca3b10c357650602b92596209b7492802f3768a6285f libpsl-0.21.2.tar.gz +sha256 1dcc9ceae8b128f3c0b3f654decd0e1e891afc6ff81098f227ef260449dae208 libpsl-0.21.5.tar.gz # Hashes for license files: -sha256 776cd11d54f0ea3e5efdd25ff1a0d952a1744215bb5858ea7aeb91808e70c9f7 COPYING +sha256 322392e6001b2b3b0fca705dc9f11f26e12441188ecde50eb1d22909980b2925 COPYING sha256 1d7f52747a9169751cdf2641a8299c0098e9ecdf9429296ffd55bdb14c9ed5b3 src/LICENSE.chromium diff --git a/package/libpsl/libpsl.mk b/package/libpsl/libpsl.mk index ef3c524b4f..d1a12f864c 100644 --- a/package/libpsl/libpsl.mk +++ b/package/libpsl/libpsl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPSL_VERSION = 0.21.2 +LIBPSL_VERSION = 0.21.5 LIBPSL_SITE = https://github.com/rockdaboot/libpsl/releases/download/$(LIBPSL_VERSION) LIBPSL_LICENSE = MIT, BSD-3-Clause LIBPSL_LICENSE_FILES = COPYING src/LICENSE.chromium diff --git a/package/libpthsem/0002-acinclude.m4-fix-build-with-autoconf-2.72.patch b/package/libpthsem/0002-acinclude.m4-fix-build-with-autoconf-2.72.patch new file mode 100644 index 0000000000..0c66482c3a --- /dev/null +++ b/package/libpthsem/0002-acinclude.m4-fix-build-with-autoconf-2.72.patch @@ -0,0 +1,36 @@ +From 3ec1a1c22142c547bc7f44622291bf0abdc322f1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 25 Feb 2024 14:33:02 +0100 +Subject: [PATCH] acinclude.m4: fix build with autoconf >= 2.72 + +Move fi statement where it belongs to fix the following build failure +with autoconf >= 2.72: + +checking for stack setup via makecontext... ./configure: line 15863: syntax error near unexpected token `;;' + +Fixes: + - http://autobuild.buildroot.org/results/013e0d3f72582ce3675f65786c014518682d703b + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/linknx/pthsem/pull/1 +--- + acinclude.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 03b42de..d74889f 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -1426,8 +1426,8 @@ ac_cv_stacksetup_$1='guessed:(skaddr),(sksize)' + ]) + dnl # restore original compile environment + CFLAGS="$OCFLAGS" +-])dnl + fi ++])dnl + dnl # extract result ingredients of single cached result value + type=`echo $ac_cv_stacksetup_$1 | sed -e 's;:.*$;;'` + addr=`echo $ac_cv_stacksetup_$1 | sed -e 's;^.*:;;' -e 's;,.*$;;'` +-- +2.43.0 + diff --git a/package/libpwquality/0001-Use-setuptools-instead-of-distutils.patch b/package/libpwquality/0001-Use-setuptools-instead-of-distutils.patch new file mode 100644 index 0000000000..4d4e4c8f54 --- /dev/null +++ b/package/libpwquality/0001-Use-setuptools-instead-of-distutils.patch @@ -0,0 +1,78 @@ +From 7b5e0f0097faebdcc6a8b783237bbba7a983147a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Fri, 31 Mar 2023 14:52:19 +0200 +Subject: [PATCH] Use setuptools instead of distutils + +distutils is removed from Python 3.12+: +https://peps.python.org/pep-0632/ + +Upstream: https://github.com/libpwquality/libpwquality/commit/7b5e0f0097faebdcc6a8b783237bbba7a983147a +Signed-off-by: Fabrice Fontaine +--- + libpwquality.spec.in | 11 ++--------- + python/Makefile.am | 2 +- + python/setup.py.in | 6 +++--- + 3 files changed, 6 insertions(+), 13 deletions(-) + +diff --git a/libpwquality.spec.in b/libpwquality.spec.in +index 70a6f53..0809126 100644 +--- a/libpwquality.spec.in ++++ b/libpwquality.spec.in +@@ -33,9 +33,11 @@ BuildRequires: gettext + BuildRequires: pam-devel + %if %{with python2} + BuildRequires: python2-devel ++BuildRequires: python2-setuptools + %endif + %if %{with python3} + BuildRequires: python3-devel ++BuildRequires: python3-setuptools + %endif + + URL: https://github.com/libpwquality/libpwquality/ +@@ -103,15 +105,6 @@ cp -a . %{py3dir} + pushd %{py3dir} + %endif + %if %{with python3} +-# setuptools >= 60 changes the environment to use its bundled copy of distutils +-# by default, not the Python-bundled one. To run the Python's standard library +-# distutils, the environment variable must be set. +-# Although technically setuptools is not needed for this package, if it's +-# pulled by another package, it changes the environment and consequently, +-# the build fails. This was reported in: +-# https://github.com/pypa/setuptools/issues/3143 +-export SETUPTOOLS_USE_DISTUTILS=stdlib +- + %configure \ + --with-securedir=%{_moduledir} \ + --with-pythonsitedir=%{python3_sitearch} \ +diff --git a/python/Makefile.am b/python/Makefile.am +index 1d00c0c..6e51744 100644 +--- a/python/Makefile.am ++++ b/python/Makefile.am +@@ -14,7 +14,7 @@ all-local: + CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) + + install-exec-local: +- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix} ++ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --root ${DESTDIR} --prefix=${prefix} + + clean-local: + rm -rf py$(PYTHONREV) +diff --git a/python/setup.py.in b/python/setup.py.in +index a741b91..f934c50 100755 +--- a/python/setup.py.in ++++ b/python/setup.py.in +@@ -6,9 +6,9 @@ + + import os + +-from distutils.core import setup, Extension +-from distutils.command.build_ext import build_ext as _build_ext +-from distutils.command.sdist import sdist as _sdist ++from setuptools import setup, Extension ++from setuptools.command.build_ext import build_ext as _build_ext ++from setuptools.command.sdist import sdist as _sdist + + def genconstants(headerfile, outputfile): + hf = open(headerfile, 'r') diff --git a/package/libpwquality/libpwquality.mk b/package/libpwquality/libpwquality.mk index ae6babbcae..f12e583b2d 100644 --- a/package/libpwquality/libpwquality.mk +++ b/package/libpwquality/libpwquality.mk @@ -11,11 +11,13 @@ LIBPWQUALITY_LICENSE = BSD-3-Clause or GPL-2.0+ LIBPWQUALITY_INSTALL_STAGING = YES LIBPWQUALITY_DEPENDENCIES = cracklib LIBPWQUALITY_LICENSE_FILES = COPYING +# We're patching python/Makefile.am +LIBPWQUALITY_AUTORECONF = YES ifeq ($(BR2_PACKAGE_PYTHON3),y) LIBPWQUALITY_CONF_OPTS += --enable-python-bindings -LIBPWQUALITY_DEPENDENCIES += python3 -LIBPWQUALITY_MAKE_ENV += $(PKG_PYTHON_DISTUTILS_ENV) +LIBPWQUALITY_DEPENDENCIES += python3 host-python-setuptools +LIBPWQUALITY_MAKE_ENV += $(PKG_PYTHON_SETUPTOOLS_ENV) else LIBPWQUALITY_CONF_OPTS += --disable-python-bindings endif diff --git a/package/libqmi/libqmi.mk b/package/libqmi/libqmi.mk index c3db50a92c..eae41446e2 100644 --- a/package/libqmi/libqmi.mk +++ b/package/libqmi/libqmi.mk @@ -8,7 +8,7 @@ LIBQMI_VERSION = 1.32.2 LIBQMI_SITE = https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/archive/$(LIBQMI_VERSION) LIBQMI_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) LIBQMI_LICENSE_FILES = COPYING COPYING.LIB -LIBQMI_CPE_ID_VENDOR = libqmi_project +LIBQMI_CPE_ID_VALID = YES LIBQMI_INSTALL_STAGING = YES LIBQMI_DEPENDENCIES = libglib2 diff --git a/package/libqrtr-glib/0001-src-libqrtr-lib-meson.build-fix-static-build.patch b/package/libqrtr-glib/0001-src-libqrtr-lib-meson.build-fix-static-build.patch new file mode 100644 index 0000000000..8c0db7bed5 --- /dev/null +++ b/package/libqrtr-glib/0001-src-libqrtr-lib-meson.build-fix-static-build.patch @@ -0,0 +1,36 @@ +From dd9d68259c1fb79bcf40fcdf6aa1e6026edec9b2 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 9 Feb 2024 21:16:39 +0100 +Subject: [PATCH] src/libqrtr-lib/meson.build: fix static build + +Replace shared_library by library to avoid the following static build +failure: + +[5/5] Linking target src/libqrtr-glib/libqrtr-glib.so.0.0.0 +FAILED: src/libqrtr-glib/libqrtr-glib.so.0.0.0 + +Fixes: + - http://autobuild.buildroot.org/results/e0442e97279a07f33a14ec52840f98b7ec0fe32d + +Signed-off-by: Fabrice Fontaine +Upstream: https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib/-/merge_requests/24 +--- + src/libqrtr-glib/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libqrtr-glib/meson.build b/src/libqrtr-glib/meson.build +index bbdd869..0cddcc7 100644 +--- a/src/libqrtr-glib/meson.build ++++ b/src/libqrtr-glib/meson.build +@@ -39,7 +39,7 @@ c_flags = [ + '-DLIBEXEC_PATH="@0@"'.format(qrtr_prefix / qrtr_libexecdir), + ] + +-libqrtr_glib = shared_library( ++libqrtr_glib = library( + libname, + version: qrtr_glib_version, + sources: sources + [version_header], +-- +2.43.0 + diff --git a/package/libqrtr-glib/libqrtr-glib.hash b/package/libqrtr-glib/libqrtr-glib.hash index e00dd0cb94..38543f7de9 100644 --- a/package/libqrtr-glib/libqrtr-glib.hash +++ b/package/libqrtr-glib/libqrtr-glib.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 30d879b2ade6f8f461def3a677755db5c0238babf688d5c83c03b3e6abe35cee libqrtr-glib-1.0.0.tar.xz +sha256 c5cdf5ea91cbd2cf2758b2896064c7b1dfe7156063267df905f957ac69b6b763 libqrtr-glib-1.2.2.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1-or-later.txt diff --git a/package/libqrtr-glib/libqrtr-glib.mk b/package/libqrtr-glib/libqrtr-glib.mk index 6ab8335417..c3df76dc84 100644 --- a/package/libqrtr-glib/libqrtr-glib.mk +++ b/package/libqrtr-glib/libqrtr-glib.mk @@ -4,19 +4,21 @@ # ################################################################################ -LIBQRTR_GLIB_VERSION = 1.0.0 -LIBQRTR_GLIB_SITE = http://www.freedesktop.org/software/libqmi -LIBQRTR_GLIB_SOURCE = libqrtr-glib-$(LIBQRTR_GLIB_VERSION).tar.xz +LIBQRTR_GLIB_VERSION = 1.2.2 +LIBQRTR_GLIB_SITE = https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib/-/archive/$(LIBQRTR_GLIB_VERSION) LIBQRTR_GLIB_LICENSE = LGPL-2.1+ -LIBQRTR_GLIB_LICENSE_FILES = COPYING.LIB +LIBQRTR_GLIB_LICENSE_FILES = LICENSES/LGPL-2.1-or-later.txt LIBQRTR_GLIB_INSTALL_STAGING = YES LIBQRTR_GLIB_DEPENDENCIES = libglib2 ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -LIBQRTR_GLIB_CONF_OPTS += --enable-introspection +LIBQRTR_GLIB_CONF_OPTS += -Dintrospection=true LIBQRTR_GLIB_DEPENDENCIES += gobject-introspection else -LIBQRTR_GLIB_CONF_OPTS += --disable-introspection +LIBQRTR_GLIB_CONF_OPTS += -Dintrospection=false endif -$(eval $(autotools-package)) +# disable gtkdocize +LIBQRTR_GLIB_CONF_OPTS += -Dgtk_doc=false + +$(eval $(meson-package)) diff --git a/package/libraw/0001-do-not-set-shrink-flag-for-3-4-component-images.patch b/package/libraw/0001-do-not-set-shrink-flag-for-3-4-component-images.patch deleted file mode 100644 index ef93e0901b..0000000000 --- a/package/libraw/0001-do-not-set-shrink-flag-for-3-4-component-images.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 477e0719ffc07190c89b4f3d12d51b1292e75828 Mon Sep 17 00:00:00 2001 -From: Alex Tutubalin -Date: Sat, 14 Jan 2023 18:32:59 +0300 -Subject: [PATCH] do not set shrink flag for 3/4 component images - -Signed-off-by: Fabrice Fontaine -Upstream: https://github.com/LibRaw/LibRaw/commit/477e0719ffc07190c89b4f3d12d51b1292e75828 ---- - src/preprocessing/raw2image.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/preprocessing/raw2image.cpp b/src/preprocessing/raw2image.cpp -index e65e2ad7..702cf290 100644 ---- a/src/preprocessing/raw2image.cpp -+++ b/src/preprocessing/raw2image.cpp -@@ -43,6 +43,8 @@ void LibRaw::raw2image_start() - - // adjust for half mode! - IO.shrink = -+ !imgdata.rawdata.color4_image && !imgdata.rawdata.color3_image && -+ !imgdata.rawdata.float4_image && !imgdata.rawdata.float3_image && - P1.filters && - (O.half_size || ((O.threshold || O.aber[0] != 1 || O.aber[2] != 1))); - diff --git a/package/libraw/libraw.hash b/package/libraw/libraw.hash index 58bb1b4753..838c598d78 100644 --- a/package/libraw/libraw.hash +++ b/package/libraw/libraw.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 630a6bcf5e65d1b1b40cdb8608bdb922316759bfb981c65091fec8682d1543cd LibRaw-0.21.1.tar.gz +sha256 fe7288013206854baf6e4417d0fb63ba4ed7227bf36fff021992671c2dd34b03 LibRaw-0.21.2.tar.gz sha256 eea173a556abac0370461e57e12aab266894ea6be3874c2be05fd87871f75449 LICENSE.LGPL sha256 0e3098d2d54a12434715f6679ea408d57da5e8d613c385c58ecc6fe5d30cc81f LICENSE.CDDL sha256 7d6650cef6cf892abe95e55a6bda1e1c42f221fd411b807deb2fc0b805b868d4 README.md diff --git a/package/libraw/libraw.mk b/package/libraw/libraw.mk index 63b50e340d..211b67f935 100644 --- a/package/libraw/libraw.mk +++ b/package/libraw/libraw.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRAW_VERSION = 0.21.1 +LIBRAW_VERSION = 0.21.2 LIBRAW_SOURCE = LibRaw-$(LIBRAW_VERSION).tar.gz LIBRAW_SITE = http://www.libraw.org/data LIBRAW_INSTALL_STAGING = YES @@ -18,9 +18,6 @@ LIBRAW_DEPENDENCIES = host-pkgconf LIBRAW_CXXFLAGS = $(TARGET_CXXFLAGS) LIBRAW_CONF_ENV = CXXFLAGS="$(LIBRAW_CXXFLAGS)" -# 0001-do-not-set-shrink-flag-for-3-4-component-images.patch -LIBRAW_IGNORE_CVES += CVE-2023-1729 - ifeq ($(BR2_PACKAGE_JASPER),y) LIBRAW_CONF_OPTS += --enable-jasper LIBRAW_DEPENDENCIES += jasper diff --git a/package/librelp/librelp.hash b/package/librelp/librelp.hash index 23ce8c15f8..8dcc502583 100644 --- a/package/librelp/librelp.hash +++ b/package/librelp/librelp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 148db4e4d1a23e8136e9ec08810929a55faf5d45e24c2e3186d5ab34355dab31 librelp-1.10.0.tar.gz +sha256 7719b5f31e07cbb9872289ad32b787c613b5355d407982a0a2c4d69938457fd6 librelp-1.11.0.tar.gz sha256 1ed76f935566e93e3c3c0d9f8fad22eb6d8bbe406e2eb8470a4a2764d9fd9685 COPYING diff --git a/package/librelp/librelp.mk b/package/librelp/librelp.mk index f8bbdb131c..cf2e391f34 100644 --- a/package/librelp/librelp.mk +++ b/package/librelp/librelp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRELP_VERSION = 1.10.0 +LIBRELP_VERSION = 1.11.0 LIBRELP_SITE = http://download.rsyslog.com/librelp LIBRELP_LICENSE = GPL-3.0+ LIBRELP_LICENSE_FILES = COPYING diff --git a/package/libreplaygain/libreplaygain.mk b/package/libreplaygain/libreplaygain.mk index ff0950c43d..129eb90d5f 100644 --- a/package/libreplaygain/libreplaygain.mk +++ b/package/libreplaygain/libreplaygain.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBREPLAYGAIN_VERSION = r475 +LIBREPLAYGAIN_VERSION = 475 LIBREPLAYGAIN_SITE = http://files.musepack.net/source -LIBREPLAYGAIN_SOURCE = libreplaygain_$(LIBREPLAYGAIN_VERSION).tar.gz +LIBREPLAYGAIN_SOURCE = libreplaygain_r$(LIBREPLAYGAIN_VERSION).tar.gz # upstream doesn't ship configure LIBREPLAYGAIN_AUTORECONF = YES LIBREPLAYGAIN_INSTALL_STAGING = YES diff --git a/package/libressl/0002-Fix-a-few-symbols-in-EXTRA_EXPORT.patch b/package/libressl/0002-Fix-a-few-symbols-in-EXTRA_EXPORT.patch new file mode 100644 index 0000000000..411132ff20 --- /dev/null +++ b/package/libressl/0002-Fix-a-few-symbols-in-EXTRA_EXPORT.patch @@ -0,0 +1,133 @@ +From c54bd8ba318dec4b4fbf4df1d92acbe2c032f3fd Mon Sep 17 00:00:00 2001 +From: Theo Buehler +Date: Mon, 11 Dec 2023 17:56:33 +0100 +Subject: [PATCH] Fix a few symbols in EXTRA_EXPORT + +I thought we stopped doing this, but that's for a separate thread. + +Upstream: https://github.com/libressl/portable/commit/c54bd8ba318dec4b4fbf4df1d92acbe2c032f3fd +Signed-off-by: Fabrice Fontaine +--- + crypto/CMakeLists.txt | 37 +++++++++++++++++++------------------ + 1 file changed, 19 insertions(+), 18 deletions(-) + +diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt +index 605647151..8046efe87 100644 +--- a/crypto/CMakeLists.txt ++++ b/crypto/CMakeLists.txt +@@ -767,13 +767,13 @@ endif() + + if(NOT HAVE_ASPRINTF) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/bsd-asprintf.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} asprintf) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} vasprintf) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_asprintf) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_vasprintf) + endif() + + if(NOT HAVE_FREEZERO) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/freezero.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} freezero) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_freezero) + endif() + + if(NOT HAVE_GETOPT) +@@ -799,46 +799,46 @@ endif() + + if(NOT HAVE_REALLOCARRAY) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/reallocarray.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} reallocarray) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_reallocarray) + endif() + + if(NOT HAVE_RECALLOCARRAY) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/recallocarray.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} recallocarray) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_recallocarray) + endif() + + if(NOT HAVE_STRCASECMP) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/strcasecmp.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} strcasecmp) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strcasecmp) + endif() + + if(NOT HAVE_STRLCAT) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/strlcat.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} strlcat) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strlcat) + endif() + + if(NOT HAVE_STRLCPY) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/strlcpy.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} strlcpy) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strlcpy) + endif() + + if(NOT HAVE_STRNDUP) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/strndup.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} strndup) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strndup) + if(NOT HAVE_STRNLEN) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/strnlen.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} strnlen) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strnlen) + endif() + endif() + + if(NOT HAVE_STRSEP) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/strsep.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} strsep) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strsep) + endif() + + if(NOT HAVE_STRTONUM) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/strtonum.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} strtonum) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strtonum) + endif() + + if(NOT HAVE_SYSLOG_R) +@@ -857,15 +857,15 @@ if(NOT HAVE_EXPLICIT_BZERO) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/explicit_bzero.c) + set_source_files_properties(compat/explicit_bzero.c PROPERTIES COMPILE_FLAGS -O0) + endif() +- set(EXTRA_EXPORT ${EXTRA_EXPORT} explicit_bzero) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_explicit_bzero) + endif() + + if(NOT HAVE_ARC4RANDOM_BUF) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/arc4random.c) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/arc4random_uniform.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} arc4random) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} arc4random_buf) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} arc4random_uniform) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_arc4random) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_arc4random_buf) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_arc4random_uniform) + + if(NOT HAVE_GETENTROPY) + if(WIN32) +@@ -891,12 +891,12 @@ endif() + + if(NOT HAVE_TIMINGSAFE_BCMP) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/timingsafe_bcmp.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} timingsafe_bcmp) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_timingsafe_bcmp) + endif() + + if(NOT HAVE_TIMINGSAFE_MEMCMP) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/timingsafe_memcmp.c) +- set(EXTRA_EXPORT ${EXTRA_EXPORT} timingsafe_memcmp) ++ set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_timingsafe_memcmp) + endif() + + if(NOT ENABLE_ASM) +@@ -919,6 +919,7 @@ foreach(SYM IN LISTS CRYPTO_UNEXPORT) + string(REPLACE "${SYM}\n" "" SYMS ${SYMS}) + endforeach() + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym ${SYMS}) ++# XXX should we still be doing this? + if(EXTRA_EXPORT) + list(SORT EXTRA_EXPORT) + foreach(SYM IN LISTS EXTRA_EXPORT) diff --git a/package/libressl/0003-Prefix-some-compat-symbols-with-libressl_.patch b/package/libressl/0003-Prefix-some-compat-symbols-with-libressl_.patch new file mode 100644 index 0000000000..42fbbe9069 --- /dev/null +++ b/package/libressl/0003-Prefix-some-compat-symbols-with-libressl_.patch @@ -0,0 +1,130 @@ +From 0a446e81ed77c20aa87563d45ef0ef8f5fa283d8 Mon Sep 17 00:00:00 2001 +From: Theo Buehler +Date: Sat, 18 Nov 2023 10:53:09 +0100 +Subject: [PATCH] Prefix some compat symbols with libressl_ + +See #928. This isn't a full fix, but should remove much of the friction +already. + +Upstream: https://github.com/libressl/portable/pull/961/commits/0a446e81ed77c20aa87563d45ef0ef8f5fa283d8 +Signed-off-by: Fabrice Fontaine +--- + include/compat/stdio.h | 2 ++ + include/compat/stdlib.h | 10 ++++++++++ + include/compat/string.h | 11 +++++++++++ + 3 files changed, 23 insertions(+) + +diff --git a/include/compat/stdio.h b/include/compat/stdio.h +index d5725c9ac9..4ddd63aee1 100644 +--- a/include/compat/stdio.h ++++ b/include/compat/stdio.h +@@ -20,7 +20,9 @@ + + #ifndef HAVE_ASPRINTF + #include ++#define vasprintf libressl_vasprintf + int vasprintf(char **str, const char *fmt, va_list ap); ++#define asprintf libressl_asprintf + int asprintf(char **str, const char *fmt, ...); + #endif + +diff --git a/include/compat/stdlib.h b/include/compat/stdlib.h +index 2eaea244c0..76dc07c35a 100644 +--- a/include/compat/stdlib.h ++++ b/include/compat/stdlib.h +@@ -20,26 +20,36 @@ + #include + + #ifndef HAVE_ARC4RANDOM_BUF ++#define arc4random libressl_arc4random + uint32_t arc4random(void); ++#define arc4random_buf libressl_arc4random_buf + void arc4random_buf(void *_buf, size_t n); ++#define arc4random_uniform libressl_arc4random_uniform + uint32_t arc4random_uniform(uint32_t upper_bound); + #endif + + #ifndef HAVE_FREEZERO ++#define freezero libressl_freezero + void freezero(void *ptr, size_t sz); + #endif + + #ifndef HAVE_GETPROGNAME ++#define getprogname libressl_getprogname + const char * getprogname(void); + #endif + ++#ifndef HAVE_REALLOCARRAY ++#define reallocarray libressl_reallocarray + void *reallocarray(void *, size_t, size_t); ++#endif + + #ifndef HAVE_RECALLOCARRAY ++#define recallocarray libressl_recallocarray + void *recallocarray(void *, size_t, size_t, size_t); + #endif + + #ifndef HAVE_STRTONUM ++#define strtonum libressl_strtonum + long long strtonum(const char *nptr, long long minval, + long long maxval, const char **errstr); + #endif +diff --git a/include/compat/string.h b/include/compat/string.h +index 4bf7519b5b..6a82793f62 100644 +--- a/include/compat/string.h ++++ b/include/compat/string.h +@@ -27,43 +27,54 @@ + #endif + + #ifndef HAVE_STRCASECMP ++#define strcasecmp libressl_strcasecmp + int strcasecmp(const char *s1, const char *s2); ++#define strncasecmp libressl_strncasecmp + int strncasecmp(const char *s1, const char *s2, size_t len); + #endif + + #ifndef HAVE_STRLCPY ++#define strlcpy libressl_strlcpy + size_t strlcpy(char *dst, const char *src, size_t siz); + #endif + + #ifndef HAVE_STRLCAT ++#define strlcat libressl_strlcat + size_t strlcat(char *dst, const char *src, size_t siz); + #endif + + #ifndef HAVE_STRNDUP ++#define strndup libressl_strndup + char * strndup(const char *str, size_t maxlen); + /* the only user of strnlen is strndup, so only build it if needed */ + #ifndef HAVE_STRNLEN ++#define strnlen libressl_strnlen + size_t strnlen(const char *str, size_t maxlen); + #endif + #endif + + #ifndef HAVE_STRSEP ++#define strsep libressl_strsep + char *strsep(char **stringp, const char *delim); + #endif + + #ifndef HAVE_EXPLICIT_BZERO ++#define explicit_bzero libressl_explicit_bzero + void explicit_bzero(void *, size_t); + #endif + + #ifndef HAVE_TIMINGSAFE_BCMP ++#define timingsafe_bcmp libressl_timingsafe_bcmp + int timingsafe_bcmp(const void *b1, const void *b2, size_t n); + #endif + + #ifndef HAVE_TIMINGSAFE_MEMCMP ++#define timingsafe_memcmp libressl_timingsafe_memcmp + int timingsafe_memcmp(const void *b1, const void *b2, size_t len); + #endif + + #ifndef HAVE_MEMMEM ++#define memmem libressl_memmem + void * memmem(const void *big, size_t big_len, const void *little, + size_t little_len); + #endif diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash index 76a5acad6c..5d3b54ea9c 100644 --- a/package/libressl/libressl.hash +++ b/package/libressl/libressl.hash @@ -1,4 +1,4 @@ # From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256 -sha256 7948c856a90c825bd7268b6f85674a8dcd254bae42e221781b24e3f8dc335db3 libressl-3.7.3.tar.gz +sha256 c0cef9cfe174ac366ce482f542fddb07721e7fa0caface34b49a8720fa37fe7d libressl-3.8.4.tar.gz # Locally computed sha256 5c63613f008f16a9c0025c096bbd736cecf720494d121b5c5203e0ec6e5955b1 COPYING diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk index 1a63a0f348..1d90aa853d 100644 --- a/package/libressl/libressl.mk +++ b/package/libressl/libressl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRESSL_VERSION = 3.7.3 +LIBRESSL_VERSION = 3.8.4 LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL LIBRESSL_LICENSE = ISC (new additions), OpenSSL or SSLeay (original OpenSSL code) LIBRESSL_LICENSE_FILES = COPYING diff --git a/package/librsync/librsync.hash b/package/librsync/librsync.hash index c8ca61e516..7fc7395a49 100644 --- a/package/librsync/librsync.hash +++ b/package/librsync/librsync.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 ef8ce23df38d5076d25510baa2cabedffbe0af460d887d86c2413a1c2b0c676f librsync-2.3.2.tar.gz +sha256 a0dedf9fff66d8e29e7c25d23c1f42beda2089fb4eac1b36e6acd8a29edfbd1f librsync-2.3.4.tar.gz sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING diff --git a/package/librsync/librsync.mk b/package/librsync/librsync.mk index 97f5c607b0..26c003be21 100644 --- a/package/librsync/librsync.mk +++ b/package/librsync/librsync.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBRSYNC_VERSION = 2.3.2 +LIBRSYNC_VERSION = 2.3.4 LIBRSYNC_SITE = https://github.com/librsync/librsync/releases/download/v$(LIBRSYNC_VERSION) LIBRSYNC_LICENSE = LGPL-2.1+ LIBRSYNC_LICENSE_FILES = COPYING -LIBRSYNC_CPE_ID_VENDOR = librsync_project +LIBRSYNC_CPE_ID_VALID = YES LIBRSYNC_INSTALL_STAGING = YES LIBRSYNC_DEPENDENCIES = host-pkgconf zlib bzip2 popt diff --git a/package/librtas/0001-configure.ac-remove-LOCAL_CHECK_FLAGS.patch b/package/librtas/0001-configure.ac-remove-LOCAL_CHECK_FLAGS.patch deleted file mode 100644 index dd5f944317..0000000000 --- a/package/librtas/0001-configure.ac-remove-LOCAL_CHECK_FLAGS.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 148712f8a559cc613236e9e72b3ce6c24b83c373 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 23 Jul 2022 18:51:37 +0200 -Subject: [PATCH] configure.ac: remove LOCAL_CHECK_FLAGS - -These cause problems with Buildroot (the -fstack-protector-all check -does only a compile test, it should do a link test), and generally the -decision of using those flags or not should be left to Buildroot. - -An issue has been reported upstream at -https://github.com/ibm-power-utilities/librtas/issues/25 to hopefully -get a better solution. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 14 -------------- - 1 file changed, 14 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c3429e8..b7208ee 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -24,20 +24,6 @@ AC_TYPE_UID_T - AC_TYPE_UINT32_T - AC_TYPE_UINT64_T - --AC_DEFUN([LOCAL_CHECK_FLAGS],[ -- AC_REQUIRE([AX_CHECK_LINK_FLAG]) -- AC_REQUIRE([AX_APPEND_COMPILE_FLAGS]) -- AC_LANG_PUSH([C]) -- AX_APPEND_COMPILE_FLAGS([-Wall]) -- AX_APPEND_COMPILE_FLAGS([-D_FORTIFY_SOURCE=2 -fstack-protector-all]) -- AX_APPEND_COMPILE_FLAGS([-fwrapv -fPIE -Wstack-protector]) -- AX_APPEND_COMPILE_FLAGS([--param=ssp-buffer-size=1]) -- AX_CHECK_LINK_FLAG([-z relro -z now]) -- AX_CHECK_LINK_FLAG([-pie]) -- AC_LANG_POP --]) --LOCAL_CHECK_FLAGS -- - LT_INIT - LT_LANG([C]) - --- -2.37.1 - diff --git a/package/librtas/librtas.hash b/package/librtas/librtas.hash index 8d4c4e1912..6f8628cca8 100644 --- a/package/librtas/librtas.hash +++ b/package/librtas/librtas.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1b951422ec9553fa9d5e5e158fd8e298f867f561189fff6817a9540d5661f145 librtas-2.0.3.tar.gz +sha256 b4928b300350c12618563a051be01189275853fd8eacaac509c9aa1460991ec4 librtas-2.0.5.tar.gz sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING.LESSER diff --git a/package/librtas/librtas.mk b/package/librtas/librtas.mk index 458d7a0e47..804d6de191 100644 --- a/package/librtas/librtas.mk +++ b/package/librtas/librtas.mk @@ -4,12 +4,13 @@ # ################################################################################ -LIBRTAS_VERSION = 2.0.3 +LIBRTAS_VERSION = 2.0.5 LIBRTAS_SITE = $(call github,ibm-power-utilities,librtas,v$(LIBRTAS_VERSION)) LIBRTAS_LICENSE = LGPL-2.1+ LIBRTAS_LICENSE_FILES = COPYING.LESSER LIBRTAS_INSTALL_STAGING = YES # From git LIBRTAS_AUTORECONF = YES +LIBRTAS_DEPENDENCIES = host-pkgconf $(eval $(autotools-package)) diff --git a/package/libsamplerate/libsamplerate.mk b/package/libsamplerate/libsamplerate.mk index 2844fde33c..0ac3c42451 100644 --- a/package/libsamplerate/libsamplerate.mk +++ b/package/libsamplerate/libsamplerate.mk @@ -17,7 +17,7 @@ LIBSAMPLERATE_CONF_OPTS = \ --program-transform-name='' LIBSAMPLERATE_LICENSE = BSD-2-Clause LIBSAMPLERATE_LICENSE_FILES = COPYING -LIBSAMPLERATE_CPE_ID_VENDOR = libsamplerate_project +LIBSAMPLERATE_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_ALSA_LIB),y) LIBSAMPLERATE_DEPENDENCIES += alsa-lib diff --git a/package/libseccomp/libseccomp.hash b/package/libseccomp/libseccomp.hash index 8337f33f3e..b80efd68f5 100644 --- a/package/libseccomp/libseccomp.hash +++ b/package/libseccomp/libseccomp.hash @@ -1,4 +1,4 @@ -# From https://github.com/seccomp/libseccomp/releases/tag/v2.5.4 -sha256 d82902400405cf0068574ef3dc1fe5f5926207543ba1ae6f8e7a1576351dcbdb libseccomp-2.5.4.tar.gz +# From https://github.com/seccomp/libseccomp/releases/tag/v2.5.5 +sha256 248a2c8a4d9b9858aa6baf52712c34afefcf9c9e94b76dce02c1c9aa25fb3375 libseccomp-2.5.5.tar.gz # Locally calculated sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b LICENSE diff --git a/package/libseccomp/libseccomp.mk b/package/libseccomp/libseccomp.mk index 7d7f33618e..10d57bb78c 100644 --- a/package/libseccomp/libseccomp.mk +++ b/package/libseccomp/libseccomp.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBSECCOMP_VERSION = 2.5.4 +LIBSECCOMP_VERSION = 2.5.5 LIBSECCOMP_SITE = https://github.com/seccomp/libseccomp/releases/download/v$(LIBSECCOMP_VERSION) LIBSECCOMP_LICENSE = LGPL-2.1 LIBSECCOMP_LICENSE_FILES = LICENSE -LIBSECCOMP_CPE_ID_VENDOR = libseccomp_project +LIBSECCOMP_CPE_ID_VALID = YES LIBSECCOMP_INSTALL_STAGING = YES LIBSECCOMP_DEPENDENCIES = host-gperf diff --git a/package/libselinux/libselinux.mk b/package/libselinux/libselinux.mk index b8de21edaa..734084ba50 100644 --- a/package/libselinux/libselinux.mk +++ b/package/libselinux/libselinux.mk @@ -38,7 +38,7 @@ LIBSELINUX_DEPENDENCIES += \ host-swig LIBSELINUX_MAKE_OPTS += \ - $(PKG_PYTHON_DISTUTILS_ENV) \ + $(PKG_PYTHON_SETUPTOOLS_ENV) \ PYTHON=python$(PYTHON3_VERSION_MAJOR) LIBSELINUX_MAKE_INSTALL_TARGETS += install-pywrap @@ -52,14 +52,6 @@ define LIBSELINUX_BUILD_PYTHON_BINDINGS endef endif # python3 -# Filter out D_FILE_OFFSET_BITS=64. This fixes errors caused by glibc 2.22. We -# set CFLAGS, CPPFLAGS and LDFLAGS here because we want to win over the -# CFLAGS/CPPFLAGS/LDFLAGS definitions passed by $(PKG_PYTHON_DISTUTILS_ENV) -# when the python binding is enabled. -LIBSELINUX_MAKE_OPTS += \ - CFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))" \ - CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))" - define LIBSELINUX_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ $(LIBSELINUX_MAKE_OPTS) all @@ -93,7 +85,7 @@ HOST_LIBSELINUX_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ PREFIX=$(HOST_DIR) \ SHLIBDIR=$(HOST_DIR)/lib \ - $(HOST_PKG_PYTHON_DISTUTILS_ENV) \ + $(HOST_PKG_PYTHON_SETUPTOOLS_ENV) \ PYTHON=python$(PYTHON3_VERSION_MAJOR) \ USE_PCRE2=y diff --git a/package/libsigsegv/0001-Add-support-for-Linux-PowerPC-32-bit-with-musl-libc.patch b/package/libsigsegv/0001-Add-support-for-Linux-PowerPC-32-bit-with-musl-libc.patch new file mode 100644 index 0000000000..dcc2f7c9cb --- /dev/null +++ b/package/libsigsegv/0001-Add-support-for-Linux-PowerPC-32-bit-with-musl-libc.patch @@ -0,0 +1,114 @@ +From a6ff69873110c0a8ba6f7fd90532dbc11224828c Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Sun, 13 Mar 2022 15:04:06 +0100 +Subject: [PATCH] Add support for Linux/PowerPC (32-bit) with musl libc. + +Reported by Khem Raj in +. + +* autogen.sh: Copy also musl.m4. +* configure.ac: Invoke gl_MUSL_LIBC. +* src/fault-linux-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): In the 32-bit +case, handle musl libc differently. +* NEWS: Mention it. + +Upstream: https://git.savannah.gnu.org/gitweb/?p=libsigsegv.git;a=commit;h=a6ff69873110c0a8ba6f7fd90532dbc11224828c +Signed-off-by: Fabrice Fontaine +--- + ChangeLog | 11 +++++++++++ + NEWS | 4 ++++ + autogen.sh | 3 ++- + configure.ac | 2 ++ + src/fault-linux-powerpc.h | 27 ++++++++++++++++++++++----- + 5 files changed, 41 insertions(+), 6 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index c52b227..7c0a8fa 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,14 @@ ++2022-03-13 Bruno Haible ++ ++ Add support for Linux/PowerPC (32-bit) with musl libc. ++ Reported by Khem Raj in ++ . ++ * autogen.sh: Copy also musl.m4. ++ * configure.ac: Invoke gl_MUSL_LIBC. ++ * src/fault-linux-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): In the 32-bit ++ case, handle musl libc differently. ++ * NEWS: Mention it. ++ + 2022-01-07 Bruno Haible + + Prepare for version 2.14. +diff --git a/NEWS b/NEWS +index 4d012f8..82cc0f4 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,3 +1,7 @@ ++New in 2.15: ++ ++* Added support for Linux/PowerPC (32-bit) with musl libc. ++ + New in 2.14: + + * Added support for 64-bit Cygwin. +diff --git a/configure.ac b/configure.ac +index e87f13b..164786f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -75,6 +75,8 @@ AC_MSG_RESULT([$sv_cv_host]) + PLATFORM="$sv_cv_host" + AC_SUBST([PLATFORM]) + ++gl_MUSL_LIBC ++ + dnl ========================== Done with PLATFORM ========================== + + +diff --git a/src/fault-linux-powerpc.h b/src/fault-linux-powerpc.h +index cba6ea7..b3f922a 100644 +--- a/src/fault-linux-powerpc.h ++++ b/src/fault-linux-powerpc.h +@@ -1,5 +1,5 @@ + /* Fault handler information. Linux/PowerPC version when it supports POSIX. +- Copyright (C) 2002, 2009, 2017 Bruno Haible ++ Copyright (C) 2002, 2009, 2017, 2022 Bruno Haible + + 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 +@@ -28,10 +28,27 @@ + #if defined(__powerpc64__) || defined(_ARCH_PPC64) /* 64-bit */ + # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gp_regs[1] + #else /* 32-bit */ +-/* both should be equivalent */ +-# if 0 +-# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] ++# if MUSL_LIBC ++/* musl libc has a different structure of ucontext_t in ++ musl/arch/powerpc/bits/signal.h. */ ++/* The glibc comments say: ++ "Different versions of the kernel have stored the registers on signal ++ delivery at different offsets from the ucontext struct. Programs should ++ thus use the uc_mcontext.uc_regs pointer to find where the registers are ++ actually stored." */ ++# if 0 ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gregs[1] ++# else ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_regs->gregs[1] ++# endif + # else +-# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++/* Assume the structure of ucontext_t in ++ glibc/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h. */ ++/* Because of the union, both definitions should be equivalent. */ ++# if 0 ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] ++# else ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++# endif + # endif + #endif +-- +2.17.1 + diff --git a/package/libsigsegv/0002-add-musl.m4.patch b/package/libsigsegv/0002-add-musl.m4.patch new file mode 100644 index 0000000000..d6f06d8400 --- /dev/null +++ b/package/libsigsegv/0002-add-musl.m4.patch @@ -0,0 +1,47 @@ +From a9b07220b986500cfee7777a543494d360964306 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 2 Jan 2024 21:39:24 +0100 +Subject: [PATCH] add musl.m4 + +Add musl.m4 (retrieved from +https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=m4/musl.m4;h=34d2c1ff22a148eeb76936410ac497d68b228f59;hb=HEAD) + +musl.m4 is needed for gl_MUSL_LIBC since +https://git.savannah.gnu.org/gitweb/?p=libsigsegv.git;a=commit;h=a6ff69873110c0a8ba6f7fd90532dbc11224828c + +Signed-off-by: Fabrice Fontaine +Upstream: sent to Bruno Haible +--- + m4/musl.m4 | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + create mode 100644 m4/musl.m4 + +diff --git a/m4/musl.m4 b/m4/musl.m4 +new file mode 100644 +index 0000000..34d2c1f +--- /dev/null ++++ b/m4/musl.m4 +@@ -0,0 +1,20 @@ ++# musl.m4 serial 4 ++dnl Copyright (C) 2019-2024 Free Software Foundation, Inc. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. ++ ++# Test for musl libc, despite the musl libc authors don't like it ++# ++# . ++# From Bruno Haible. ++ ++AC_DEFUN_ONCE([gl_MUSL_LIBC], ++[ ++ AC_REQUIRE([AC_CANONICAL_HOST]) ++ case "$host_os" in ++ *-musl* | midipix*) ++ AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.]) ++ ;; ++ esac ++]) +-- +2.43.0 + diff --git a/package/libsigsegv/libsigsegv.mk b/package/libsigsegv/libsigsegv.mk index 98bcd55c8c..0d5875aa95 100644 --- a/package/libsigsegv/libsigsegv.mk +++ b/package/libsigsegv/libsigsegv.mk @@ -10,5 +10,7 @@ LIBSIGSEGV_INSTALL_STAGING = YES LIBSIGSEGV_CONF_ENV = sv_cv_fault_posix=yes LIBSIGSEGV_LICENSE = GPL-2.0+ LIBSIGSEGV_LICENSE_FILES = COPYING +# We're patching configure.ac +LIBSIGSEGV_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/libsndfile/libsndfile.hash b/package/libsndfile/libsndfile.hash index be3ba41dc6..94d6f96335 100644 --- a/package/libsndfile/libsndfile.hash +++ b/package/libsndfile/libsndfile.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 0e30e7072f83dc84863e2e55f299175c7e04a5902ae79cfb99d4249ee8f6d60a libsndfile-1.2.0.tar.xz +sha256 3799ca9924d3125038880367bf1468e53a1b7e3686a934f098b7e1d286cdb80e libsndfile-1.2.2.tar.xz # Locally calculated sha256 ad01ea5cd2755f6048383c8d54c88459cd6fcb17757c5c8892f8c5ea060f6140 COPYING diff --git a/package/libsndfile/libsndfile.mk b/package/libsndfile/libsndfile.mk index d8d1725444..dc23d94cb1 100644 --- a/package/libsndfile/libsndfile.mk +++ b/package/libsndfile/libsndfile.mk @@ -4,13 +4,13 @@ # ################################################################################ -LIBSNDFILE_VERSION = 1.2.0 +LIBSNDFILE_VERSION = 1.2.2 LIBSNDFILE_SOURCE = libsndfile-$(LIBSNDFILE_VERSION).tar.xz LIBSNDFILE_SITE = https://github.com/libsndfile/libsndfile/releases/download/$(LIBSNDFILE_VERSION) LIBSNDFILE_INSTALL_STAGING = YES LIBSNDFILE_LICENSE = LGPL-2.1+ LIBSNDFILE_LICENSE_FILES = COPYING -LIBSNDFILE_CPE_ID_VENDOR = libsndfile_project +LIBSNDFILE_CPE_ID_VALID = YES LIBSNDFILE_DEPENDENCIES = host-pkgconf LIBSNDFILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' diff --git a/package/libsolv/0001-Fix-build-without-C.patch b/package/libsolv/0001-Fix-build-without-C.patch deleted file mode 100644 index 2389aebcde..0000000000 --- a/package/libsolv/0001-Fix-build-without-C.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 5691f58d1f8ce1332b02536e48f1ac5864629c6c Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 12 Feb 2023 15:27:27 +0100 -Subject: [PATCH] Fix build without C++ - -Fix the following build failure without C++: - -CMake Error at CMakeLists.txt:1 (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/a7f2176d40f156c319754ef5d3b7fd0decfe754f - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/openSUSE/libsolv/pull/520] ---- - CMakeLists.txt | 2 +- - ext/CMakeLists.txt | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3541f496..f899c49a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --PROJECT (libsolv) -+PROJECT (libsolv C) - - CMAKE_MINIMUM_REQUIRED (VERSION 2.8.5) - -diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt -index f01c0238..589fa946 100644 ---- a/ext/CMakeLists.txt -+++ b/ext/CMakeLists.txt -@@ -103,6 +103,7 @@ IF (ENABLE_CUDFREPO) - ENDIF (ENABLE_CUDFREPO) - - IF (ENABLE_HAIKU) -+ enable_language(CXX) - SET (libsolvext_SRCS ${libsolvext_SRCS} - repo_haiku.cpp) - SET (libsolvext_HEADERS ${libsolvext_HEADERS} --- -2.39.0 - diff --git a/package/libsolv/libsolv.hash b/package/libsolv/libsolv.hash index 162e46e54d..b18a682ccf 100644 --- a/package/libsolv/libsolv.hash +++ b/package/libsolv/libsolv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 968aef452b5493751fa0168cd58745a77c755e202a43fe8d549d791eb16034d5 libsolv-0.7.22.tar.gz +sha256 b382bba4196b19c36eb34e0ef02546c0b922be601c6f73390c9ab643895b656a libsolv-0.7.25.tar.gz sha256 57f15acfb29fbef7749779e096a5885c60b716633e34484a21bb717554c0198f LICENSE.BSD diff --git a/package/libsolv/libsolv.mk b/package/libsolv/libsolv.mk index 04fdb387fd..2a9f1bf208 100644 --- a/package/libsolv/libsolv.mk +++ b/package/libsolv/libsolv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSOLV_VERSION = 0.7.22 +LIBSOLV_VERSION = 0.7.25 LIBSOLV_SITE = $(call github,openSUSE,libsolv,$(LIBSOLV_VERSION)) LIBSOLV_LICENSE = BSD-3-Clause LIBSOLV_LICENSE_FILES = LICENSE.BSD diff --git a/package/libsoup/0002-libsoup-soup-xmlrpc-soup-xmlrpc-old-add-missing-libx.patch b/package/libsoup/0002-libsoup-soup-xmlrpc-soup-xmlrpc-old-add-missing-libx.patch new file mode 100644 index 0000000000..cceff2d2ba --- /dev/null +++ b/package/libsoup/0002-libsoup-soup-xmlrpc-soup-xmlrpc-old-add-missing-libx.patch @@ -0,0 +1,47 @@ +From 8a21b58b45edbf11d9041f884bb9c42e6440104c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 26 Dec 2023 14:38:58 +0100 +Subject: [PATCH] libsoup/{soup-xmlrpc,soup-xmlrpc-old}: add missing + include + +Since libxml2 2.12.1, including is needed to get the +prototype of xmlParseMemory(), causing a build breakage of libsoup +with a recent version of libxml2. + +Upstream: Not Applicable +[libsoup2 is not maintained upstream, and libsoup3 no longer contains +the XMLRPC code. We are keepin libsoup2 in Buildroot for compatibility +with packages that haven't moved to libsoup3 yet.] +Signed-off-by: Thomas Petazzoni +--- + libsoup/soup-xmlrpc-old.c | 1 + + libsoup/soup-xmlrpc.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/libsoup/soup-xmlrpc-old.c b/libsoup/soup-xmlrpc-old.c +index c57086b6..dd51de53 100644 +--- a/libsoup/soup-xmlrpc-old.c ++++ b/libsoup/soup-xmlrpc-old.c +@@ -12,6 +12,7 @@ + #include + + #include ++#include + + #include "soup-xmlrpc-old.h" + #include "soup.h" +diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c +index 42dcda9c..b0132d26 100644 +--- a/libsoup/soup-xmlrpc.c ++++ b/libsoup/soup-xmlrpc.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include "soup-xmlrpc.h" + #include "soup.h" + +-- +2.43.0 + diff --git a/package/libsoup/libsoup.hash b/package/libsoup/libsoup.hash index 2f44e63d71..5f687068ab 100644 --- a/package/libsoup/libsoup.hash +++ b/package/libsoup/libsoup.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/libsoup/2.74/libsoup-2.74.2.sha256sum -sha256 f0a427656e5fe19e1df71c107e88dfa1b2e673c25c547b7823b6018b40d01159 libsoup-2.74.2.tar.xz +# From https://download.gnome.org/sources/libsoup/2.74/libsoup-2.74.3.sha256sum +sha256 e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13 libsoup-2.74.3.tar.xz # Locally calculated sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk index 026ea3a8b7..81bf42cabe 100644 --- a/package/libsoup/libsoup.mk +++ b/package/libsoup/libsoup.mk @@ -5,7 +5,7 @@ ################################################################################ LIBSOUP_VERSION_MAJOR = 2.74 -LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).2 +LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).3 LIBSOUP_SOURCE = libsoup-$(LIBSOUP_VERSION).tar.xz LIBSOUP_SITE = https://download.gnome.org/sources/libsoup/$(LIBSOUP_VERSION_MAJOR) LIBSOUP_LICENSE = LGPL-2.0+ diff --git a/package/libsoup3/Config.in b/package/libsoup3/Config.in new file mode 100644 index 0000000000..504cc3bd2b --- /dev/null +++ b/package/libsoup3/Config.in @@ -0,0 +1,34 @@ +config BR2_PACKAGE_LIBSOUP3 + bool "libsoup3" + depends on BR2_USE_WCHAR # glib2, libpsl + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBPSL + select BR2_PACKAGE_NGHTTP2 + select BR2_PACKAGE_SQLITE + help + libsoup3 is an HTTP client/server library. It uses GObject + and the GLib main loop, to integrate well with GNOME + applications. + + https://wiki.gnome.org/Projects/libsoup + +if BR2_PACKAGE_LIBSOUP3 + +config BR2_PACKAGE_LIBSOUP3_SSL + bool "https support" + depends on !BR2_STATIC_LIBS # glib-networking, gnutls + select BR2_PACKAGE_GLIB_NETWORKING # runtime + select BR2_PACKAGE_GNUTLS # runtime + help + Enable HTTPS (SSL) support. + +comment "libsoup3 https support needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +endif + +comment "libsoup3 needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libsoup3/libsoup3.hash b/package/libsoup3/libsoup3.hash new file mode 100644 index 0000000000..11e48b42aa --- /dev/null +++ b/package/libsoup3/libsoup3.hash @@ -0,0 +1,4 @@ +# From https://download.gnome.org/sources/libsoup/3.4/libsoup-3.4.4.sha256sum +sha256 291c67725f36ed90ea43efff25064b69c5a2d1981488477c05c481a3b4b0c5aa libsoup-3.4.4.tar.xz +# Locally calculated +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libsoup3/libsoup3.mk b/package/libsoup3/libsoup3.mk new file mode 100644 index 0000000000..10caa5bea4 --- /dev/null +++ b/package/libsoup3/libsoup3.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# libsoup3 +# +################################################################################ + +LIBSOUP3_VERSION_MAJOR = 3.4 +LIBSOUP3_VERSION = $(LIBSOUP3_VERSION_MAJOR).4 +LIBSOUP3_SOURCE = libsoup-$(LIBSOUP3_VERSION).tar.xz +LIBSOUP3_SITE = https://download.gnome.org/sources/libsoup/$(LIBSOUP3_VERSION_MAJOR) +LIBSOUP3_LICENSE = LGPL-2.0+ +LIBSOUP3_LICENSE_FILES = COPYING +LIBSOUP3_CPE_ID_VENDOR = gnome +LIBSOUP3_INSTALL_STAGING = YES +LIBSOUP3_DEPENDENCIES = \ + host-intltool \ + host-libglib2 \ + host-pkgconf \ + libglib2 \ + libpsl \ + nghttp2 \ + sqlite \ + $(TARGET_NLS_DEPENDENCIES) + +LIBSOUP3_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + +LIBSOUP3_CONF_OPTS = \ + -Dntlm=disabled \ + -Dsysprof=disabled \ + -Dtests=false \ + -Dtls_check=false + +ifeq ($(BR2_PACKAGE_BROTLI),y) +LIBSOUP3_CONF_OPTS += -Dbrotli=enabled +LIBSOUP3_DEPENDENCIES += brotli +else +LIBSOUP3_CONF_OPTS += -Dbrotli=disabled +endif + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +LIBSOUP3_CONF_OPTS += -Dintrospection=enabled -Dvapi=enabled +LIBSOUP3_DEPENDENCIES += host-vala gobject-introspection +else +LIBSOUP3_CONF_OPTS += -Dintrospection=disabled -Dvapi=disabled +endif + +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +LIBSOUP3_CONF_OPTS += \ + -Dgssapi=enabled \ + -Dkrb5_config=$(STAGING_DIR)/usr/bin/krb5-config +LIBSOUP3_DEPENDENCIES += libkrb5 +else +LIBSOUP3_CONF_OPTS += -Dgssapi=disabled +endif + +$(eval $(meson-package)) diff --git a/package/libspdm/Config.in b/package/libspdm/Config.in new file mode 100644 index 0000000000..56c55f9c4d --- /dev/null +++ b/package/libspdm/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_LIBSPDM_CPU_FAMILY + string + # OpenSSL doesn't support "arc" (BR2_arcle || BR2_arceb), "arm" + # (if BR2_arm || BR2_armeb) or "riscv32"/"riscv6" + # (BR2_riscv && BR2_RISCV_32/BR2_RISCV_64). So we don't + # support those here + default "aarch64" if BR2_aarch64 || BR2_aarch64_be + default "ia32" if BR2_i386 + default "x64" if BR2_x86_64 + +config BR2_PACKAGE_LIBSPDM_ARCH_SUPPORTS + bool + default y if BR2_PACKAGE_LIBSPDM_CPU_FAMILY != "" + +config BR2_PACKAGE_LIBSPDM + bool "libspdm" + depends on BR2_PACKAGE_LIBSPDM_ARCH_SUPPORTS + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + help + libspdm is a sample implementation that follows + the DMTF SPDM specifications + + https://github.com/DMTF/libspdm diff --git a/package/libspdm/libspdm.hash b/package/libspdm/libspdm.hash new file mode 100644 index 0000000000..23faba1c4b --- /dev/null +++ b/package/libspdm/libspdm.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 84d4a755f57b17775c63b5c8be646d518ce34d5d1b85994b6150ebce9d31b183 libspdm-3.1.1.tar.gz +sha256 7dc072bff163df39209bbb63e0916f4667c2a84cf3c36ccc84ec7425bc3e4779 LICENSE.md diff --git a/package/libspdm/libspdm.mk b/package/libspdm/libspdm.mk new file mode 100644 index 0000000000..34dbb457c4 --- /dev/null +++ b/package/libspdm/libspdm.mk @@ -0,0 +1,44 @@ +################################################################################ +# +# libspdm +# +################################################################################ + +LIBSPDM_VERSION = 3.1.1 +LIBSPDM_SITE = $(call github,DMTF,libspdm,$(LIBSPDM_VERSION)) +LIBSPDM_LICENSE = BSD-3-Clause +LIBSPDM_LICENSE_FILES = LICENSE.md +LIBSPDM_CPE_ID_VENDOR = dmtf + +LIBSPDM_INSTALL_STAGING = YES +LIBSPDM_INSTALL_TARGET = NO + +LIBSPDM_DEPENDENCIES = openssl + +LIBSPDM_TARGET_CPU_FAMILY = $(call qstrip,$(BR2_PACKAGE_LIBSPDM_CPU_FAMILY)) + +LIBSPDM_CONF_OPTS = \ + -DARCH=$(LIBSPDM_TARGET_CPU_FAMILY) \ + -DTOOLCHAIN=NONE \ + -DTARGET=Release \ + -DCRYPTO=openssl \ + -DENABLE_BINARY_BUILD=1 \ + -DCOMPILED_LIBCRYPTO_PATH=/usr/lib/ \ + -DCOMPILED_LIBSSL_PATH=/usr/lib/ \ + -DDISABLE_TESTS=1 \ + -DDISABLE_EDDSA=1 \ + -DLINK_FLAGS=$(STAGING_DIR) + +define LIBSPDM_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/lib + cp -dpfr $(@D)/lib/* $(STAGING_DIR)/usr/lib/ + + mkdir -p $(STAGING_DIR)/usr/include/libspdm/ + cp -dpfr $(@D)/include/* $(STAGING_DIR)/usr/include/libspdm/ + + mkdir -p $(STAGING_DIR)/usr/include/libspdm/os_stub/spdm_crypt_ext_lib + cp -dpfr $(@D)/os_stub/spdm_crypt_ext_lib/*.h \ + $(STAGING_DIR)/usr/include/libspdm/os_stub/spdm_crypt_ext_lib/ +endef + +$(eval $(cmake-package)) diff --git a/package/libsrtp/0001-Remove-compatibility-code-for-legacy-OpenSSL-to-fix-LibreSSL-build.patch b/package/libsrtp/0001-Remove-compatibility-code-for-legacy-OpenSSL-to-fix-LibreSSL-build.patch deleted file mode 100644 index 68bfb085f7..0000000000 --- a/package/libsrtp/0001-Remove-compatibility-code-for-legacy-OpenSSL-to-fix-LibreSSL-build.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 16483b18a9980575bee23898b2dbfbe2a4675d84 Mon Sep 17 00:00:00 2001 -From: Klemens Nanni -Date: Sat, 15 Jan 2022 23:19:35 +0300 -Subject: [PATCH] Remove compatibility code for legacy OpenSSL to fix LibreSSL - build - -In current LibreSSL, `HMAC_CTX` aka. `struct hmac_ctx_st` is an opaque -structure as of LibreSSL hmac.h revision 1.15 (14.01.2022) [0], thus -`sizeof(HMAC_CTX)` fails to compile. - -The non-legacy code path should compile with LibreSSL versions as old -as 2.7.0 (21.03.2018). - -Found while building https://github.com/desktop-app/tg_owt which bundles -libsrtp 2.2.0 [1] on OpenBSD 7.0 -CURRENT/with latest LibreSSL. - -Suggestion to remove the legacy code from Theo Buehler, thanks. - -0: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libcrypto/hmac/hmac.h?rev=1.15&content-type=text/x-cvsweb-markup -1: https://github.com/desktop-app/tg_owt/blob/6708e0d31a73e64fe12f54829bf4060c41b2658e/src/third_party/libsrtp/crypto/hash/hmac_ossl.c#L85 - -[Retrieved from: -https://github.com/cisco/libsrtp/commit/16483b18a9980575bee23898b2dbfbe2a4675d84] -Signed-off-by: Fabrice Fontaine ---- - crypto/hash/hmac_ossl.c | 29 ----------------------------- - 1 file changed, 29 deletions(-) - -diff --git a/crypto/hash/hmac_ossl.c b/crypto/hash/hmac_ossl.c -index ee6b0b58..c23c7f21 100644 ---- a/crypto/hash/hmac_ossl.c -+++ b/crypto/hash/hmac_ossl.c -@@ -78,26 +78,6 @@ static srtp_err_status_t srtp_hmac_alloc(srtp_auth_t **a, - return srtp_err_status_bad_param; - } - --/* OpenSSL 1.1.0 made HMAC_CTX an opaque structure, which must be allocated -- using HMAC_CTX_new. But this function doesn't exist in OpenSSL 1.0.x. */ --#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER -- { -- /* allocate memory for auth and HMAC_CTX structures */ -- uint8_t *pointer; -- HMAC_CTX *new_hmac_ctx; -- pointer = (uint8_t *)srtp_crypto_alloc(sizeof(HMAC_CTX) + -- sizeof(srtp_auth_t)); -- if (pointer == NULL) { -- return srtp_err_status_alloc_fail; -- } -- *a = (srtp_auth_t *)pointer; -- (*a)->state = pointer + sizeof(srtp_auth_t); -- new_hmac_ctx = (HMAC_CTX *)((*a)->state); -- -- HMAC_CTX_init(new_hmac_ctx); -- } -- --#else - *a = (srtp_auth_t *)srtp_crypto_alloc(sizeof(srtp_auth_t)); - if (*a == NULL) { - return srtp_err_status_alloc_fail; -@@ -109,7 +89,6 @@ static srtp_err_status_t srtp_hmac_alloc(srtp_auth_t **a, - *a = NULL; - return srtp_err_status_alloc_fail; - } --#endif - - /* set pointers */ - (*a)->type = &srtp_hmac; -@@ -126,18 +105,10 @@ static srtp_err_status_t srtp_hmac_dealloc(srtp_auth_t *a) - - hmac_ctx = (HMAC_CTX *)a->state; - --#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER -- HMAC_CTX_cleanup(hmac_ctx); -- -- /* zeroize entire state*/ -- octet_string_set_to_zero(a, sizeof(HMAC_CTX) + sizeof(srtp_auth_t)); -- --#else - HMAC_CTX_free(hmac_ctx); - - /* zeroize entire state*/ - octet_string_set_to_zero(a, sizeof(srtp_auth_t)); --#endif - - /* free memory */ - srtp_crypto_free(a); diff --git a/package/libsrtp/libsrtp.hash b/package/libsrtp/libsrtp.hash index 8e51e68ac2..f95dc2e7b0 100644 --- a/package/libsrtp/libsrtp.hash +++ b/package/libsrtp/libsrtp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3b1bcb14ebda572b04b9bdf07574a449c84cb924905414e4d94e62837d22b628 libsrtp-2.4.2.tar.gz +sha256 8a43ef8e9ae2b665292591af62aa1a4ae41e468b6d98d8258f91478735da4e09 libsrtp-2.5.0.tar.gz sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae LICENSE diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk index e7a771c6b2..0ffdd98283 100644 --- a/package/libsrtp/libsrtp.mk +++ b/package/libsrtp/libsrtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSRTP_VERSION = 2.4.2 +LIBSRTP_VERSION = 2.5.0 LIBSRTP_SITE = $(call github,cisco,libsrtp,v$(LIBSRTP_VERSION)) LIBSRTP_INSTALL_STAGING = YES LIBSRTP_LICENSE = BSD-3-Clause diff --git a/package/libssh/libssh.hash b/package/libssh/libssh.hash index 0d61191842..e5eba219b5 100644 --- a/package/libssh/libssh.hash +++ b/package/libssh/libssh.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://www.libssh.org/files/0.10/libssh-0.10.5.tar.xz.asc +# https://www.libssh.org/files/0.10/libssh-0.10.6.tar.xz.asc # with key 8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D -sha256 b60e2ff7f367b9eee2b5634d3a63303ddfede0e6a18dfca88c44a8770e7e4234 libssh-0.10.5.tar.xz +sha256 1861d498f5b6f1741b6abc73e608478491edcf9c9d4b6630eef6e74596de9dc1 libssh-0.10.6.tar.xz sha256 1656186e951db1c010a8485481fa94587f7e53a26d24976bef97945ad0c4df5a COPYING diff --git a/package/libssh/libssh.mk b/package/libssh/libssh.mk index ff4cddaf91..8b995c3555 100644 --- a/package/libssh/libssh.mk +++ b/package/libssh/libssh.mk @@ -5,7 +5,7 @@ ################################################################################ LIBSSH_VERSION_MAJOR = 0.10 -LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).5 +LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).6 LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz LIBSSH_SITE = https://www.libssh.org/files/$(LIBSSH_VERSION_MAJOR) LIBSSH_LICENSE = LGPL-2.1 diff --git a/package/libssh2/0002-src-add-strict-KEX-to-fix-CVE-2023-48795-Terrapin-Attack.patch b/package/libssh2/0002-src-add-strict-KEX-to-fix-CVE-2023-48795-Terrapin-Attack.patch new file mode 100644 index 0000000000..2ccedee19e --- /dev/null +++ b/package/libssh2/0002-src-add-strict-KEX-to-fix-CVE-2023-48795-Terrapin-Attack.patch @@ -0,0 +1,462 @@ +From d34d9258b8420b19ec3f97b4cc5bf7aa7d98e35a Mon Sep 17 00:00:00 2001 +From: Michael Buckley +Date: Thu, 30 Nov 2023 15:08:02 -0800 +Subject: [PATCH] src: add 'strict KEX' to fix CVE-2023-48795 "Terrapin Attack" + +Refs: +https://terrapin-attack.com/ +https://seclists.org/oss-sec/2023/q4/292 +https://osv.dev/list?ecosystem=&q=CVE-2023-48795 +https://github.com/advisories/GHSA-45x7-px36-x8w8 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48795 + +Fixes #1290 +Closes #1291 + +Upstream: https://github.com/libssh2/libssh2/commit/d34d9258b8420b19ec3f97b4cc5bf7aa7d98e35a +Signed-off-by: Fabrice Fontaine +--- + src/kex.c | 63 +++++++++++++++++++++++------------ + src/libssh2_priv.h | 18 +++++++--- + src/packet.c | 83 +++++++++++++++++++++++++++++++++++++++++++--- + src/packet.h | 2 +- + src/session.c | 3 ++ + src/transport.c | 12 ++++++- + 6 files changed, 149 insertions(+), 32 deletions(-) + +diff --git a/src/kex.c b/src/kex.c +index 8e7b7f0af3..a7b301e157 100644 +--- a/src/kex.c ++++ b/src/kex.c +@@ -3032,6 +3032,13 @@ kex_method_extension_negotiation = { + 0, + }; + ++static const LIBSSH2_KEX_METHOD ++kex_method_strict_client_extension = { ++ "kex-strict-c-v00@openssh.com", ++ NULL, ++ 0, ++}; ++ + static const LIBSSH2_KEX_METHOD *libssh2_kex_methods[] = { + #if LIBSSH2_ED25519 + &kex_method_ssh_curve25519_sha256, +@@ -3050,6 +3057,7 @@ static const LIBSSH2_KEX_METHOD *libssh2_kex_methods[] = { + &kex_method_diffie_helman_group1_sha1, + &kex_method_diffie_helman_group_exchange_sha1, + &kex_method_extension_negotiation, ++ &kex_method_strict_client_extension, + NULL + }; + +@@ -3302,13 +3310,13 @@ static int kexinit(LIBSSH2_SESSION * session) + return 0; + } + +-/* kex_agree_instr ++/* _libssh2_kex_agree_instr + * Kex specific variant of strstr() + * Needle must be preceded by BOL or ',', and followed by ',' or EOL + */ +-static unsigned char * +-kex_agree_instr(unsigned char *haystack, size_t haystack_len, +- const unsigned char *needle, size_t needle_len) ++unsigned char * ++_libssh2_kex_agree_instr(unsigned char *haystack, size_t haystack_len, ++ const unsigned char *needle, size_t needle_len) + { + unsigned char *s; + unsigned char *end_haystack; +@@ -3393,7 +3401,7 @@ static int kex_agree_hostkey(LIBSSH2_SESSION * session, + while(s && *s) { + unsigned char *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); +- if(kex_agree_instr(hostkey, hostkey_len, s, method_len)) { ++ if(_libssh2_kex_agree_instr(hostkey, hostkey_len, s, method_len)) { + const LIBSSH2_HOSTKEY_METHOD *method = + (const LIBSSH2_HOSTKEY_METHOD *) + kex_get_method_by_name((char *) s, method_len, +@@ -3427,9 +3435,9 @@ static int kex_agree_hostkey(LIBSSH2_SESSION * session, + } + + while(hostkeyp && (*hostkeyp) && (*hostkeyp)->name) { +- s = kex_agree_instr(hostkey, hostkey_len, +- (unsigned char *) (*hostkeyp)->name, +- strlen((*hostkeyp)->name)); ++ s = _libssh2_kex_agree_instr(hostkey, hostkey_len, ++ (unsigned char *) (*hostkeyp)->name, ++ strlen((*hostkeyp)->name)); + if(s) { + /* So far so good, but does it suit our purposes? (Encrypting vs + Signing) */ +@@ -3463,6 +3471,12 @@ static int kex_agree_kex_hostkey(LIBSSH2_SESSION * session, unsigned char *kex, + { + const LIBSSH2_KEX_METHOD **kexp = libssh2_kex_methods; + unsigned char *s; ++ const unsigned char *strict = ++ (unsigned char *)"kex-strict-s-v00@openssh.com"; ++ ++ if(_libssh2_kex_agree_instr(kex, kex_len, strict, 28)) { ++ session->kex_strict = 1; ++ } + + if(session->kex_prefs) { + s = (unsigned char *) session->kex_prefs; +@@ -3470,7 +3484,7 @@ static int kex_agree_kex_hostkey(LIBSSH2_SESSION * session, unsigned char *kex, + while(s && *s) { + unsigned char *q, *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); +- q = kex_agree_instr(kex, kex_len, s, method_len); ++ q = _libssh2_kex_agree_instr(kex, kex_len, s, method_len); + if(q) { + const LIBSSH2_KEX_METHOD *method = (const LIBSSH2_KEX_METHOD *) + kex_get_method_by_name((char *) s, method_len, +@@ -3504,9 +3518,9 @@ static int kex_agree_kex_hostkey(LIBSSH2_SESSION * session, unsigned char *kex, + } + + while(*kexp && (*kexp)->name) { +- s = kex_agree_instr(kex, kex_len, +- (unsigned char *) (*kexp)->name, +- strlen((*kexp)->name)); ++ s = _libssh2_kex_agree_instr(kex, kex_len, ++ (unsigned char *) (*kexp)->name, ++ strlen((*kexp)->name)); + if(s) { + /* We've agreed on a key exchange method, + * Can we agree on a hostkey that works with this kex? +@@ -3550,7 +3564,7 @@ static int kex_agree_crypt(LIBSSH2_SESSION * session, + unsigned char *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); + +- if(kex_agree_instr(crypt, crypt_len, s, method_len)) { ++ if(_libssh2_kex_agree_instr(crypt, crypt_len, s, method_len)) { + const LIBSSH2_CRYPT_METHOD *method = + (const LIBSSH2_CRYPT_METHOD *) + kex_get_method_by_name((char *) s, method_len, +@@ -3572,9 +3586,9 @@ static int kex_agree_crypt(LIBSSH2_SESSION * session, + } + + while(*cryptp && (*cryptp)->name) { +- s = kex_agree_instr(crypt, crypt_len, +- (unsigned char *) (*cryptp)->name, +- strlen((*cryptp)->name)); ++ s = _libssh2_kex_agree_instr(crypt, crypt_len, ++ (unsigned char *) (*cryptp)->name, ++ strlen((*cryptp)->name)); + if(s) { + endpoint->crypt = *cryptp; + return 0; +@@ -3614,7 +3628,7 @@ static int kex_agree_mac(LIBSSH2_SESSION * session, + unsigned char *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); + +- if(kex_agree_instr(mac, mac_len, s, method_len)) { ++ if(_libssh2_kex_agree_instr(mac, mac_len, s, method_len)) { + const LIBSSH2_MAC_METHOD *method = (const LIBSSH2_MAC_METHOD *) + kex_get_method_by_name((char *) s, method_len, + (const LIBSSH2_COMMON_METHOD **) +@@ -3635,8 +3649,9 @@ static int kex_agree_mac(LIBSSH2_SESSION * session, + } + + while(*macp && (*macp)->name) { +- s = kex_agree_instr(mac, mac_len, (unsigned char *) (*macp)->name, +- strlen((*macp)->name)); ++ s = _libssh2_kex_agree_instr(mac, mac_len, ++ (unsigned char *) (*macp)->name, ++ strlen((*macp)->name)); + if(s) { + endpoint->mac = *macp; + return 0; +@@ -3667,7 +3682,7 @@ static int kex_agree_comp(LIBSSH2_SESSION *session, + unsigned char *p = (unsigned char *) strchr((char *) s, ','); + size_t method_len = (p ? (size_t)(p - s) : strlen((char *) s)); + +- if(kex_agree_instr(comp, comp_len, s, method_len)) { ++ if(_libssh2_kex_agree_instr(comp, comp_len, s, method_len)) { + const LIBSSH2_COMP_METHOD *method = + (const LIBSSH2_COMP_METHOD *) + kex_get_method_by_name((char *) s, method_len, +@@ -3689,8 +3704,9 @@ static int kex_agree_comp(LIBSSH2_SESSION *session, + } + + while(*compp && (*compp)->name) { +- s = kex_agree_instr(comp, comp_len, (unsigned char *) (*compp)->name, +- strlen((*compp)->name)); ++ s = _libssh2_kex_agree_instr(comp, comp_len, ++ (unsigned char *) (*compp)->name, ++ strlen((*compp)->name)); + if(s) { + endpoint->comp = *compp; + return 0; +@@ -3871,6 +3887,7 @@ _libssh2_kex_exchange(LIBSSH2_SESSION * session, int reexchange, + session->local.kexinit = key_state->oldlocal; + session->local.kexinit_len = key_state->oldlocal_len; + key_state->state = libssh2_NB_state_idle; ++ session->state &= ~LIBSSH2_STATE_INITIAL_KEX; + session->state &= ~LIBSSH2_STATE_KEX_ACTIVE; + session->state &= ~LIBSSH2_STATE_EXCHANGING_KEYS; + return -1; +@@ -3896,6 +3913,7 @@ _libssh2_kex_exchange(LIBSSH2_SESSION * session, int reexchange, + session->local.kexinit = key_state->oldlocal; + session->local.kexinit_len = key_state->oldlocal_len; + key_state->state = libssh2_NB_state_idle; ++ session->state &= ~LIBSSH2_STATE_INITIAL_KEX; + session->state &= ~LIBSSH2_STATE_KEX_ACTIVE; + session->state &= ~LIBSSH2_STATE_EXCHANGING_KEYS; + return -1; +@@ -3944,6 +3962,7 @@ _libssh2_kex_exchange(LIBSSH2_SESSION * session, int reexchange, + session->remote.kexinit = NULL; + } + ++ session->state &= ~LIBSSH2_STATE_INITIAL_KEX; + session->state &= ~LIBSSH2_STATE_KEX_ACTIVE; + session->state &= ~LIBSSH2_STATE_EXCHANGING_KEYS; + +diff --git a/src/libssh2_priv.h b/src/libssh2_priv.h +index 7660366954..18d9ab2130 100644 +--- a/src/libssh2_priv.h ++++ b/src/libssh2_priv.h +@@ -736,6 +736,9 @@ struct _LIBSSH2_SESSION + /* key signing algorithm preferences -- NULL yields server order */ + char *sign_algo_prefs; + ++ /* Whether to use the OpenSSH Strict KEX extension */ ++ int kex_strict; ++ + /* (remote as source of data -- packet_read ) */ + libssh2_endpoint_data remote; + +@@ -908,6 +911,7 @@ struct _LIBSSH2_SESSION + int fullpacket_macstate; + size_t fullpacket_payload_len; + int fullpacket_packet_type; ++ uint32_t fullpacket_required_type; + + /* State variables used in libssh2_sftp_init() */ + libssh2_nonblocking_states sftpInit_state; +@@ -948,10 +952,11 @@ struct _LIBSSH2_SESSION + }; + + /* session.state bits */ +-#define LIBSSH2_STATE_EXCHANGING_KEYS 0x00000001 +-#define LIBSSH2_STATE_NEWKEYS 0x00000002 +-#define LIBSSH2_STATE_AUTHENTICATED 0x00000004 +-#define LIBSSH2_STATE_KEX_ACTIVE 0x00000008 ++#define LIBSSH2_STATE_INITIAL_KEX 0x00000001 ++#define LIBSSH2_STATE_EXCHANGING_KEYS 0x00000002 ++#define LIBSSH2_STATE_NEWKEYS 0x00000004 ++#define LIBSSH2_STATE_AUTHENTICATED 0x00000008 ++#define LIBSSH2_STATE_KEX_ACTIVE 0x00000010 + + /* session.flag helpers */ + #ifdef MSG_NOSIGNAL +@@ -1182,6 +1187,11 @@ ssize_t _libssh2_send(libssh2_socket_t socket, const void *buffer, + int _libssh2_kex_exchange(LIBSSH2_SESSION * session, int reexchange, + key_exchange_state_t * state); + ++unsigned char *_libssh2_kex_agree_instr(unsigned char *haystack, ++ size_t haystack_len, ++ const unsigned char *needle, ++ size_t needle_len); ++ + /* Let crypt.c/hostkey.c expose their method structs */ + const LIBSSH2_CRYPT_METHOD **libssh2_crypt_methods(void); + const LIBSSH2_HOSTKEY_METHOD **libssh2_hostkey_methods(void); +diff --git a/src/packet.c b/src/packet.c +index eccb8c56a8..6da14e9fa1 100644 +--- a/src/packet.c ++++ b/src/packet.c +@@ -624,14 +624,13 @@ packet_authagent_open(LIBSSH2_SESSION * session, + * layer when it has received a packet. + * + * The input pointer 'data' is pointing to allocated data that this function +- * is asked to deal with so on failure OR success, it must be freed fine. +- * The only exception is when the return code is LIBSSH2_ERROR_EAGAIN. ++ * will be freed unless return the code is LIBSSH2_ERROR_EAGAIN. + * + * This function will always be called with 'datalen' greater than zero. + */ + int + _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, +- size_t datalen, int macstate) ++ size_t datalen, int macstate, uint32_t seq) + { + int rc = 0; + unsigned char *message = NULL; +@@ -676,6 +675,70 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, + break; + } + ++ if(session->state & LIBSSH2_STATE_INITIAL_KEX) { ++ if(msg == SSH_MSG_KEXINIT) { ++ if(!session->kex_strict) { ++ if(datalen < 17) { ++ LIBSSH2_FREE(session, data); ++ session->packAdd_state = libssh2_NB_state_idle; ++ return _libssh2_error(session, ++ LIBSSH2_ERROR_BUFFER_TOO_SMALL, ++ "Data too short extracting kex"); ++ } ++ else { ++ const unsigned char *strict = ++ (unsigned char *)"kex-strict-s-v00@openssh.com"; ++ struct string_buf buf; ++ unsigned char *algs = NULL; ++ size_t algs_len = 0; ++ ++ buf.data = (unsigned char *)data; ++ buf.dataptr = buf.data; ++ buf.len = datalen; ++ buf.dataptr += 17; /* advance past type and cookie */ ++ ++ if(_libssh2_get_string(&buf, &algs, &algs_len)) { ++ LIBSSH2_FREE(session, data); ++ session->packAdd_state = libssh2_NB_state_idle; ++ return _libssh2_error(session, ++ LIBSSH2_ERROR_BUFFER_TOO_SMALL, ++ "Algs too short"); ++ } ++ ++ if(algs_len == 0 || ++ _libssh2_kex_agree_instr(algs, algs_len, strict, 28)) { ++ session->kex_strict = 1; ++ } ++ } ++ } ++ ++ if(session->kex_strict && seq) { ++ LIBSSH2_FREE(session, data); ++ session->socket_state = LIBSSH2_SOCKET_DISCONNECTED; ++ session->packAdd_state = libssh2_NB_state_idle; ++ libssh2_session_disconnect(session, "strict KEX violation: " ++ "KEXINIT was not the first packet"); ++ ++ return _libssh2_error(session, LIBSSH2_ERROR_SOCKET_DISCONNECT, ++ "strict KEX violation: " ++ "KEXINIT was not the first packet"); ++ } ++ } ++ ++ if(session->kex_strict && session->fullpacket_required_type && ++ session->fullpacket_required_type != msg) { ++ LIBSSH2_FREE(session, data); ++ session->socket_state = LIBSSH2_SOCKET_DISCONNECTED; ++ session->packAdd_state = libssh2_NB_state_idle; ++ libssh2_session_disconnect(session, "strict KEX violation: " ++ "unexpected packet type"); ++ ++ return _libssh2_error(session, LIBSSH2_ERROR_SOCKET_DISCONNECT, ++ "strict KEX violation: " ++ "unexpected packet type"); ++ } ++ } ++ + if(session->packAdd_state == libssh2_NB_state_allocated) { + /* A couple exceptions to the packet adding rule: */ + switch(msg) { +@@ -1364,6 +1427,15 @@ _libssh2_packet_ask(LIBSSH2_SESSION * session, unsigned char packet_type, + + return 0; + } ++ else if(session->kex_strict && ++ (session->state & LIBSSH2_STATE_INITIAL_KEX)) { ++ libssh2_session_disconnect(session, "strict KEX violation: " ++ "unexpected packet type"); ++ ++ return _libssh2_error(session, LIBSSH2_ERROR_SOCKET_DISCONNECT, ++ "strict KEX violation: " ++ "unexpected packet type"); ++ } + packet = _libssh2_list_next(&packet->node); + } + return -1; +@@ -1425,7 +1497,10 @@ _libssh2_packet_require(LIBSSH2_SESSION * session, unsigned char packet_type, + } + + while(session->socket_state == LIBSSH2_SOCKET_CONNECTED) { +- int ret = _libssh2_transport_read(session); ++ int ret; ++ session->fullpacket_required_type = packet_type; ++ ret = _libssh2_transport_read(session); ++ session->fullpacket_required_type = 0; + if(ret == LIBSSH2_ERROR_EAGAIN) + return ret; + else if(ret < 0) { +diff --git a/src/packet.h b/src/packet.h +index 1d90b8af12..955351e5f6 100644 +--- a/src/packet.h ++++ b/src/packet.h +@@ -72,6 +72,6 @@ int _libssh2_packet_burn(LIBSSH2_SESSION * session, + int _libssh2_packet_write(LIBSSH2_SESSION * session, unsigned char *data, + unsigned long data_len); + int _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data, +- size_t datalen, int macstate); ++ size_t datalen, int macstate, uint32_t seq); + + #endif /* LIBSSH2_PACKET_H */ +diff --git a/src/session.c b/src/session.c +index 35e7929fe7..9d89ade8ec 100644 +--- a/src/session.c ++++ b/src/session.c +@@ -469,6 +469,8 @@ libssh2_session_init_ex(LIBSSH2_ALLOC_FUNC((*my_alloc)), + session->abstract = abstract; + session->api_timeout = 0; /* timeout-free API by default */ + session->api_block_mode = 1; /* blocking API by default */ ++ session->state = LIBSSH2_STATE_INITIAL_KEX; ++ session->fullpacket_required_type = 0; + session->packet_read_timeout = LIBSSH2_DEFAULT_READ_TIMEOUT; + session->flag.quote_paths = 1; /* default behavior is to quote paths + for the scp subsystem */ +@@ -1223,6 +1225,7 @@ libssh2_session_disconnect_ex(LIBSSH2_SESSION *session, int reason, + const char *desc, const char *lang) + { + int rc; ++ session->state &= ~LIBSSH2_STATE_INITIAL_KEX; + session->state &= ~LIBSSH2_STATE_EXCHANGING_KEYS; + BLOCK_ADJUST(rc, session, + session_disconnect(session, reason, desc, lang)); +diff --git a/src/transport.c b/src/transport.c +index 21be9d2b80..a8bb588a4b 100644 +--- a/src/transport.c ++++ b/src/transport.c +@@ -186,6 +186,7 @@ fullpacket(LIBSSH2_SESSION * session, int encrypted /* 1 or 0 */ ) + struct transportpacket *p = &session->packet; + int rc; + int compressed; ++ uint32_t seq = session->remote.seqno; + + if(session->fullpacket_state == libssh2_NB_state_idle) { + session->fullpacket_macstate = LIBSSH2_MAC_CONFIRMED; +@@ -317,7 +318,7 @@ fullpacket(LIBSSH2_SESSION * session, int encrypted /* 1 or 0 */ ) + if(session->fullpacket_state == libssh2_NB_state_created) { + rc = _libssh2_packet_add(session, p->payload, + session->fullpacket_payload_len, +- session->fullpacket_macstate); ++ session->fullpacket_macstate, seq); + if(rc == LIBSSH2_ERROR_EAGAIN) + return rc; + if(rc) { +@@ -328,6 +329,11 @@ fullpacket(LIBSSH2_SESSION * session, int encrypted /* 1 or 0 */ ) + + session->fullpacket_state = libssh2_NB_state_idle; + ++ if(session->kex_strict && ++ session->fullpacket_packet_type == SSH_MSG_NEWKEYS) { ++ session->remote.seqno = 0; ++ } ++ + return session->fullpacket_packet_type; + } + +@@ -1093,6 +1099,10 @@ int _libssh2_transport_send(LIBSSH2_SESSION *session, + + session->local.seqno++; + ++ if(session->kex_strict && data[0] == SSH_MSG_NEWKEYS) { ++ session->local.seqno = 0; ++ } ++ + ret = LIBSSH2_SEND(session, p->outbuf, total_length, + LIBSSH2_SOCKET_SEND_FLAGS(session)); + if(ret < 0) diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk index a42be46a7a..b2c07cbf30 100644 --- a/package/libssh2/libssh2.mk +++ b/package/libssh2/libssh2.mk @@ -13,6 +13,9 @@ LIBSSH2_CPE_ID_VENDOR = libssh2 LIBSSH2_INSTALL_STAGING = YES LIBSSH2_CONF_OPTS = --disable-examples-build --disable-rpath +# 0002-src-add-strict-KEX-to-fix-CVE-2023-48795-Terrapin-Attack.patch +LIBSSH2_IGNORE_CVES += CVE-2023-48795 + ifeq ($(BR2_PACKAGE_LIBSSH2_MBEDTLS),y) LIBSSH2_DEPENDENCIES += mbedtls LIBSSH2_CONF_OPTS += --with-libmbedcrypto-prefix=$(STAGING_DIR)/usr \ diff --git a/package/libstrophe/libstrophe.hash b/package/libstrophe/libstrophe.hash index 3ccba06202..ec5a55985a 100644 --- a/package/libstrophe/libstrophe.hash +++ b/package/libstrophe/libstrophe.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 b3c79b6deeafafc0f622ba3ee3ca67e9a8e7d75edb102588c6b6f52b38c9fa4b libstrophe-0.12.2.tar.xz +sha256 86c0abd348ae66feb40b6886f2c7f04525f1d5b20a48c10d4db4ed532dc63f22 libstrophe-0.13.1.tar.xz sha256 82476f36ffd5e895a176013c0812166ba7b7d99f3d536fc7f5ed2e33e9f74a08 MIT-LICENSE.txt sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL-LICENSE.txt diff --git a/package/libstrophe/libstrophe.mk b/package/libstrophe/libstrophe.mk index 43d55592fa..42d582fe9c 100644 --- a/package/libstrophe/libstrophe.mk +++ b/package/libstrophe/libstrophe.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSTROPHE_VERSION = 0.12.2 +LIBSTROPHE_VERSION = 0.13.1 LIBSTROPHE_SOURCE = libstrophe-$(LIBSTROPHE_VERSION).tar.xz LIBSTROPHE_SITE = https://github.com/strophe/libstrophe/releases/download/$(LIBSTROPHE_VERSION) LIBSTROPHE_DEPENDENCIES = host-pkgconf @@ -13,6 +13,13 @@ LIBSTROPHE_LICENSE_FILES = MIT-LICENSE.txt GPL-LICENSE.txt LIBSTROPHE_INSTALL_STAGING = YES LIBSTROPHE_CONF_OPTS = --disable-examples +ifeq ($(BR2_PACKAGE_C_ARES),y) +LIBSTROPHE_CONF_OPTS += --enable-cares +LIBSTROPHE_DEPENDENCIES += c-ares +else +LIBSTROPHE_CONF_OPTS += --disable-cares +endif + ifeq ($(BR2_PACKAGE_EXPAT),y) LIBSTROPHE_CONF_OPTS += --without-libxml2 LIBSTROPHE_DEPENDENCIES += expat diff --git a/package/libtalloc/libtalloc.hash b/package/libtalloc/libtalloc.hash index 0bc8edb695..5577583881 100644 --- a/package/libtalloc/libtalloc.hash +++ b/package/libtalloc/libtalloc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 179f9ebe265e67e4ab2c26cad2b7de4b6a77c6c212f966903382869f06be6505 talloc-2.3.4.tar.gz -sha256 f8340c449dd64a55c6605b02fcad2aec6f473612ac6026739a22995380a8043c talloc.h +sha256 85ecf9e465e20f98f9950a52e9a411e14320bc555fa257d87697b7e7a9b1d8a6 talloc-2.4.2.tar.gz +sha256 e01fb092aaed2b431be26674e2b791c77fb5984537c29b514e957582c6b31465 talloc.h diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk index ca15180d22..676076b857 100644 --- a/package/libtalloc/libtalloc.mk +++ b/package/libtalloc/libtalloc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTALLOC_VERSION = 2.3.4 +LIBTALLOC_VERSION = 2.4.2 LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz LIBTALLOC_SITE = https://www.samba.org/ftp/talloc LIBTALLOC_LICENSE = LGPL-3.0+ diff --git a/package/libteam/0001-revert-disregard-current-state.patch b/package/libteam/0001-revert-disregard-current-state.patch deleted file mode 100644 index 339afbf416..0000000000 --- a/package/libteam/0001-revert-disregard-current-state.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 61efd6de2fbb8ee077863ee5a355ac3dfd9365b9 Mon Sep 17 00:00:00 2001 -From: Xin Long -Date: Tue, 1 Sep 2020 13:59:27 +0800 -Subject: [PATCH] Revert "teamd: Disregard current state when considering port - enablement" - -This reverts commit deadb5b715227429a1879b187f5906b39151eca9. - -As Patrick noticed, with that commit, teamd_port_check_enable() -would set the team port to the new state unconditionally, which -triggers another change message from kernel to userspace, then -teamd_port_check_enable() is called again to set the team port -to the new state. - -This would go around and around to update the team port state, -and even cause teamd to consume 100% cpu. - -As the issue caused by that commit is serious, it has to be -reverted. As for the issued fixed by that commit, I would -propose a new fix later. - -Signed-off-by: Jiri Pirko ---- - teamd/teamd_per_port.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/teamd/teamd_per_port.c b/teamd/teamd_per_port.c -index 166da57..d429753 100644 ---- a/teamd/teamd_per_port.c -+++ b/teamd/teamd_per_port.c -@@ -442,14 +442,18 @@ int teamd_port_check_enable(struct teamd_context *ctx, - bool should_enable, bool should_disable) - { - bool new_enabled_state; -+ bool curr_enabled_state; - int err; - - if (!teamd_port_present(ctx, tdport)) - return 0; -+ err = teamd_port_enabled(ctx, tdport, &curr_enabled_state); -+ if (err) -+ return err; - -- if (should_enable) -+ if (!curr_enabled_state && should_enable) - new_enabled_state = true; -- else if (should_disable) -+ else if (curr_enabled_state && should_disable) - new_enabled_state = false; - else - return 0; diff --git a/package/libteam/0002-fix-build-on-openwrt-musl-libc.patch b/package/libteam/0002-fix-build-on-openwrt-musl-libc.patch deleted file mode 100644 index f2b38a137d..0000000000 --- a/package/libteam/0002-fix-build-on-openwrt-musl-libc.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 267f24839536234ca621d4fd0466d3b57cb6dccd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pavel=20=C5=A0imerda?= -Date: Tue, 12 Jan 2021 04:41:56 +0100 -Subject: [PATCH] fix build on OpenWRT/musl-libc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Pavel Å imerda -Signed-off-by: Jiri Pirko ---- - teamd/teamd_runner_lacp.c | 2 -- - utils/teamnl.c | 1 + - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c -index 9437f05..f524be2 100644 ---- a/teamd/teamd_runner_lacp.c -+++ b/teamd/teamd_runner_lacp.c -@@ -23,9 +23,7 @@ - #include - #include - #include --#include - #include --#include - #include - #include - #include -diff --git a/utils/teamnl.c b/utils/teamnl.c -index c53345d..ec2b435 100644 ---- a/utils/teamnl.c -+++ b/utils/teamnl.c -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/package/libteam/0003-increase-wait-time-for-daemon-kill.patch b/package/libteam/0003-increase-wait-time-for-daemon-kill.patch deleted file mode 100644 index 7827a654ef..0000000000 --- a/package/libteam/0003-increase-wait-time-for-daemon-kill.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 6875e6c8efb0fe86766b3d4f1d0db390af6998b7 Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -Date: Tue, 15 Dec 2020 19:33:17 +0800 -Subject: [PATCH] teamd: increase the waitting time for daemon killing - -In the current code, we wait for at most 5s when kill the daemon pid. -But in some environment, it may need more time. Then the teamd -k will -failed and return error "Failed to kill daemon: Timer expired". - -Let's increase the value to have enough time. Here is the reuslt with -this patch: - -$ time libteam/teamd/teamd -k -t team0 - -real 0m10.442s -user 0m0.017s -sys 0m0.016s - -Signed-off-by: Hangbin Liu -Signed-off-by: Jiri Pirko ---- - teamd/teamd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/teamd/teamd.c b/teamd/teamd.c -index 9360cbf..b310140 100644 ---- a/teamd/teamd.c -+++ b/teamd/teamd.c -@@ -1858,7 +1858,7 @@ int main(int argc, char **argv) - break; - case DAEMON_CMD_KILL: - if (daemon_pid_file_is_running() > 0) { -- err = daemon_pid_file_kill_wait(SIGTERM, 5); -+ err = daemon_pid_file_kill_wait(SIGTERM, 30); - if (err) - teamd_log_warn("Failed to kill daemon: %s", - strerror(errno)); diff --git a/package/libteam/libteam.hash b/package/libteam/libteam.hash index 39d29425d3..da41c3979e 100644 --- a/package/libteam/libteam.hash +++ b/package/libteam/libteam.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c69f7cf5a98203d66db10e67b396fe325b77a5a9491d1e07e8a07cba3ba841bb libteam-1.31.tar.gz +sha256 7ad90555db8aecdcaf002f543d330408501600edf7065e0ca398fce9b1e64820 libteam-1.32.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libteam/libteam.mk b/package/libteam/libteam.mk index 8bd83aa20d..59eb4c5070 100644 --- a/package/libteam/libteam.mk +++ b/package/libteam/libteam.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTEAM_VERSION = 1.31 +LIBTEAM_VERSION = 1.32 LIBTEAM_SITE = $(call github,jpirko,libteam,v$(LIBTEAM_VERSION)) LIBTEAM_LICENSE = LGPL-2.1+ LIBTEAM_LICENSE_FILES = COPYING @@ -18,6 +18,7 @@ define LIBTEAM_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_NETDEVICES) $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CORE) $(call KCONFIG_ENABLE_OPT,CONFIG_NET_TEAM) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET_TEAM_MODE_ROUNDROBIN) endef $(eval $(autotools-package)) diff --git a/package/libtextstyle/libtextstyle.hash b/package/libtextstyle/libtextstyle.hash deleted file mode 100644 index 5c5aee85bf..0000000000 --- a/package/libtextstyle/libtextstyle.hash +++ /dev/null @@ -1,6 +0,0 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2019-05/msg00011.html -sha1 62f4a6a2fd5f80bfd0e66c497a04094fa3e07b90 gettext-0.20.1.tar.xz - -# Locally calculated -sha256 53f02fbbec9e798b0faaf7c73272f83608e835c6288dd58be6c9bb54624a3800 gettext-0.20.1.tar.xz -sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/package/libtextstyle/libtextstyle.mk b/package/libtextstyle/libtextstyle.mk deleted file mode 100644 index a5afad04b3..0000000000 --- a/package/libtextstyle/libtextstyle.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# -# libtextstyle -# -################################################################################ - -# Please keep in sync with package/gettext-gnu/gettext-gnu.mk -LIBTEXTSTYLE_VERSION = 0.20.1 -LIBTEXTSTYLE_SITE = $(BR2_GNU_MIRROR)/gettext -LIBTEXTSTYLE_SOURCE = gettext-$(LIBTEXTSTYLE_VERSION).tar.xz -LIBTEXTSTYLE_INSTALL_STAGING = YES -LIBTEXTSTYLE_LICENSE = GPL-3.0+ -LIBTEXTSTYLE_LICENSE_FILES = COPYING -HOST_LIBTEXTSTYLE_DL_SUBDIR = gettext-gnu -HOST_LIBTEXTSTYLE_SUBDIR = libtextstyle - -# gettext-tools require libtextstyle.m4 -define HOST_LIBTEXTSTYLE_INSTALL_M4 - $(INSTALL) -D -m 0755 $(@D)/libtextstyle/m4/libtextstyle.m4 \ - $(ACLOCAL_HOST_DIR)/libtextstyle.m4 -endef -HOST_LIBTEXTSTYLE_POST_INSTALL_HOOKS += HOST_LIBTEXTSTYLE_INSTALL_M4 - -$(eval $(host-autotools-package)) diff --git a/package/libtirpc/libtirpc.hash b/package/libtirpc/libtirpc.hash index 1efc3e47e2..40e59f9bcb 100644 --- a/package/libtirpc/libtirpc.hash +++ b/package/libtirpc/libtirpc.hash @@ -1,5 +1,5 @@ # From sourceforge's info on download page: -sha1 6e52c39148494e4836e2d5d4f28b11ddfa65394b libtirpc-1.3.3.tar.bz2 +sha1 63c800f81f823254d2706637bab551dec176b99b libtirpc-1.3.4.tar.bz2 # Locally computed -sha256 6474e98851d9f6f33871957ddee9714fdcd9d8a5ee9abb5a98d63ea2e60e12f3 libtirpc-1.3.3.tar.bz2 +sha256 1e0b0c7231c5fa122e06c0609a76723664d068b0dba3b8219b63e6340b347860 libtirpc-1.3.4.tar.bz2 sha256 17cf6098f95bdbb269f0bbc68e76c88fe20487ca7ec53f454923ab4256ecd2e7 COPYING diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk index 179adc97d0..04196f2f7c 100644 --- a/package/libtirpc/libtirpc.mk +++ b/package/libtirpc/libtirpc.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBTIRPC_VERSION = 1.3.3 +LIBTIRPC_VERSION = 1.3.4 LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2 LIBTIRPC_SITE = http://downloads.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION) LIBTIRPC_LICENSE = BSD-3-Clause LIBTIRPC_LICENSE_FILES = COPYING -LIBTIRPC_CPE_ID_VENDOR = libtirpc_project +LIBTIRPC_CPE_ID_VALID = YES LIBTIRPC_INSTALL_STAGING = YES diff --git a/package/libtommath/libtommath.mk b/package/libtommath/libtommath.mk index 25d4e836bb..7b5305faf6 100644 --- a/package/libtommath/libtommath.mk +++ b/package/libtommath/libtommath.mk @@ -9,6 +9,7 @@ LIBTOMMATH_SITE = https://github.com/libtom/libtommath/releases/download/v$(LIBT LIBTOMMATH_SOURCE = ltm-$(LIBTOMMATH_VERSION).tar.xz LIBTOMMATH_LICENSE = Unlicense LIBTOMMATH_LICENSE_FILES = LICENSE +LIBTOMMATH_CPE_ID_VENDOR = libtom LIBTOMMATH_INSTALL_STAGING = YES LIBTOMMATH_INSTALL_TARGET = NO # only static library diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash index 3f59642b72..b1abe85d84 100644 --- a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c8ad8638684c0a903ebabc30490079e31b1a6a638da2adec5a8bef6a0e62214b libtorrent-rasterbar-1.2.15.tar.gz +sha256 eee8e99548dc5eb5e643e49db9202f4f97112c032dba883dfdc8144af5b6e40e libtorrent-rasterbar-1.2.19.tar.gz sha256 f3a5dd1558cce616b12edad521427ec8976ce2bb0af33f7f359cfa648bf55ad8 COPYING diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk index 085b38343c..6b497bbe58 100644 --- a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTORRENT_RASTERBAR_VERSION = 1.2.15 +LIBTORRENT_RASTERBAR_VERSION = 1.2.19 LIBTORRENT_RASTERBAR_SITE = \ https://github.com/arvidn/libtorrent/releases/download/v$(LIBTORRENT_RASTERBAR_VERSION) LIBTORRENT_RASTERBAR_LICENSE = BSD-3-Clause diff --git a/package/libtraceevent/Config.in b/package/libtraceevent/Config.in new file mode 100644 index 0000000000..28a5b32576 --- /dev/null +++ b/package/libtraceevent/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LIBTRACEEVENT + bool "libtraceevent" + depends on !BR2_STATIC_LIBS # dlfcn.h + help + libtraceevent is a library that interfaces with the ftrace + subsystem in the linux kernel. + It used to be bundled directly in the trace-cmd + tool, but it was eventually extracted so that it can be used + by multiple other tools and libraries, such as libtracefs and + rtla. + + https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ + +comment "libtraceevent needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/libtraceevent/libtraceevent.hash b/package/libtraceevent/libtraceevent.hash new file mode 100644 index 0000000000..c338491f26 --- /dev/null +++ b/package/libtraceevent/libtraceevent.hash @@ -0,0 +1,4 @@ +# Locally computed +sha256 919f0c024c7b5059eace52d854d4df00ae7e361a4033e1b4d6fe01d97064a1b9 libtraceevent-1.8.2.tar.gz +sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/GPL-2.0 +sha256 0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8ca LICENSES/LGPL-2.1 diff --git a/package/libtraceevent/libtraceevent.mk b/package/libtraceevent/libtraceevent.mk new file mode 100644 index 0000000000..da0aa575d7 --- /dev/null +++ b/package/libtraceevent/libtraceevent.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# libtraceevent +# +################################################################################ + +LIBTRACEEVENT_VERSION = 1.8.2 +LIBTRACEEVENT_SITE = https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot +LIBTRACEEVENT_LICENSE = GPL-2.0, LGPL-2.1 +LIBTRACEEVENT_LICENSE_FILES = LICENSES/GPL-2.0 LICENSES/LGPL-2.1 + +LIBTRACEEVENT_INSTALL_STAGING = YES + +LIBTRACEEVENT_CONF_OPTS = \ + -Ddoc=false + +$(eval $(meson-package)) diff --git a/package/libtracefs/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch b/package/libtracefs/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch new file mode 100644 index 0000000000..4a462aab66 --- /dev/null +++ b/package/libtracefs/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch @@ -0,0 +1,34 @@ +From 7d15d7744d957b1721d8e202bd5095b7c449570f Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 10 Jan 2024 21:39:25 +0100 +Subject: [PATCH] libtracefs meson: build tracefs-mmap by default + +Accordingly to Makefile let's add tracefs-mmap.c to build, this is needed +for linking by other object files. + +Link: https://lore.kernel.org/linux-trace-devel/20240110203925.266999-1-giulio.benetti@benettiengineering.com + +Signed-off-by: Giulio Benetti +Signed-off-by: Steven Rostedt (Google) +Upstream: https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/commit/?id=7d15d7744d957b1721d8e202bd5095b7c449570f +[yann.morin.1998@free.fr: do an actual backport] +Signed-off-by: Yann E. MORIN +--- + src/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/meson.build b/src/meson.build +index 5b76554..f7a98b9 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -11,6 +11,7 @@ sources= [ + 'tracefs-instance.c', + 'tracefs-kprobes.c', + 'tracefs-marker.c', ++ 'tracefs-mmap.c', + 'tracefs-record.c', + 'tracefs-sqlhist.c', + 'tracefs-tools.c', +-- +2.43.0 + diff --git a/package/libtracefs/0002-libtracefs-utest-Add-PATH_MAX-if-it-is-not-already-defined.patch b/package/libtracefs/0002-libtracefs-utest-Add-PATH_MAX-if-it-is-not-already-defined.patch new file mode 100644 index 0000000000..121fee5adf --- /dev/null +++ b/package/libtracefs/0002-libtracefs-utest-Add-PATH_MAX-if-it-is-not-already-defined.patch @@ -0,0 +1,40 @@ +From ba750812f68f0f3314494558496c23f934f8faff Mon Sep 17 00:00:00 2001 +From: "Steven Rostedt (Google)" +Date: Thu, 22 Feb 2024 11:02:46 -0500 +Subject: libtracefs utest: Add PATH_MAX if it is not already defined + +In some setups PATH_MAX may not be defined (it is usually defined in +linux/limits.h), but we just use PATH_MAX as something to hold the paths +to the tracing files. In that case, just define it to 1024 if it's not +already defined. + +Link: https://lore.kernel.org/linux-trace-devel/20240222-utest-fixes-v2-1-7b8ee8dca0b7@gmail.com/ + +Fixes: 845f16976929 ("libtracefs: Add unit tests") +Reported-by: Miko Larsson +Signed-off-by: Steven Rostedt (Google) + +Upstream: https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/commit/?id=ba750812f68f0f3314494558496c23f934f8faff +Signed-off-by: Fabrice Fontaine +--- + utest/tracefs-utest.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/utest/tracefs-utest.c b/utest/tracefs-utest.c +index 963fac7..07ecd32 100644 +--- a/utest/tracefs-utest.c ++++ b/utest/tracefs-utest.c +@@ -26,6 +26,10 @@ + + #define gettid() syscall(__NR_gettid) + ++#ifndef PATH_MAX ++#define PATH_MAX 1024 ++#endif ++ + #define TRACEFS_SUITE "tracefs library" + #define TEST_INSTANCE_NAME "cunit_test_iter" + #define TEST_TRACE_DIR "/tmp/trace_utest.XXXXXX" +-- +cgit 1.2.3-korg + diff --git a/package/libtracefs/Config.in b/package/libtracefs/Config.in new file mode 100644 index 0000000000..a46bbe0bb1 --- /dev/null +++ b/package/libtracefs/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_LIBTRACEFS + bool "libtracefs" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS # libtraceevent + select BR2_PACKAGE_LIBTRACEEVENT + help + libtracefs is used to easily interface with the ftrace + interface through the tracefs virtual filesystem. + + https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ + +comment "libtracefs needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libtracefs/libtracefs.hash b/package/libtracefs/libtracefs.hash new file mode 100644 index 0000000000..ebc562eb40 --- /dev/null +++ b/package/libtracefs/libtracefs.hash @@ -0,0 +1,4 @@ +# Locally computed +sha256 f92475d5c4cb509983697fb359ee615bef4f08ed8bdc9c690f6118ba68886de0 libtracefs-1.8.0.tar.gz +sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/GPL-2.0 +sha256 0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8ca LICENSES/LGPL-2.1 diff --git a/package/libtracefs/libtracefs.mk b/package/libtracefs/libtracefs.mk new file mode 100644 index 0000000000..ed45fcbc50 --- /dev/null +++ b/package/libtracefs/libtracefs.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# libtracefs +# +################################################################################ + +LIBTRACEFS_VERSION = 1.8.0 +LIBTRACEFS_SITE = https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot +LIBTRACEFS_INSTALL_STAGING = YES +LIBTRACEFS_LICENSE = GPL-2.0, LGPL-2.1 +LIBTRACEFS_LICENSE_FILES = LICENSES/GPL-2.0 LICENSES/LGPL-2.1 + +LIBTRACEFS_DEPENDENCIES = host-bison host-flex host-pkgconf libtraceevent + +LIBTRACEFS_CONF_OPTS = \ + -Ddoc=false \ + -Dsamples=false + +$(eval $(meson-package)) diff --git a/package/libubootenv/0002-Revert-fw_setenv-fix-bug-when-SPI-flash-write-size-s.patch b/package/libubootenv/0002-Revert-fw_setenv-fix-bug-when-SPI-flash-write-size-s.patch deleted file mode 100644 index 414cb3d205..0000000000 --- a/package/libubootenv/0002-Revert-fw_setenv-fix-bug-when-SPI-flash-write-size-s.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 35bbc4d8155ed86ca7200e060dad98bdfbce684d Mon Sep 17 00:00:00 2001 -From: Stefano Babic -Date: Thu, 15 Jun 2023 16:54:46 +0200 -Subject: [PATCH] Revert "fw_setenv: fix bug when SPI flash write size != - sector size" - -This reverts commit 44ecc1c216007272a6f99a104a71c9d410969d9e. - -mtd writesize was errouneously interpreted as maximum allowed size, but -it is the minimum size. The patch raises performance issues because on -NOR flashes single bytes are written. - -Signed-off-by: Stefano Babic -Upstream: https://github.com/sbabic/libubootenv/commit/9f17a00ee56dc5cfb1d9b51e6639d67b64cb3309 -Signed-off-by: Brandon Maier ---- - src/uboot_env.c | 29 +++++++++-------------------- - 1 file changed, 9 insertions(+), 20 deletions(-) - -diff --git a/src/uboot_env.c b/src/uboot_env.c -index c5eefe7..76e2619 100644 ---- a/src/uboot_env.c -+++ b/src/uboot_env.c -@@ -712,8 +712,6 @@ static int mtdwrite(struct uboot_flash_env *dev, void *data) - sectors = dev->envsectors ? dev->envsectors : 1; - buf = data; - while (count > 0) { -- int blockcount; -- - erase.start = start; - - skip = is_nand_badblock(dev, start); -@@ -744,26 +742,17 @@ static int mtdwrite(struct uboot_flash_env *dev, void *data) - ret =-EIO; - goto devwrite_out; - } -- -- blockcount = blocksize; -- -- /* writesize can be different than the sector size. */ -- -- while (blockcount > 0) { -- if (lseek(dev->fd, start, SEEK_SET) < 0) { -- ret =-EIO; -- goto devwrite_out; -- } -- if (write(dev->fd, buf, dev->mtdinfo.writesize) != dev->mtdinfo.writesize) { -- ret =-EIO; -- goto devwrite_out; -- } -- -- blockcount -= dev->mtdinfo.writesize; -- start += dev->mtdinfo.writesize; -- buf += dev->mtdinfo.writesize; -+ if (lseek(dev->fd, start, SEEK_SET) < 0) { -+ ret =-EIO; -+ goto devwrite_out; -+ } -+ if (write(dev->fd, buf, blocksize) != blocksize) { -+ ret =-EIO; -+ goto devwrite_out; - } - MTDLOCK(dev, &erase); -+ start += dev->sectorsize; -+ buf += blocksize; - count -= blocksize; - ret += blocksize; - } --- -2.41.0 - diff --git a/package/libubootenv/libubootenv.hash b/package/libubootenv/libubootenv.hash index b881994bfd..887ad6843d 100644 --- a/package/libubootenv/libubootenv.hash +++ b/package/libubootenv/libubootenv.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 78faadcfac67e50273e5d4e95e6cf6fee3d486ce9dc568d1fe25312271a88768 libubootenv-0.3.4.tar.gz +sha256 dc27ddcb377e259d898256e90449bc3128437660cacc33dc75f6630d3e52c44e libubootenv-0.3.5.tar.gz sha256 0558101984550fa84d1d13c2af11d116c20079d2be58711e8d99cadce7009192 LICENSES/CC0-1.0.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1-or-later.txt sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSES/MIT.txt diff --git a/package/libubootenv/libubootenv.mk b/package/libubootenv/libubootenv.mk index b4c9588107..e5f5e9b15a 100644 --- a/package/libubootenv/libubootenv.mk +++ b/package/libubootenv/libubootenv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUBOOTENV_VERSION = 0.3.4 +LIBUBOOTENV_VERSION = 0.3.5 LIBUBOOTENV_SITE = $(call github,sbabic,libubootenv,v$(LIBUBOOTENV_VERSION)) LIBUBOOTENV_LICENSE = LGPL-2.1+, MIT, CC0-1.0 LIBUBOOTENV_LICENSE_FILES = LICENSES/CC0-1.0.txt \ diff --git a/package/libucl/libucl.hash b/package/libucl/libucl.hash index 164b00276f..4ad166dc7d 100644 --- a/package/libucl/libucl.hash +++ b/package/libucl/libucl.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a6397e179672f0e8171a0f9a2cfc37e01432b357fd748b13f4394436689d24ef libucl-0.8.1.tar.gz +sha256 d95a0e2151cc167a0f3e51864fea4e8977a0f4c473faa805269a347f7fb4e165 libucl-0.8.2.tar.gz sha256 1bf976835764c1d827e07472a0a75adb098682df56681878af05fc0db7439b03 COPYING diff --git a/package/libucl/libucl.mk b/package/libucl/libucl.mk index 9f0378ad9c..bf5e368f2b 100644 --- a/package/libucl/libucl.mk +++ b/package/libucl/libucl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUCL_VERSION = 0.8.1 +LIBUCL_VERSION = 0.8.2 LIBUCL_SITE = $(call github,vstakhov,libucl,$(LIBUCL_VERSION)) LIBUCL_INSTALL_STAGING = YES LIBUCL_AUTORECONF = YES diff --git a/package/libucontext/Config.in b/package/libucontext/Config.in new file mode 100644 index 0000000000..84a6e89f23 --- /dev/null +++ b/package/libucontext/Config.in @@ -0,0 +1,33 @@ +config BR2_PACKAGE_LIBUCONTEXT_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_m68k + default y if BR2_mips + default y if BR2_mipsel + default y if BR2_mips64 + default y if BR2_mips64el + default y if BR2_or1k + default y if BR2_powerpc + default y if BR2_powerpc64 + default y if BR2_powerpc64le + default y if BR2_riscv && BR2_RISCV_32 + default y if BR2_riscv && BR2_RISCV_64 + default y if BR2_s390x + default y if BR2_sh4 + default y if BR2_sh4eb + default y if BR2_sh4a + default y if BR2_sh4aeb + default y if BR2_i386 + default y if BR2_x86_64 + depends on BR2_TOOLCHAIN_USES_MUSL + +config BR2_PACKAGE_LIBUCONTEXT + bool "libucontext" + depends on BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS + help + Ucontext implementation featuring glibc-compatible ABI. + + https://github.com/kaniini/libucontext diff --git a/package/libucontext/libucontext.hash b/package/libucontext/libucontext.hash new file mode 100644 index 0000000000..a8e1e23e36 --- /dev/null +++ b/package/libucontext/libucontext.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 937fba9d0beebd7cf957b79979b19fe3a29bb9c4bfd25e869477d7154bbf8fd3 libucontext-1.2.tar.gz +# License files, locally calculated +sha256 ecf4be354bbb6ccebdf150d1a8f2b3caeb10cf7c8a580f278a30799372f9e037 LICENSE diff --git a/package/libucontext/libucontext.mk b/package/libucontext/libucontext.mk new file mode 100644 index 0000000000..75c4f9b9e4 --- /dev/null +++ b/package/libucontext/libucontext.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# libucontext +# +################################################################################ + +LIBUCONTEXT_VERSION = 1.2 +LIBUCONTEXT_SITE = $(call github,kaniini,libucontext,libucontext-$(LIBUCONTEXT_VERSION)) +LIBUCONTEXT_LICENSE = ISC +LIBUCONTEXT_LICENSE_FILES = LICENSE +LIBUCONTEXT_INSTALL_STAGING = YES + +LIBUCONTEXT_CONF_OPTS = \ + -Dfreestanding=false \ + -Dexport_unprefixed=true + +$(eval $(meson-package)) diff --git a/package/libuev/libuev.hash b/package/libuev/libuev.hash index e5c9660a02..1b5a9fa721 100644 --- a/package/libuev/libuev.hash +++ b/package/libuev/libuev.hash @@ -1,4 +1,4 @@ -# From https://github.com/troglobit/libuev/releases/download/v2.4.0/libuev-2.4.0.tar.xz.sha256 -sha256 31f1aa4f492ba4f6a5dd6b19968ae6a732968dc05cae6575930560b6cee1f5ef libuev-2.4.0.tar.xz +# From https://github.com/troglobit/libuev/releases/download/v2.4.1/libuev-2.4.1.tar.xz.sha256 +sha256 1d171c572ca48ddd6763f76c54e77d021d4ca7beb007610f7c1fec903511977b libuev-2.4.1.tar.xz # License files -sha256 694a734d9c1b46ae203314ed1c744a1acebd4fe5fc964b761703772546f0d3ab LICENSE +sha256 387d0d8e2aabf187751c8f1ebb9a4abaecaa7e0e05fead27f408193a0f0f17dd LICENSE diff --git a/package/libuev/libuev.mk b/package/libuev/libuev.mk index a32381dcc5..432c362401 100644 --- a/package/libuev/libuev.mk +++ b/package/libuev/libuev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUEV_VERSION = 2.4.0 +LIBUEV_VERSION = 2.4.1 LIBUEV_SOURCE = libuev-$(LIBUEV_VERSION).tar.xz LIBUEV_SITE = https://github.com/troglobit/libuev/releases/download/v$(LIBUEV_VERSION) LIBUEV_LICENSE = MIT diff --git a/package/libunwind/Config.in b/package/libunwind/Config.in index dfd0df30fa..08f7f879c9 100644 --- a/package/libunwind/Config.in +++ b/package/libunwind/Config.in @@ -1,3 +1,17 @@ +config BR2_PACKAGE_LIBUNWIND_MUSL_CONTEXT_REQUIRED + bool + default y + depends on !BR2_ARM_CPU_HAS_ARM + depends on !BR2_aarch64 + depends on !BR2_aarch64_be + depends on !BR2_mips + depends on !BR2_mipsel + depends on !BR2_mips64 + depends on !BR2_mips64el + depends on !BR2_riscv + depends on !BR2_x86_64 + depends on BR2_TOOLCHAIN_USES_MUSL + # libunwind is only available for a certain subset of the # architectures (as visible in the list of architectures supported # with the glibc C library below). @@ -17,7 +31,8 @@ config BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS (BR2_ARM_CPU_HAS_ARM || BR2_mips || BR2_mipsel || \ BR2_mips64 || BR2_mips64el || BR2_x86_64) default y if BR2_TOOLCHAIN_USES_MUSL && \ - (BR2_ARM_CPU_HAS_ARM || BR2_aarch64 || BR2_x86_64) + (!BR2_PACKAGE_LIBUNWIND_MUSL_CONTEXT_REQUIRED || \ + BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS) config BR2_PACKAGE_LIBUNWIND bool "libunwind" @@ -27,6 +42,8 @@ config BR2_PACKAGE_LIBUNWIND # forcefully links against libgcc_s, only available in dynamic # linking configurations depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBUCONTEXT if BR2_TOOLCHAIN_USES_MUSL && \ + BR2_PACKAGE_LIBUNWIND_MUSL_CONTEXT_REQUIRED help C API to determine the call-chain of a program. diff --git a/package/libunwind/libunwind.mk b/package/libunwind/libunwind.mk index 9cd587d0a3..94e9bbd1b8 100644 --- a/package/libunwind/libunwind.mk +++ b/package/libunwind/libunwind.mk @@ -9,11 +9,15 @@ LIBUNWIND_SITE = http://download.savannah.gnu.org/releases/libunwind LIBUNWIND_INSTALL_STAGING = YES LIBUNWIND_LICENSE_FILES = COPYING LIBUNWIND_LICENSE = MIT -LIBUNWIND_CPE_ID_VENDOR = libunwind_project -LIBUNWIND_AUTORECONF = YES +LIBUNWIND_CPE_ID_VALID = YES LIBUNWIND_CONF_OPTS = \ --disable-tests \ $(if $(BR2_INSTALL_LIBSTDCPP),--enable-cxx-exceptions,--disable-cxx-exceptions) +ifeq ($(BR2_PACKAGE_LIBUCONTEXT),y) +LIBUNWIND_DEPENDENCIES += libucontext +LIBUNWIND_CONF_OPTS += LIBS=-lucontext +endif + $(eval $(autotools-package)) diff --git a/package/libupnp/libupnp.hash b/package/libupnp/libupnp.hash index fcb231cff6..6fd4678c0d 100644 --- a/package/libupnp/libupnp.hash +++ b/package/libupnp/libupnp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 025d7aee1ac5ca8f0bd99cb58b83fcfca0efab0c5c9c1d48f72667fe40788a4e libupnp-1.14.13.tar.bz2 +sha256 16a7cee93ce2868ae63ab1a8164dc7de43577c59983b9f61293a310d6888dceb libupnp-1.14.18.tar.bz2 sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/package/libupnp/libupnp.mk b/package/libupnp/libupnp.mk index 8c6ae005a0..61e52c095a 100644 --- a/package/libupnp/libupnp.mk +++ b/package/libupnp/libupnp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUPNP_VERSION = 1.14.13 +LIBUPNP_VERSION = 1.14.18 LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2 LIBUPNP_SITE = \ http://downloads.sourceforge.net/project/pupnp/release-$(LIBUPNP_VERSION) @@ -12,7 +12,7 @@ LIBUPNP_CONF_ENV = ac_cv_lib_compat_ftime=no LIBUPNP_INSTALL_STAGING = YES LIBUPNP_LICENSE = BSD-3-Clause LIBUPNP_LICENSE_FILES = COPYING -LIBUPNP_CPE_ID_VENDOR = libupnp_project +LIBUPNP_CPE_ID_VALID = YES LIBUPNP_DEPENDENCIES = host-pkgconf # Bind the internal miniserver socket with reuseaddr to allow clean restarts. diff --git a/package/liburcu/0002-fix-don-t-use-C-thread_local-on-MacOs.patch b/package/liburcu/0002-fix-don-t-use-C-thread_local-on-MacOs.patch deleted file mode 100644 index 002df34d70..0000000000 --- a/package/liburcu/0002-fix-don-t-use-C-thread_local-on-MacOs.patch +++ /dev/null @@ -1,41 +0,0 @@ -From e915ab84fd0c02d37504f3eb1e1f3be93ea6dc37 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson -Date: Thu, 9 Sep 2021 12:11:16 -0400 -Subject: [PATCH] fix: don't use C++ thread_local on MacOs - -Recent versions of Apple's clang++ do support 'thread_local' but the -implementation generates additional helper symbols. This is a problem -when accessing an extern TLS variable in a C++ compile unit that is -provided by a C library that doesn't have those extra symbols. - -Fallback to using '__thread' on MacOs. - -Change-Id: I87cb5b3c9293f7bf66f7115f453b546dd793a449 -Signed-off-by: Michael Jeanson -Signed-off-by: Mathieu Desnoyers - -[Retrieved from: -https://github.com/urcu/userspace-rcu/commit/e915ab84fd0c02d37504f3eb1e1f3be93ea6dc37] -Signed-off-by: Fabrice Fontaine ---- - include/urcu/tls-compat.h | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/include/urcu/tls-compat.h b/include/urcu/tls-compat.h -index 24ef1b9a..25cf375a 100644 ---- a/include/urcu/tls-compat.h -+++ b/include/urcu/tls-compat.h -@@ -34,7 +34,12 @@ extern "C" { - - #ifdef CONFIG_RCU_TLS - --#if defined (__cplusplus) && (__cplusplus >= 201103L) -+/* -+ * Don't use C++ 'thread_local' on MacOs, the implementation is incompatible -+ * with C and will result in a link error when accessing an extern variable -+ * provided by the C library from C++ code. -+ */ -+#if defined (__cplusplus) && (__cplusplus >= 201103L) && !defined(__APPLE__) - # define URCU_TLS_STORAGE_CLASS thread_local - #elif defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) - # define URCU_TLS_STORAGE_CLASS _Thread_local diff --git a/package/liburcu/0003-Always-use-__thread-for-Thread-local-storage-except-on-MSVC.patch b/package/liburcu/0003-Always-use-__thread-for-Thread-local-storage-except-on-MSVC.patch deleted file mode 100644 index aa71cf2f20..0000000000 --- a/package/liburcu/0003-Always-use-__thread-for-Thread-local-storage-except-on-MSVC.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 2e359284497c361e3208501fc70d49b2c54dc4ef Mon Sep 17 00:00:00 2001 -From: Michael Jeanson -Date: Tue, 14 Sep 2021 10:41:08 -0400 -Subject: [PATCH] Always use '__thread' for Thread local storage except on MSVC - -Use the GCC extension '__thread' [1] for Thread local storage on all C -and C++ compilers except MSVC. - -While C11 and C++11 respectively offer '_Thread_local' and -'thread_local' as potentialy faster implementations, they offer no -guarantees of compatibility when used in a library interface which might -be used by both C and C++ client code. - -[1] https://gcc.gnu.org/onlinedocs/gcc/Thread-Local.html - -Change-Id: If4fe8bcdbda24b21dedf382112bd5c5f836c00c8 -Signed-off-by: Michael Jeanson -Signed-off-by: Mathieu Desnoyers - -[Retrieved from: -https://github.com/urcu/userspace-rcu/commit/2e359284497c361e3208501fc70d49b2c54dc4ef] -Signed-off-by: Fabrice Fontaine ---- - include/urcu/tls-compat.h | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/include/urcu/tls-compat.h b/include/urcu/tls-compat.h -index 25cf375a..a2c94ded 100644 ---- a/include/urcu/tls-compat.h -+++ b/include/urcu/tls-compat.h -@@ -35,15 +35,14 @@ extern "C" { - #ifdef CONFIG_RCU_TLS - - /* -- * Don't use C++ 'thread_local' on MacOs, the implementation is incompatible -- * with C and will result in a link error when accessing an extern variable -- * provided by the C library from C++ code. -+ * Default to '__thread' on all C and C++ compilers except MSVC. While C11 has -+ * '_Thread_local' and C++11 has 'thread_local', only '__thread' seems to have -+ * a compatible implementation when linking public extern symbols across -+ * language boundaries. -+ * -+ * For more details, see 'https://gcc.gnu.org/onlinedocs/gcc/Thread-Local.html'. - */ --#if defined (__cplusplus) && (__cplusplus >= 201103L) && !defined(__APPLE__) --# define URCU_TLS_STORAGE_CLASS thread_local --#elif defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) --# define URCU_TLS_STORAGE_CLASS _Thread_local --#elif defined (_MSC_VER) -+#if defined(_MSC_VER) - # define URCU_TLS_STORAGE_CLASS __declspec(thread) - #else - # define URCU_TLS_STORAGE_CLASS __thread diff --git a/package/liburcu/Config.in b/package/liburcu/Config.in index 5dc8528971..5e8fd6060f 100644 --- a/package/liburcu/Config.in +++ b/package/liburcu/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_LIBURCU bool "liburcu" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP help Userspace implementation of the Read-Copy-Update (RCU) synchronization mechanism. This library is mainly used by @@ -25,6 +26,7 @@ config BR2_PACKAGE_LIBURCU http://lttng.org/urcu -comment "liburcu needs a toolchain w/ threads" +comment "liburcu needs a toolchain w/ threads, C++" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/liburcu/liburcu.hash b/package/liburcu/liburcu.hash index bed765dd6f..a78b196ef6 100644 --- a/package/liburcu/liburcu.hash +++ b/package/liburcu/liburcu.hash @@ -1,5 +1,5 @@ -# http://www.lttng.org/files/urcu/userspace-rcu-0.13.2.tar.bz2.sha256 -sha256 1213fd9f1b0b74da7de2bb74335b76098db9738fec5d3cdc07c0c524f34fc032 userspace-rcu-0.13.2.tar.bz2 +# http://www.lttng.org/files/urcu/userspace-rcu-0.14.0.tar.bz2.sha256 +sha256 ca43bf261d4d392cff20dfae440836603bf009fce24fdc9b2697d837a2239d4f userspace-rcu-0.14.0.tar.bz2 # Hash for license files sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 lgpl-2.1.txt diff --git a/package/liburcu/liburcu.mk b/package/liburcu/liburcu.mk index d7776c61ec..bb5e2c0ec7 100644 --- a/package/liburcu/liburcu.mk +++ b/package/liburcu/liburcu.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBURCU_VERSION = 0.13.2 +LIBURCU_VERSION = 0.14.0 LIBURCU_SITE = http://lttng.org/files/urcu LIBURCU_SOURCE = userspace-rcu-$(LIBURCU_VERSION).tar.bz2 LIBURCU_LICENSE = LGPL-2.1+ (library), MIT-like (few source files listed in LICENSE), GPL-2.0+ (test), GPL-3.0 (few *.m4 files) diff --git a/package/liburing/0001-src-arch-aarch64-fix-uclibc-build.patch b/package/liburing/0001-src-arch-aarch64-fix-uclibc-build.patch new file mode 100644 index 0000000000..4468105e4f --- /dev/null +++ b/package/liburing/0001-src-arch-aarch64-fix-uclibc-build.patch @@ -0,0 +1,39 @@ +From f03f8da34fe96ac35a916ca3058b0f41971eae3b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 16 Feb 2024 18:59:42 +0100 +Subject: [PATCH] src/arch/aarch64: fix uclibc build + +Fix the following build failure with uclibc-ng raised since version 2.3 +and +https://github.com/axboe/liburing/commit/c6bc86e2125bcd6fa10ff2b128cd86486acadff6: + +In file included from lib.h:12, + from setup.c:4: +arch/aarch64/lib.h:7:10: fatal error: sys/auxv.h: No such file or directory + 7 | #include + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/cc44d714c9267dd7a98debeb8c81c4ee1efe4ebb + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/axboe/liburing/commit/32f9c27a76c43627f79bb77469d2da8583e4d3df +--- + src/arch/aarch64/lib.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/arch/aarch64/lib.h b/src/arch/aarch64/lib.h +index 3b701b1..41bcfc9 100644 +--- a/src/arch/aarch64/lib.h ++++ b/src/arch/aarch64/lib.h +@@ -4,7 +4,6 @@ + #define LIBURING_ARCH_AARCH64_LIB_H + + #include +-#include + #include "../../syscall.h" + + static inline long __get_page_size(void) +-- +2.43.0 + diff --git a/package/liburing/liburing.hash b/package/liburing/liburing.hash index 7d3306850f..30458c6b9f 100644 --- a/package/liburing/liburing.hash +++ b/package/liburing/liburing.hash @@ -1,8 +1,8 @@ # Locally calculated -sha256 0fcd25dc1eb32cbeb534219f8e7fcfeadbd8dc2304aa447148e5ca8408076f22 liburing-2.2.tar.bz2 +sha256 319ff9096a5655362a9741c5145b45494db810e38679a1de82e2f440c17181a6 liburing-2.5.tar.bz2 # Hash for license files sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL sha256 2ec12f7934cdfce25ff72b0557738989d79fc7a496d1cf9b2d3f9464fd61edbe LICENSE -sha256 1c3351726408c22787dafbb5cc4bfeaa38ca8e92eabf59a36a046a5a2e66108f README +sha256 51e124279343177cb3c214ffddc011f1355b6eba0bbefca4f4c41fbc56574c92 README diff --git a/package/liburing/liburing.mk b/package/liburing/liburing.mk index e98c710997..2c448d6a87 100644 --- a/package/liburing/liburing.mk +++ b/package/liburing/liburing.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBURING_VERSION = 2.2 +LIBURING_VERSION = 2.5 LIBURING_SOURCE = liburing-$(LIBURING_VERSION).tar.bz2 LIBURING_SITE = https://git.kernel.dk/cgit/liburing/snapshot LIBURING_LICENSE = (GPL-2.0 with exceptions and LGPL-2.1+) or MIT diff --git a/package/libusb-compat/0001-fix-a-build-issue-on-linux.patch b/package/libusb-compat/0001-fix-a-build-issue-on-linux.patch deleted file mode 100644 index d2e26b321c..0000000000 --- a/package/libusb-compat/0001-fix-a-build-issue-on-linux.patch +++ /dev/null @@ -1,32 +0,0 @@ -From af07587e8775c25450cda8ba9e9a8b1a58072634 Mon Sep 17 00:00:00 2001 -From: Bartosz Golaszewski -Date: Mon, 3 Jul 2017 15:55:00 +0200 -Subject: [PATCH] fix a build issue on linux - -On linux PATH_MAX is defined in linux/limits.h. If we include usb.h -without previously having indirectly included it, the build fails. - -Signed-off-by: Bartosz Golaszewski ---- - libusb/usb.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libusb/usb.h b/libusb/usb.h -index d2c30aa..7ad9a66 100644 ---- a/libusb/usb.h -+++ b/libusb/usb.h -@@ -41,6 +41,11 @@ typedef unsigned __int32 uint32_t; - #include - #endif - -+/* On linux PATH_MAX is defined in linux/limits.h. */ -+#if defined(__linux__) -+#include -+#endif -+ - /* - * USB spec information - * --- -2.9.3 - diff --git a/package/libusb-compat/libusb-compat.hash b/package/libusb-compat/libusb-compat.hash index 3acf3c3408..b22fa5434d 100644 --- a/package/libusb-compat/libusb-compat.hash +++ b/package/libusb-compat/libusb-compat.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 8259f8d5b084fe43c47823a939e955e0ba21942b8d112266c39d228cc14764d6 libusb-compat-0.1.7.tar.bz2 +sha256 d199c173fd3cd9d27c7f4bb6608befc7eb761984e6664da7d9d4386ff66fe6fc libusb-compat-0.1.8.tar.gz sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/libusb-compat/libusb-compat.mk b/package/libusb-compat/libusb-compat.mk index 7c87b3c9d8..b54dbded27 100644 --- a/package/libusb-compat/libusb-compat.mk +++ b/package/libusb-compat/libusb-compat.mk @@ -5,8 +5,7 @@ ################################################################################ LIBUSB_COMPAT_VERSION_MAJOR = 0.1 -LIBUSB_COMPAT_VERSION = $(LIBUSB_COMPAT_VERSION_MAJOR).7 -LIBUSB_COMPAT_SOURCE = libusb-compat-$(LIBUSB_COMPAT_VERSION).tar.bz2 +LIBUSB_COMPAT_VERSION = $(LIBUSB_COMPAT_VERSION_MAJOR).8 LIBUSB_COMPAT_SITE = https://github.com/libusb/libusb-compat-0.1/releases/download/v$(LIBUSB_COMPAT_VERSION) LIBUSB_COMPAT_DEPENDENCIES = host-pkgconf libusb HOST_LIBUSB_COMPAT_DEPENDENCIES = host-pkgconf host-libusb diff --git a/package/libutempter/0001-force-symlink-creation.patch b/package/libutempter/0001-force-symlink-creation.patch new file mode 100644 index 0000000000..c30928afd5 --- /dev/null +++ b/package/libutempter/0001-force-symlink-creation.patch @@ -0,0 +1,36 @@ +From 13e0a4ca67d860bc8f1e3b2ad6a3926758d76b47 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Wed, 22 Nov 2023 14:09:13 -0700 +Subject: [PATCH] force symlink creation + +Force symlink creation to avoid errors when reinstalling + +Upstream: https://github.com/altlinux/libutempter/pull/5 +Signed-off-by: Adam Duskett +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 8c90121..1cfc627 100644 +--- a/Makefile ++++ b/Makefile +@@ -83,12 +83,12 @@ install: + $(INSTALL) -p -m644 $(PROJECT).h $(DESTDIR)$(includedir)/ + $(INSTALL) -p -m755 $(SHAREDLIB) $(DESTDIR)$(libdir)/$(SHAREDLIB).$(VERSION) + $(INSTALL) -p -m644 $(STATICLIB) $(DESTDIR)$(libdir)/ +- ln -s $(SHAREDLIB).$(VERSION) $(DESTDIR)$(libdir)/$(SONAME) +- ln -s $(SONAME) $(DESTDIR)$(libdir)/$(SHAREDLIB) ++ ln -sf $(SHAREDLIB).$(VERSION) $(DESTDIR)$(libdir)/$(SONAME) ++ ln -sf $(SONAME) $(DESTDIR)$(libdir)/$(SHAREDLIB) + $(INSTALL) -p -m644 $(PROJECT).3 $(DESTDIR)$(man3dir)/ + for n in lib$(PROJECT) utempter_add_record utempter_remove_record \ + utempter_remove_added_record utempter_set_helper; do \ +- ln -s $(PROJECT).3 $(DESTDIR)$(man3dir)/$$n.3; \ ++ ln -sf $(PROJECT).3 $(DESTDIR)$(man3dir)/$$n.3; \ + done + + clean: +-- +2.42.0 + diff --git a/package/libutempter/Config.in b/package/libutempter/Config.in new file mode 100644 index 0000000000..5b79c1e44d --- /dev/null +++ b/package/libutempter/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_LIBUTEMPTER + bool "libutempter" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + depends on !BR2_STATIC_LIBS + help + The libutempter library provides interface for terminal + emulators such as screen and xterm to record user + sessions to utmp and wtmp files. + + http://ftp.altlinux.org/pub/people/ldv/utempter/ + +comment "libutempter needs a toolchain w/ headers >= 4.14, dynamic library" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 || BR2_STATIC_LIBS diff --git a/package/libutempter/libutempter.hash b/package/libutempter/libutempter.hash new file mode 100644 index 0000000000..53a6c6db63 --- /dev/null +++ b/package/libutempter/libutempter.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 967fef372f391de501843ad87570c6cf5dabd9651f00f1783090fbc12b2a34cb libutempter-1.2.1.tar.gz +sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING diff --git a/package/libutempter/libutempter.mk b/package/libutempter/libutempter.mk new file mode 100644 index 0000000000..d51f70049c --- /dev/null +++ b/package/libutempter/libutempter.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# libutempter +# +################################################################################ + +LIBUTEMPTER_VERSION = 1.2.1 +LIBUTEMPTER_SITE = ftp.altlinux.org/pub/people/ldv/utempter +LIBUTEMPTER_INSTALL_STAGING = YES +LIBUTEMPTER_LICENSE = LGPL-2.1+ +LIBUTEMPTER_LICENSE_FILES = COPYING + +define LIBUTEMPTER_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define LIBUTEMPTER_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/ install +endef + +define LIBUTEMPTER_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/ install +endef + +$(eval $(generic-package)) diff --git a/package/libuv/libuv.hash b/package/libuv/libuv.hash index 1fd286d9e9..2ca8f64a80 100644 --- a/package/libuv/libuv.hash +++ b/package/libuv/libuv.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 94f101111ef3209340d7f09c2aa150ddb4feabd2f9d87d47d9f5bded835b8094 libuv-v1.46.0-dist.tar.gz +sha256 c593139feb9061699fdd2f7fde47bb6c1ca77761ae9ec04f052083f1ef46c13b libuv-v1.48.0-dist.tar.gz sha256 16de0c32b265cb7d46a6d3bd614f259dd4d693a5e26b3407b04aae8d73041f0c LICENSE sha256 262c44bd2cdba037e6d2a82fba15f5800d292bc993a6f5d6b6ea487744d02836 LICENSE-extra diff --git a/package/libuv/libuv.mk b/package/libuv/libuv.mk index 76316484e4..5f96e98a98 100644 --- a/package/libuv/libuv.mk +++ b/package/libuv/libuv.mk @@ -6,7 +6,7 @@ # When bumping libuv, check if a new version of uvw is available # and bump it too. -LIBUV_VERSION = 1.46.0 +LIBUV_VERSION = 1.48.0 LIBUV_SOURCE = libuv-v$(LIBUV_VERSION)-dist.tar.gz LIBUV_SITE = https://dist.libuv.org/dist/v$(LIBUV_VERSION) LIBUV_DEPENDENCIES = host-pkgconf diff --git a/package/libuwsc/0001-CMakeLists.txt-add-BUILD_EXAMPLE.patch b/package/libuwsc/0001-CMakeLists.txt-add-BUILD_EXAMPLE.patch index 197dd1de0f..87f343a9d9 100644 --- a/package/libuwsc/0001-CMakeLists.txt-add-BUILD_EXAMPLE.patch +++ b/package/libuwsc/0001-CMakeLists.txt-add-BUILD_EXAMPLE.patch @@ -6,7 +6,7 @@ Subject: [PATCH] CMakeLists.txt: add BUILD_EXAMPLE Allow the user to disable example Signed-off-by: Fabrice Fontaine -[yann.morin.1998@free.fr: backport from upstream] +Upstream: https://github.com/zhaojh329/libuwsc/commit/bb71b21eb9407479ad729b3c858b0fc350fae335 Signed-off-by: Yann E. MORIN --- CMakeLists.txt | 6 +++++- diff --git a/package/libuwsc/0002-fix-bad-indentation.patch b/package/libuwsc/0002-fix-bad-indentation.patch index f33f944d06..77cae92cf2 100644 --- a/package/libuwsc/0002-fix-bad-indentation.patch +++ b/package/libuwsc/0002-fix-bad-indentation.patch @@ -5,8 +5,7 @@ Subject: [PATCH] fix bad indentation Fixes error with GCC11. -[Retrieved from: -https://github.com/zhaojh329/libuwsc/commit/8cb416140741a596235b8acc46b2b119b13ebfab] +Upstream: https://github.com/zhaojh329/libuwsc/commit/8cb416140741a596235b8acc46b2b119b13ebfab Signed-off-by: Fabrice Fontaine --- src/lua/uwsc_lua.c | 2 +- diff --git a/package/libuwsc/0003-src-ssl.c-fix-wolfssl-build.patch b/package/libuwsc/0003-src-ssl.c-fix-wolfssl-build.patch new file mode 100644 index 0000000000..4c652a63c2 --- /dev/null +++ b/package/libuwsc/0003-src-ssl.c-fix-wolfssl-build.patch @@ -0,0 +1,37 @@ +From 1c3579e99163a13d622c3ef44088c23d5eea306d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 14 Jan 2024 16:44:13 +0100 +Subject: [PATCH] src/ssl.c: fix wolfssl build + +wolfssl/options.h must also be included by clients to avoid the +following build failure because OPENSSL_ALL won't be defined: + +/home/autobuild/autobuild/instance-6/output-1/build/libuwsc-3.3.5/src/ssl.c:62:5: error: unknown type name 'SSL_CTX' + 62 | SSL_CTX *ctx; + | ^~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/edc49cce5b1f456d980841f4c315e7cd784b1561 + +Signed-off-by: Fabrice Fontaine +Upstream: N/A (already fixed by +https://github.com/zhaojh329/ssl/commit/c40ebcd7b4277321acbbd4b00b4b10fd363c7a97) +--- + src/ssl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/ssl.c b/src/ssl.c +index 3640022..6a3d250 100644 +--- a/src/ssl.c ++++ b/src/ssl.c +@@ -54,6 +54,7 @@ struct uwsc_ssl_ctx { + #include + #elif UWSC_HAVE_WOLFSSL + #define WC_NO_HARDEN ++#include + #include + #include + #endif +-- +2.43.0 + diff --git a/package/libva-utils/libva-utils.hash b/package/libva-utils/libva-utils.hash index e46a0522f8..f82a251ef8 100644 --- a/package/libva-utils/libva-utils.hash +++ b/package/libva-utils/libva-utils.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4135992ab534d0cfd71a93c28e1a22f79c0003cf8d157ffd4621e5e482191b4f libva-utils-2.19.0.tar.gz +sha256 97413a7ec27ec479b97ffc7ab8acebe053615224a4b051602859cf9f88e4e889 libva-utils-2.20.1.tar.gz sha256 c6220c9f87832c27abcb8a32eafdd2823e13ce146b3ea63d5deae2a76798ef50 COPYING diff --git a/package/libva-utils/libva-utils.mk b/package/libva-utils/libva-utils.mk index 4b2f5907ea..1f53964789 100644 --- a/package/libva-utils/libva-utils.mk +++ b/package/libva-utils/libva-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVA_UTILS_VERSION = 2.19.0 +LIBVA_UTILS_VERSION = 2.20.1 LIBVA_UTILS_SITE = $(call github,intel,libva-utils,$(LIBVA_UTILS_VERSION)) LIBVA_UTILS_LICENSE = MIT LIBVA_UTILS_LICENSE_FILES = COPYING diff --git a/package/libva/libva.hash b/package/libva/libva.hash index b9dba9e91a..2fffe8701f 100644 --- a/package/libva/libva.hash +++ b/package/libva/libva.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8cb5e2a9287a76b12c0b6cb96f4f27a0321bbe693df43cd950e5d4542db7f227 libva-2.19.0.tar.gz +sha256 117f8d658a5fc9ea406ca80a3eb4ae1d70b15a54807c9ed77199c812bed73b60 libva-2.20.0.tar.gz sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING diff --git a/package/libva/libva.mk b/package/libva/libva.mk index fd796cfd6a..4481be9e7b 100644 --- a/package/libva/libva.mk +++ b/package/libva/libva.mk @@ -4,12 +4,13 @@ # ################################################################################ -LIBVA_VERSION = 2.19.0 +LIBVA_VERSION = 2.20.0 LIBVA_SITE = $(call github,intel,libva,$(LIBVA_VERSION)) LIBVA_LICENSE = MIT LIBVA_LICENSE_FILES = COPYING LIBVA_INSTALL_STAGING = YES LIBVA_DEPENDENCIES = host-pkgconf libdrm +LIBVA_CFLAGS = $(TARGET_CFLAGS) -std=gnu99 # libdrm is a hard-dependency LIBVA_CONF_OPTS = \ diff --git a/package/libvips/libvips.mk b/package/libvips/libvips.mk index 1a0f9d5ead..8eb1f0964e 100644 --- a/package/libvips/libvips.mk +++ b/package/libvips/libvips.mk @@ -9,7 +9,7 @@ LIBVIPS_SOURCE = vips-$(LIBVIPS_VERSION).tar.gz LIBVIPS_SITE = https://github.com/libvips/libvips/releases/download/v$(LIBVIPS_VERSION) LIBVIPS_LICENSE = LGPL-2.1+ LIBVIPS_LICENSE_FILES = COPYING -LIBVIPS_CPE_ID_VENDOR = libvips_project +LIBVIPS_CPE_ID_VENDOR = libvips # Sparc64 compile fails, for all optimization levels except -O0. To # fix the problem, use -O0 with no optimization instead. Bug reported diff --git a/package/libvncserver/libvncserver.mk b/package/libvncserver/libvncserver.mk index 700e26a8d6..3a15a82d08 100644 --- a/package/libvncserver/libvncserver.mk +++ b/package/libvncserver/libvncserver.mk @@ -9,7 +9,7 @@ LIBVNCSERVER_SOURCE = LibVNCServer-$(LIBVNCSERVER_VERSION).tar.gz LIBVNCSERVER_SITE = https://github.com/LibVNC/libvncserver/archive LIBVNCSERVER_LICENSE = GPL-2.0+ LIBVNCSERVER_LICENSE_FILES = COPYING -LIBVNCSERVER_CPE_ID_VENDOR = libvncserver_project +LIBVNCSERVER_CPE_ID_VALID = YES LIBVNCSERVER_INSTALL_STAGING = YES LIBVNCSERVER_DEPENDENCIES = host-pkgconf lzo LIBVNCSERVER_CONF_OPTS = -DWITH_LZO=ON diff --git a/package/libvpl/0001-Don-t-force-fstack-protector.patch b/package/libvpl/0001-Don-t-force-fstack-protector.patch new file mode 100644 index 0000000000..14948e28cc --- /dev/null +++ b/package/libvpl/0001-Don-t-force-fstack-protector.patch @@ -0,0 +1,32 @@ +From 682a9eabc71c2e33ebbbba2e75d0ba7caa08c7c8 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 8 May 2023 20:03:22 +0200 +Subject: [PATCH] Don't force -fstack-protector + +This allows the environment to decide whether SSP should be used or +not, for example to support toolchains that don't have SSP support. + +Upstream: Not applicable + +Signed-off-by: Bernd Kuhls +--- + cmake/CompileOptions.cmake | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/cmake/CompileOptions.cmake b/cmake/CompileOptions.cmake +index 9923f1c..5b24622 100644 +--- a/cmake/CompileOptions.cmake ++++ b/cmake/CompileOptions.cmake +@@ -54,9 +54,6 @@ else() + add_definitions("-D_FORTIFY_SOURCE=2") + endif() + endif() +- if(NOT MINGW) +- add_compile_options("-fstack-protector-strong") +- endif() + if(NOT MINGW) + add_link_options("-Wl,-z,relro,-z,now,-z,noexecstack") + endif() +-- +2.39.2 + diff --git a/package/libvpl/Config.in b/package/libvpl/Config.in new file mode 100644 index 0000000000..b9e9a20fd7 --- /dev/null +++ b/package/libvpl/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS + bool + default y if BR2_ARCH_IS_64 + default y if BR2_arm + +config BR2_PACKAGE_LIBVPL + bool "libvpl" + depends on BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND + # libva support needs a libdrm with intel driver + select BR2_PACKAGE_LIBDRM_INTEL if BR2_PACKAGE_LIBVA && \ + (BR2_i386 || BR2_x86_64) && \ + BR2_PACKAGE_LIBDRM_HAS_ATOMIC + select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + help + oneAPI Video Processing Library (oneVPL) dispatcher, + tools, and examples + + https://github.com/oneapi-src/oneVPL + +comment "libvpl needs a toolchain w/ dynamic library, gcc >= 7, C++, threads" + depends on BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libvpl/libvpl.hash b/package/libvpl/libvpl.hash new file mode 100644 index 0000000000..19407e01ba --- /dev/null +++ b/package/libvpl/libvpl.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 ad956ea7ecf14614325f59dfb44cc5ba08e2fcac373342d61c7db152ac651253 libvpl-2.10.2.tar.gz +sha256 bf1cfac2e2792b6e1e995ce103d70796aecaf2ec7e4c5fe5474f7acec7b4a677 LICENSE diff --git a/package/libvpl/libvpl.mk b/package/libvpl/libvpl.mk new file mode 100644 index 0000000000..645fda14de --- /dev/null +++ b/package/libvpl/libvpl.mk @@ -0,0 +1,44 @@ +################################################################################ +# +# libvpl +# +################################################################################ + +LIBVPL_VERSION = 2.10.2 +LIBVPL_SITE = $(call github,intel,libvpl,v$(LIBVPL_VERSION)) +LIBVPL_LICENSE = MIT +LIBVPL_LICENSE_FILES = LICENSE +LIBVPL_INSTALL_STAGING = YES +LIBVPL_DEPENDENCIES = host-pkgconf + +LIBVPL_CONF_OPTS = \ + -DBUILD_TOOLS=OFF \ + -DINSTALL_EXAMPLE_CODE=OFF + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBVPL_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="-latomic" +endif + +ifeq ($(BR2_PACKAGE_LIBVA),y) +LIBVPL_CONF_OPTS += -DENABLE_VA=ON +LIBVPL_DEPENDENCIES += libva +else +LIBVPL_CONF_OPTS += -DENABLE_VA=OFF +endif + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +LIBVPL_CONF_OPTS += -DENABLE_WAYLAND=ON +LIBVPL_DEPENDENCIES += wayland wayland-protocols +else +LIBVPL_CONF_OPTS += -DENABLE_WAYLAND=OFF +endif + +ifeq ($(BR2_PACKAGE_XORG7),y) +LIBVPL_CONF_OPTS += -DENABLE_X11=ON +LIBVPL_DEPENDENCIES += libxcb xlib_libX11 +else +LIBVPL_CONF_OPTS += -DENABLE_X11=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/libvpx/0002-VP8-disallow-thread-count-changes.patch b/package/libvpx/0002-VP8-disallow-thread-count-changes.patch deleted file mode 100644 index d625255a9f..0000000000 --- a/package/libvpx/0002-VP8-disallow-thread-count-changes.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 3fbd1dca6a4d2dad332a2110d646e4ffef36d590 Mon Sep 17 00:00:00 2001 -From: James Zern -Date: Mon, 25 Sep 2023 18:55:59 -0700 -Subject: [PATCH] VP8: disallow thread count changes - -Currently allocations are done at encoder creation time. Going from -threaded to non-threaded would cause a crash. - -Bug: chromium:1486441 -Change-Id: Ie301c2a70847dff2f0daae408fbef1e4d42e73d4 - -Fixes CVE-2023-5217: https://www.cve.org/CVERecord?id=CVE-2023-5217 - -Upstream: https://github.com/webmproject/libvpx/commit/3fbd1dca6a4d2dad332a2110d646e4ffef36d590 -Upstream: https://chromium.googlesource.com/webm/libvpx/+/3fbd1dca6a4d2dad332a2110d646e4ffef36d590 - -[Bernd: Removed patch for test/encode_api_test.cc] -Signed-off-by: Bernd Kuhls ---- - vp8/encoder/onyx_if.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c -index c65afc643bf..c5e9970c3cc 100644 ---- a/vp8/encoder/onyx_if.c -+++ b/vp8/encoder/onyx_if.c -@@ -1447,6 +1447,11 @@ void vp8_change_config(VP8_COMP *cpi, VP8_CONFIG *oxcf) { - last_h = cpi->oxcf.Height; - prev_number_of_layers = cpi->oxcf.number_of_layers; - -+ if (cpi->initial_width) { -+ // TODO(https://crbug.com/1486441): Allow changing thread counts; the -+ // allocation is done once in vp8_create_compressor(). -+ oxcf->multi_threaded = cpi->oxcf.multi_threaded; -+ } - cpi->oxcf = *oxcf; - - switch (cpi->oxcf.Mode) { diff --git a/package/libvpx/libvpx.hash b/package/libvpx/libvpx.hash index c88e6840cf..7cda8cc2eb 100644 --- a/package/libvpx/libvpx.hash +++ b/package/libvpx/libvpx.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 cb2a393c9c1fae7aba76b950bb0ad393ba105409fe1a147ccd61b0aaa1501066 libvpx-1.13.0.tar.gz +sha256 00dae80465567272abd077f59355f95ac91d7809a2d3006f9ace2637dd429d14 libvpx-1.13.1.tar.gz sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 LICENSE sha256 cc3273e0694ea5896145e0677699b53471b03ea43021ddc50e7923fbb9f5023c PATENTS diff --git a/package/libvpx/libvpx.mk b/package/libvpx/libvpx.mk index b558c41981..9092ca6a8e 100644 --- a/package/libvpx/libvpx.mk +++ b/package/libvpx/libvpx.mk @@ -4,16 +4,13 @@ # ################################################################################ -LIBVPX_VERSION = 1.13.0 +LIBVPX_VERSION = 1.13.1 LIBVPX_SITE = $(call github,webmproject,libvpx,v$(LIBVPX_VERSION)) LIBVPX_LICENSE = BSD-3-Clause LIBVPX_LICENSE_FILES = LICENSE PATENTS LIBVPX_CPE_ID_VENDOR = webmproject LIBVPX_INSTALL_STAGING = YES -# 0002-VP8-disallow-thread-count-changes.patch -LIBVPX_IGNORE_CVES += CVE-2023-5217 - # ld is being used with cc options. therefore, pretend ld is cc. LIBVPX_CONF_ENV = \ LD="$(TARGET_CC)" \ diff --git a/package/libwebsockets/0001-lib-tls-CMakeLists.txt-fix-build-with-pkg-config.patch b/package/libwebsockets/0001-lib-tls-CMakeLists.txt-fix-build-with-pkg-config.patch new file mode 100644 index 0000000000..94d643e132 --- /dev/null +++ b/package/libwebsockets/0001-lib-tls-CMakeLists.txt-fix-build-with-pkg-config.patch @@ -0,0 +1,47 @@ +From 786ec9231e402cd4e7621483be6f1837de724e3c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 26 Dec 2023 22:38:18 +0100 +Subject: [PATCH] lib/tls/CMakeLists.txt: fix build with pkg-config + +Fix the following wolfssl build failure raised since +https://github.com/warmcat/libwebsockets/commit/079726c4b252e795b208209752077c1ae4504b5b: + +-- Checking for one of the modules 'wolfssl' +CMake Error at lib/tls/CMakeLists.txt:79 (message): + You must set LWS_WOLFSSL_LIBRARIES and LWS_WOLFSSL_INCLUDE_DIRS when + LWS_WITH_WOLFSSL is turned on. + +Fixes: + - http://autobuild.buildroot.org/results/fe062b9f0b330e71309334d7605d64ea73761b59 + +Upstream: https://github.com/warmcat/libwebsockets/commit/f18fc2316f9743624ced9ba934595f7b9ba8cd05 +Signed-off-by: Fabrice Fontaine +--- + lib/tls/CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/lib/tls/CMakeLists.txt b/lib/tls/CMakeLists.txt +index 80b46203..230b0d29 100644 +--- a/lib/tls/CMakeLists.txt ++++ b/lib/tls/CMakeLists.txt +@@ -72,12 +72,16 @@ if (LWS_WITH_SSL AND LWS_WITH_WOLFSSL) + include (FindPkgConfig) + PKG_SEARCH_MODULE(LWS_WOLFSSL wolfssl) + +- if (NOT WOLFSSL_FOUND) ++ if (NOT LWS_WOLFSSL_FOUND) + if (LWS_WITH_CYASSL) + message(FATAL_ERROR "You must set LWS_CYASSL_LIBRARIES and LWS_CYASSL_INCLUDE_DIRS when LWS_WITH_CYASSL is turned on.") + else() + message(FATAL_ERROR "You must set LWS_WOLFSSL_LIBRARIES and LWS_WOLFSSL_INCLUDE_DIRS when LWS_WITH_WOLFSSL is turned on.") + endif() ++ else() ++ set(WOLFSSL_LIBRARIES ${LWS_WOLFSSL_LIBRARIES}) ++ set(WOLFSSL_INCLUDE_DIRS ${LWS_WOLFSSL_INCLUDE_DIRS}) ++ set(WOLFSSL_FOUND 1) + endif() + else() + set(WOLFSSL_LIBRARIES ${LWS_WOLFSSL_LIBRARIES}) +-- +2.43.0 + diff --git a/package/libwebsockets/0001-lib-tls-CMakeLists.txt-fix-build-without-threads.patch b/package/libwebsockets/0001-lib-tls-CMakeLists.txt-fix-build-without-threads.patch deleted file mode 100644 index ae46602a53..0000000000 --- a/package/libwebsockets/0001-lib-tls-CMakeLists.txt-fix-build-without-threads.patch +++ /dev/null @@ -1,47 +0,0 @@ -From c83cf48b9095a6914a0844bec4439763bb0c9138 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 28 May 2022 23:15:40 +0200 -Subject: [PATCH] lib/tls/CMakeLists.txt: fix build without threads - -openssl can be built without threads resulting in the following build -failure: - --- Looking for HMAC_CTX_new --- Looking for HMAC_CTX_new - not found - -[...] - -In file included from /home/buildroot/autobuild/instance-0/output-1/build/libwebsockets-4.3.1/include/libwebsockets.h:661, - from /home/buildroot/autobuild/instance-0/output-1/build/libwebsockets-4.3.1/lib/core/./private-lib-core.h:140, - from /home/buildroot/autobuild/instance-0/output-1/build/libwebsockets-4.3.1/lib/plat/unix/unix-misc.c:28: -/home/buildroot/autobuild/instance-0/output-1/build/libwebsockets-4.3.1/include/libwebsockets/lws-genhash.h:85:18: error: field 'ctx' has incomplete type - 85 | HMAC_CTX ctx; - | ^~~ - -To fix this build failure, don't unconditionally add pthread if openssl -has been found through pkg-config as openssl.pc will contain the -appropriate dependencies (i.e. -lpthread but also -lz or -latomic) - -Fixes: - - http://autobuild.buildroot.org/results/2ae9e3249b6fcc9e6c30e7783e264fc6599e61df - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/warmcat/libwebsockets/commit/c83cf48b9095a6914a0844bec4439763bb0c9138] ---- - lib/tls/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/tls/CMakeLists.txt b/lib/tls/CMakeLists.txt -index 559be9abb..a2b78c252 100644 ---- a/lib/tls/CMakeLists.txt -+++ b/lib/tls/CMakeLists.txt -@@ -311,7 +311,7 @@ endif() - if (UNIX AND NOT (${CMAKE_SYSTEM_NAME} MATCHES "QNX")) - set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${CMAKE_DL_LIBS}) - endif() --if ((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT (${CMAKE_SYSTEM_NAME} MATCHES "QNX")) -+if ((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT ((${CMAKE_SYSTEM_NAME} MATCHES "QNX") OR PC_OPENSSL_FOUND)) - set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} pthread) - endif() - diff --git a/package/libwebsockets/libwebsockets.hash b/package/libwebsockets/libwebsockets.hash index 4bff068241..01e7c7bfd1 100644 --- a/package/libwebsockets/libwebsockets.hash +++ b/package/libwebsockets/libwebsockets.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 6a85a1bccf25acc7e8e5383e4934c9b32a102880d1e4c37c70b27ae2a42406e1 libwebsockets-4.3.2.tar.gz +sha256 6fd33527b410a37ebc91bb64ca51bdabab12b076bc99d153d7c5dd405e4bdf90 libwebsockets-4.3.3.tar.gz sha256 2b5dd8030691f3d1870a040f085c37e45d9ab9c684a7f1284f5f379c1e829b28 LICENSE diff --git a/package/libwebsockets/libwebsockets.mk b/package/libwebsockets/libwebsockets.mk index 86756ca612..c00c44cac3 100644 --- a/package/libwebsockets/libwebsockets.mk +++ b/package/libwebsockets/libwebsockets.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBWEBSOCKETS_VERSION = 4.3.2 +LIBWEBSOCKETS_VERSION = 4.3.3 LIBWEBSOCKETS_SITE = $(call github,warmcat,libwebsockets,v$(LIBWEBSOCKETS_VERSION)) LIBWEBSOCKETS_LICENSE = MIT with exceptions LIBWEBSOCKETS_LICENSE_FILES = LICENSE @@ -42,7 +42,7 @@ LIBWEBSOCKETS_CONF_OPTS += \ -DLWS_WITH_SSL=ON \ -DLWS_WITH_MBEDTLS=ON \ -DLWS_WITH_WOLFSSL=OFF -else ifeq ($(BR2_PACKAGE_WOLFSSL),y) +else ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) LIBWEBSOCKETS_DEPENDENCIES += host-pkgconf wolfssl LIBWEBSOCKETS_CONF_OPTS += \ -DLWS_WITH_SSL=ON \ diff --git a/package/libwpe/libwpe.hash b/package/libwpe/libwpe.hash index 226b4f3295..554b1f2b0e 100644 --- a/package/libwpe/libwpe.hash +++ b/package/libwpe/libwpe.hash @@ -1,6 +1,6 @@ -# From https://wpewebkit.org/releases/libwpe-1.15.1.tar.xz.sums -sha1 0082ceb475175bfecd1172f2c0b292824d31561b libwpe-1.15.1.tar.xz -sha256 14d36a93a05ab7ada9bec581720b8057336fe681bbbe59bda7d50cb8f3eba3a6 libwpe-1.15.1.tar.xz +# From https://wpewebkit.org/releases/libwpe-1.14.2.tar.xz.sums +sha1 70a2b894af2b50d7082260158a89524974a480f3 libwpe-1.14.2.tar.xz +sha256 8ae38022c50cb340c96fdbee1217f1e46ab57fbc1c8ba98142565abbedbe22ef libwpe-1.14.2.tar.xz # Hashes for license files: sha256 35bef295cedbbf179eaee14328002587a0e7dc08ebf3f15ea080a6f2815f0d7b COPYING diff --git a/package/libwpe/libwpe.mk b/package/libwpe/libwpe.mk index f8c6b0fc76..1fbdd5fcc3 100644 --- a/package/libwpe/libwpe.mk +++ b/package/libwpe/libwpe.mk @@ -4,7 +4,8 @@ # ################################################################################ -LIBWPE_VERSION = 1.15.1 +# The middle number is even for stable releases, odd for development ones. +LIBWPE_VERSION = 1.14.2 LIBWPE_SITE = https://wpewebkit.org/releases LIBWPE_SOURCE = libwpe-$(LIBWPE_VERSION).tar.xz LIBWPE_INSTALL_STAGING = YES diff --git a/package/libxcrypt/0001-Make-BuildCommon.pm-compatible-with-latest-perl.patch b/package/libxcrypt/0001-Make-BuildCommon.pm-compatible-with-latest-perl.patch deleted file mode 100644 index 7a17fa5c12..0000000000 --- a/package/libxcrypt/0001-Make-BuildCommon.pm-compatible-with-latest-perl.patch +++ /dev/null @@ -1,50 +0,0 @@ -From ce562f4d33dc090fcd8f6ea1af3ba32cdc2b3c9c Mon Sep 17 00:00:00 2001 -From: Leon Timmermans -Date: Tue, 6 Jun 2023 17:03:57 +0200 -Subject: [PATCH] Make BuildCommon.pm compatible with latest perl - -It was previously using an experimental feature that has since been dropped. -This removes the use of that feature. - -Upstream: https://github.com/besser82/libxcrypt/commit/ce562f4d33dc090fcd8f6ea1af3ba32cdc2b3c9c -Signed-off-by: Daniel Lang ---- - build-aux/scripts/BuildCommon.pm | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/build-aux/scripts/BuildCommon.pm b/build-aux/scripts/BuildCommon.pm -index 0e6f2a31..c38ba21b 100644 ---- a/build-aux/scripts/BuildCommon.pm -+++ b/build-aux/scripts/BuildCommon.pm -@@ -11,7 +11,6 @@ use v5.14; # implicit use strict, use feature ':5.14' - use warnings FATAL => 'all'; - use utf8; - use open qw(:utf8); --no if $] >= 5.018, warnings => 'experimental::smartmatch'; - no if $] >= 5.022, warnings => 'experimental::re_strict'; - use if $] >= 5.022, re => 'strict'; - -@@ -519,19 +518,19 @@ sub parse_symver_args { - my $COMPAT_ABI; - local $_; - for (@args) { -- when (/^SYMVER_MIN=(.+)$/) { -+ if (/^SYMVER_MIN=(.+)$/) { - $usage_error->() if defined $SYMVER_MIN; - $SYMVER_MIN = $1; - } -- when (/^SYMVER_FLOOR=(.+)$/) { -+ elsif (/^SYMVER_FLOOR=(.+)$/) { - $usage_error->() if defined $SYMVER_FLOOR; - $SYMVER_FLOOR = $1; - } -- when (/^COMPAT_ABI=(.+)$/) { -+ elsif (/^COMPAT_ABI=(.+)$/) { - $usage_error->() if defined $COMPAT_ABI; - $COMPAT_ABI = $1; - } -- default { -+ else { - $usage_error->() if defined $map_in; - $map_in = $_; - } diff --git a/package/libxcrypt/0002-Remove-smartmatch-usage-from-gen-crypt-h.patch b/package/libxcrypt/0002-Remove-smartmatch-usage-from-gen-crypt-h.patch deleted file mode 100644 index 444896b53f..0000000000 --- a/package/libxcrypt/0002-Remove-smartmatch-usage-from-gen-crypt-h.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 95d6e03ae37f4ec948474d111105bbdd2938aba2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= -Date: Sun, 25 Jun 2023 01:35:08 +0200 -Subject: [PATCH] Remove smartmatch usage from gen-crypt-h - -Needed for Perl 5.38 - -Upstream: https://github.com/besser82/libxcrypt/commit/95d6e03ae37f4ec948474d111105bbdd2938aba2 -Signed-off-by: Daniel Lang ---- - build-aux/scripts/gen-crypt-h | 31 ++++++++++++++----------------- - 1 file changed, 14 insertions(+), 17 deletions(-) - -diff --git a/build-aux/scripts/gen-crypt-h b/build-aux/scripts/gen-crypt-h -index 12aecf6d..b113b791 100644 ---- a/build-aux/scripts/gen-crypt-h -+++ b/build-aux/scripts/gen-crypt-h -@@ -12,7 +12,6 @@ use v5.14; # implicit use strict, use feature ':5.14' - use warnings FATAL => 'all'; - use utf8; - use open qw(:std :utf8); --no if $] >= 5.018, warnings => 'experimental::smartmatch'; - no if $] >= 5.022, warnings => 'experimental::re_strict'; - use if $] >= 5.022, re => 'strict'; - -@@ -37,22 +36,20 @@ sub process_config_h { - local $_; - while (<$fh>) { - chomp; -- # Yes, 'given $_' is really required here. -- given ($_) { -- when ('#define HAVE_SYS_CDEFS_H 1') { -- $have_sys_cdefs_h = 1; -- } -- when ('#define HAVE_SYS_CDEFS_BEGIN_END_DECLS 1') { -- $have_sys_cdefs_begin_end_decls = 1; -- } -- when ('#define HAVE_SYS_CDEFS_THROW 1') { -- $have_sys_cdefs_throw = 1; -- } -- when (/^#define PACKAGE_VERSION "((\d+)\.(\d+)\.\d+)"$/) { -- $substs{XCRYPT_VERSION_STR} = $1; -- $substs{XCRYPT_VERSION_MAJOR} = $2; -- $substs{XCRYPT_VERSION_MINOR} = $3; -- } -+ -+ if ($_ eq '#define HAVE_SYS_CDEFS_H 1') { -+ $have_sys_cdefs_h = 1; -+ } -+ elsif ($_ eq '#define HAVE_SYS_CDEFS_BEGIN_END_DECLS 1') { -+ $have_sys_cdefs_begin_end_decls = 1; -+ } -+ elsif ($_ eq '#define HAVE_SYS_CDEFS_THROW 1') { -+ $have_sys_cdefs_throw = 1; -+ } -+ elsif (/^#define PACKAGE_VERSION "((\d+)\.(\d+)\.\d+)"$/) { -+ $substs{XCRYPT_VERSION_STR} = $1; -+ $substs{XCRYPT_VERSION_MAJOR} = $2; -+ $substs{XCRYPT_VERSION_MINOR} = $3; - } - } diff --git a/package/libxcrypt/libxcrypt.hash b/package/libxcrypt/libxcrypt.hash index c13685e463..f021436b71 100644 --- a/package/libxcrypt/libxcrypt.hash +++ b/package/libxcrypt/libxcrypt.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 0a0c06bcd028fd0f0467f89f6a451112e8ec97c36e0f58e7464449a4c04607ed libxcrypt-4.4.33.tar.gz +sha256 b979838d5f1f238869d467484793b72b8bca64c4eae696fdbba0a9e0b6c28453 libxcrypt-4.4.36.tar.gz sha256 f9b48b0bc67a92b752780710aa774cf08b62ec2ebaa3f4aebd00069fba6effd2 LICENSING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libxcrypt/libxcrypt.mk b/package/libxcrypt/libxcrypt.mk index 079445e489..9ad030fbd2 100644 --- a/package/libxcrypt/libxcrypt.mk +++ b/package/libxcrypt/libxcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXCRYPT_VERSION = 4.4.33 +LIBXCRYPT_VERSION = 4.4.36 LIBXCRYPT_SITE = $(call github,besser82,libxcrypt,v$(LIBXCRYPT_VERSION)) LIBXCRYPT_LICENSE = LGPL-2.1+ LIBXCRYPT_LICENSE_FILES = LICENSING COPYING.LIB diff --git a/package/libxml-parser-perl/libxml-parser-perl.hash b/package/libxml-parser-perl/libxml-parser-perl.hash index c3ef1016e8..4b91386573 100644 --- a/package/libxml-parser-perl/libxml-parser-perl.hash +++ b/package/libxml-parser-perl/libxml-parser-perl.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d XML-Parser-2.46.tar.gz -sha256 6a2e768443ed00f09d3d4bc4dd14451035eac13c6864d68d8e2f76edf5a044f2 README +sha256 ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8 XML-Parser-2.47.tar.gz +sha256 3bedfe79fbad08a2b50e1b2b6123e40c68b58b1988d53763b63b6fd295bb0f90 README diff --git a/package/libxml-parser-perl/libxml-parser-perl.mk b/package/libxml-parser-perl/libxml-parser-perl.mk index 37cef2e418..06bbd3b1ad 100644 --- a/package/libxml-parser-perl/libxml-parser-perl.mk +++ b/package/libxml-parser-perl/libxml-parser-perl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXML_PARSER_PERL_VERSION = 2.46 +LIBXML_PARSER_PERL_VERSION = 2.47 LIBXML_PARSER_PERL_SOURCE = XML-Parser-$(LIBXML_PARSER_PERL_VERSION).tar.gz LIBXML_PARSER_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TODDR HOST_LIBXML_PARSER_PERL_DEPENDENCIES = host-expat diff --git a/package/libxml2/libxml2.hash b/package/libxml2/libxml2.hash index f3650c5ec5..086bb41098 100644 --- a/package/libxml2/libxml2.hash +++ b/package/libxml2/libxml2.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.4.sha256sum -sha256 737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7 libxml2-2.11.4.tar.xz +# From https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.6.sha256sum +sha256 889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb libxml2-2.12.6.tar.xz # License files, locally calculated -sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd Copyright +sha256 7fb0a66f3989f9bd5c7e5438a3de02cd4a7a47dde0aea2f7ea2ba2ff454ee6a4 Copyright diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index 9f7774f719..e7ed6fb752 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBXML2_VERSION_MAJOR = 2.11 -LIBXML2_VERSION = $(LIBXML2_VERSION_MAJOR).4 +LIBXML2_VERSION_MAJOR = 2.12 +LIBXML2_VERSION = $(LIBXML2_VERSION_MAJOR).6 LIBXML2_SOURCE = libxml2-$(LIBXML2_VERSION).tar.xz LIBXML2_SITE = \ https://download.gnome.org/sources/libxml2/$(LIBXML2_VERSION_MAJOR) @@ -20,12 +20,26 @@ ifeq ($(BR2_m68k_cf),y) LIBXML2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot" endif -LIBXML2_CONF_OPTS = --with-gnu-ld --without-python --without-debug +LIBXML2_CONF_OPTS = --with-gnu-ld --without-debug HOST_LIBXML2_DEPENDENCIES = host-pkgconf LIBXML2_DEPENDENCIES = host-pkgconf -HOST_LIBXML2_CONF_OPTS = --without-zlib --without-lzma --without-python +HOST_LIBXML2_CONF_OPTS = --without-zlib --without-lzma + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBXML2_DEPENDENCIES += python3 +LIBXML2_CONF_OPTS += --with-python +else +LIBXML2_CONF_OPTS += --without-python +endif + +ifeq ($(BR2_PACKAGE_HOST_PYTHON3),y) +HOST_LIBXML2_DEPENDENCIES += host-python3 +HOST_LIBXML2_CONF_OPTS += --with-python +else +HOST_LIBXML2_CONF_OPTS += --without-python +endif ifeq ($(BR2_PACKAGE_ICU),y) LIBXML2_DEPENDENCIES += icu diff --git a/package/libxmlpp/0001-Make-it-compatible-with-libxml2--2-12-0.patch b/package/libxmlpp/0001-Make-it-compatible-with-libxml2--2-12-0.patch new file mode 100644 index 0000000000..b9100b4966 --- /dev/null +++ b/package/libxmlpp/0001-Make-it-compatible-with-libxml2--2-12-0.patch @@ -0,0 +1,145 @@ +From 49471812d57adfb22dcce3cbea1a8956658731b9 Mon Sep 17 00:00:00 2001 +From: Kjell Ahlstedt +Date: Sat, 18 Nov 2023 18:34:07 +0100 +Subject: [PATCH] Make it compatible with libxml2 >= 2.12.0 + +* libxml++/document.cc: +* libxml++/dtd.cc: +* libxml++/nodes/entitydeclaration.cc: +* libxml++/nodes/entityreference.cc: +* libxml++/validators/relaxngvalidator.cc: Modify #include directives. +* libxml++/keepblanks.cc: Ignore deprecation of xmlKeepBlanksDefault(). +* tests/saxparser_chunk_parsing_inconsistent_state/main.cc: +Accept that MySaxParser::on_start_document() can be called before +MySaxParser::on_error(). + +Upstream: https://github.com/libxmlplusplus/libxmlplusplus/commit/49471812d57adfb22dcce3cbea1a8956658731b9 +Signed-off-by: Fabrice Fontaine +--- + libxml++/document.cc | 1 + + libxml++/dtd.cc | 2 +- + libxml++/keepblanks.cc | 5 ++++- + libxml++/nodes/entitydeclaration.cc | 2 +- + libxml++/nodes/entityreference.cc | 2 +- + libxml++/validators/relaxngvalidator.cc | 1 + + .../saxparser_chunk_parsing_inconsistent_state/main.cc | 10 +++++++++- + 7 files changed, 18 insertions(+), 5 deletions(-) + +diff --git a/libxml++/document.cc b/libxml++/document.cc +index da0a8f5..d5476c6 100644 +--- a/libxml++/document.cc ++++ b/libxml++/document.cc +@@ -16,6 +16,7 @@ + + #include + #include ++#include + #include // XML_PARSE_NOXINCNODE, XML_PARSE_NOBASEFIX + + #include +diff --git a/libxml++/dtd.cc b/libxml++/dtd.cc +index 238b3a0..8014c07 100644 +--- a/libxml++/dtd.cc ++++ b/libxml++/dtd.cc +@@ -8,7 +8,7 @@ + #include + #include + +-#include ++#include + + #include + +diff --git a/libxml++/keepblanks.cc b/libxml++/keepblanks.cc +index 4228b8d..56b00cf 100644 +--- a/libxml++/keepblanks.cc ++++ b/libxml++/keepblanks.cc +@@ -5,8 +5,11 @@ + * included with libxml++ as the file COPYING. + */ + +-#include ++// xmlKeepBlanksDefault() is deprecated since libxml2 2.12.0. ++// Ignore deprecations here. ++#define XML_DEPRECATED + ++#include + #include + + namespace xmlpp +diff --git a/libxml++/nodes/entitydeclaration.cc b/libxml++/nodes/entitydeclaration.cc +index 0a6390e..d5bfa75 100644 +--- a/libxml++/nodes/entitydeclaration.cc ++++ b/libxml++/nodes/entitydeclaration.cc +@@ -5,7 +5,7 @@ + */ + + #include +-#include ++#include + + namespace xmlpp + { +diff --git a/libxml++/nodes/entityreference.cc b/libxml++/nodes/entityreference.cc +index 19b1b22..278a126 100644 +--- a/libxml++/nodes/entityreference.cc ++++ b/libxml++/nodes/entityreference.cc +@@ -6,7 +6,7 @@ + + #include + +-#include ++#include + + namespace xmlpp + { +diff --git a/libxml++/validators/relaxngvalidator.cc b/libxml++/validators/relaxngvalidator.cc +index 9bb10c2..68a814c 100644 +--- a/libxml++/validators/relaxngvalidator.cc ++++ b/libxml++/validators/relaxngvalidator.cc +@@ -22,6 +22,7 @@ + #include "libxml++/parsers/domparser.h" + #include "libxml++/relaxngschema.h" + ++#include + #include + + namespace xmlpp +diff --git a/tests/saxparser_chunk_parsing_inconsistent_state/main.cc b/tests/saxparser_chunk_parsing_inconsistent_state/main.cc +index 07cc3ef..53f55b3 100644 +--- a/tests/saxparser_chunk_parsing_inconsistent_state/main.cc ++++ b/tests/saxparser_chunk_parsing_inconsistent_state/main.cc +@@ -24,10 +24,14 @@ + + class MySaxParser : public xmlpp::SaxParser + { ++public: ++ bool throw_on_start_doc = true; ++ + protected: + void on_start_document() override + { +- throw std::runtime_error("some custom runtime exception"); ++ if (throw_on_start_doc) ++ throw std::runtime_error("some custom runtime exception"); + } + void on_error(const xmlpp::ustring& /* text */) override + { +@@ -43,6 +47,9 @@ int main() + bool exceptionThrown = false; + try + { ++ // Depending on the libxml2 version, MySaxParser::on_start_document() ++ // may or may not be called before MySaxParser::on_error(). ++ parser.throw_on_start_doc = false; + parser.parse_chunk(""); + parser.parse_stream(ss); + } diff --git a/package/libxmlrpc/libxmlrpc.hash b/package/libxmlrpc/libxmlrpc.hash index 5d42dc0558..d50ac867a9 100644 --- a/package/libxmlrpc/libxmlrpc.hash +++ b/package/libxmlrpc/libxmlrpc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 626e36295f43b320082bc7bdd961b46f39fbe2719535b5a417975a8e50c8f7f3 libxmlrpc-r3119-br2.tar.gz +sha256 f22f96a6dc1a574a843b5e383446fe1fa1022f211ee7c3f4c5fd8de1d5104393 libxmlrpc-r3176-br3.tar.gz sha256 db7a6d3f187b218c3534010a83424c6bcdef88e6a0b6b1aa3a8762238bd642e6 doc/COPYING diff --git a/package/libxmlrpc/libxmlrpc.mk b/package/libxmlrpc/libxmlrpc.mk index c1b0eae8ee..dd09fa8f53 100644 --- a/package/libxmlrpc/libxmlrpc.mk +++ b/package/libxmlrpc/libxmlrpc.mk @@ -4,8 +4,8 @@ # ################################################################################ -# 1.58.02 (code/advanced@r3119) -LIBXMLRPC_VERSION = r3119 +# 1.60.01 (code/advanced@r3176) +LIBXMLRPC_VERSION = r3176 LIBXMLRPC_SITE = https://svn.code.sf.net/p/xmlrpc-c/code/advanced LIBXMLRPC_SITE_METHOD = svn LIBXMLRPC_LICENSE = BSD-3-Clause (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c) diff --git a/package/libxslt/libxslt.hash b/package/libxslt/libxslt.hash index 458c1388d3..7597e7954d 100644 --- a/package/libxslt/libxslt.hash +++ b/package/libxslt/libxslt.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.38.sha256sum -sha256 1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1 libxslt-1.1.38.tar.xz +# From https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.39.sha256sum +sha256 2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0 libxslt-1.1.39.tar.xz # Hash for license file: sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 COPYING diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk index ec066fbfa2..8098937ef3 100644 --- a/package/libxslt/libxslt.mk +++ b/package/libxslt/libxslt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXSLT_VERSION = 1.1.38 +LIBXSLT_VERSION = 1.1.39 LIBXSLT_SOURCE = libxslt-$(LIBXSLT_VERSION).tar.xz LIBXSLT_SITE = https://download.gnome.org/sources/libxslt/1.1 LIBXSLT_INSTALL_STAGING = YES diff --git a/package/libzenoh-pico/Config.in b/package/libzenoh-pico/Config.in new file mode 100644 index 0000000000..9dbb260c52 --- /dev/null +++ b/package/libzenoh-pico/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LIBZENOH_PICO + bool "libzenoh-pico" + # upstream hardcodes using asm("nop"), which is bogus and + # doesn't work on or1k + depends on !BR2_or1k + depends on BR2_TOOLCHAIN_HAS_THREADS + help + zenoh-pico is the Eclipse zenoh implementation that targets + constrained devices and offers a native C API. It is fully + compatible with its main Rust Zenoh implementation, + providing a lightweight implementation of most + functionalities. + + https://github.com/eclipse-zenoh/zenoh-pico + +comment "libzenoh-pico needs a toolchain w/ threads" + depends on !BR2_or1k + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libzenoh-pico/libzenoh-pico.hash b/package/libzenoh-pico/libzenoh-pico.hash new file mode 100644 index 0000000000..98f804508f --- /dev/null +++ b/package/libzenoh-pico/libzenoh-pico.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 7b615515ac844470ec7806921e8106b2923f6c43e242b34f062954de7560b799 libzenoh-pico-0.10.1-rc.tar.gz +sha256 d386df32cf327bbb25abe894277d3d7e0f447bafc59f4ad362615b0136f30db5 LICENSE diff --git a/package/libzenoh-pico/libzenoh-pico.mk b/package/libzenoh-pico/libzenoh-pico.mk new file mode 100644 index 0000000000..90dfda6c98 --- /dev/null +++ b/package/libzenoh-pico/libzenoh-pico.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# libzenoh-pico +# +################################################################################ + +LIBZENOH_PICO_VERSION = 0.10.1-rc +LIBZENOH_PICO_SITE = $(call github,eclipse-zenoh,zenoh-pico,$(LIBZENOH_PICO_VERSION)) +LIBZENOH_PICO_LICENSE = Apache-2.0 or EPL-2.0 +LIBZENOH_PICO_LICENSE_FILES = LICENSE +LIBZENOH_PICO_SUPPORTS_IN_SOURCE_BUILD = NO +LIBZENOH_PICO_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/package/libzip/libzip.hash b/package/libzip/libzip.hash index 26c038e4b6..93dcb49042 100644 --- a/package/libzip/libzip.hash +++ b/package/libzip/libzip.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c93e9852b7b2dc931197831438fee5295976ee0ba24f8524a8907be5c2ba5937 libzip-1.9.2.tar.xz +sha256 dc3c8d5b4c8bbd09626864f6bcf93de701540f761d76b85d7c7d710f4bd90318 libzip-1.10.1.tar.xz sha256 01c022eca6d566e2e8792fd0f091a28653b2a608319922bcd4de91c49d1438e1 LICENSE diff --git a/package/libzip/libzip.mk b/package/libzip/libzip.mk index 0c9d66d877..cf85bfa8ce 100644 --- a/package/libzip/libzip.mk +++ b/package/libzip/libzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBZIP_VERSION = 1.9.2 +LIBZIP_VERSION = 1.10.1 LIBZIP_SITE = https://libzip.org/download LIBZIP_SOURCE = libzip-$(LIBZIP_VERSION).tar.xz LIBZIP_LICENSE = BSD-3-Clause diff --git a/package/libzlib/libzlib.hash b/package/libzlib/libzlib.hash index df5e8d723a..cbd9313870 100644 --- a/package/libzlib/libzlib.hash +++ b/package/libzlib/libzlib.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/libzlib/libzlib.mk b/package/libzlib/libzlib.mk index e344cc7ad9..bc5092d9a9 100644 --- a/package/libzlib/libzlib.mk +++ b/package/libzlib/libzlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBZLIB_VERSION = 1.2.13 +LIBZLIB_VERSION = 1.3.1 LIBZLIB_SOURCE = zlib-$(LIBZLIB_VERSION).tar.xz -LIBZLIB_SITE = http://www.zlib.net +LIBZLIB_SITE = https://www.zlib.net LIBZLIB_LICENSE = Zlib LIBZLIB_LICENSE_FILES = LICENSE LIBZLIB_INSTALL_STAGING = YES diff --git a/package/lightning/0001-Fix-build-on-mips64el.patch b/package/lightning/0001-Fix-build-on-mips64el.patch new file mode 100644 index 0000000000..b3f087bb9e --- /dev/null +++ b/package/lightning/0001-Fix-build-on-mips64el.patch @@ -0,0 +1,65 @@ +From 90f5c78f47dfb1ae4b953b0e30c7ef72a6438396 Mon Sep 17 00:00:00 2001 +From: Paul Cercueil +Date: Thu, 5 Oct 2023 14:24:13 +0200 +Subject: [PATCH] Fix build on mips64el + +The "cvt_offset" field may be used for anything non-ARM in +jit_fallback.c, so enable this field on anything non-ARM. Worst case +scenario, this field is not used and it only occupies 4 bytes of RAM. + +Besides, when building for mips64el with the N32 ABI, the __WORDSIZE +ends up being 32 and not 64 (which may be a problem in itself), which +caused some more issues as the movi_d_w() macro referenced by +jit_mips.c was not defined anywhere. + +This caused Buildroot's CI to fail when building on mips64el: +http://autobuild.buildroot.net/results/f951d91d2ca4647170a52499a243d45d13d3bced/ + +Upstream: http://git.savannah.gnu.org/cgit/lightning.git/commit/?id=90f5c78f47dfb1ae4b953b0e30c7ef72a6438396 +Signed-off-by: Paul Cercueil +--- + include/lightning/jit_private.h | 5 +---- + lib/lightning.c | 4 ++-- + 2 files changed, 3 insertions(+), 6 deletions(-) + +diff --git a/include/lightning/jit_private.h b/include/lightning/jit_private.h +index 5052a36..9f8caf6 100644 +--- a/include/lightning/jit_private.h ++++ b/include/lightning/jit_private.h +@@ -555,10 +555,7 @@ struct jit_function { + jit_int32_t *regoff; + jit_regset_t regset; + jit_int32_t stack; +-#if defined(__i386__) || defined(__x86_64__) || \ +- defined(__powerpc__) || defined(__sparc__) || \ +- defined(__s390__) || defined(__s390x__) || \ +- defined(__hppa__) || defined(__alpha__) ++#if !defined(__arm__) + jit_int32_t cvt_offset; /* allocai'd offset for x87<->xmm or + * fpr<->gpr transfer using the stack */ + #endif +diff --git a/lib/lightning.c b/lib/lightning.c +index d5ea330..39c4fc2 100644 +--- a/lib/lightning.c ++++ b/lib/lightning.c +@@ -4285,7 +4285,7 @@ static void _htoni_ul(jit_state_t*, jit_int32_t, jit_word_t); + #endif + # define movi_f_w(r0, i0) _movi_f_w(_jit, r0, i0) + static void _movi_f_w(jit_state_t*, jit_int32_t, jit_float32_t); +-#if __WORDSIZE == 32 ++#if __WORDSIZE == 32 && !(defined(__mips__) && NEW_ABI) + # define movi_d_ww(r0, r1, i0) _movi_d_ww(_jit, r0, r1, i0) + static void _movi_d_ww(jit_state_t*, jit_int32_t, jit_int32_t, jit_float64_t); + #else +@@ -4569,7 +4569,7 @@ _movi_f_w(jit_state_t *_jit, jit_int32_t r0, jit_float32_t i0) + movi(r0, data.i); + } + +-#if __WORDSIZE == 32 ++#if __WORDSIZE == 32 && !(defined(__mips__) && NEW_ABI) + static void + _movi_d_ww(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_float64_t i0) + { +-- +2.40.1 + diff --git a/package/lighttpd/lighttpd.hash b/package/lighttpd/lighttpd.hash index 29bf5124b6..5907558ada 100644 --- a/package/lighttpd/lighttpd.hash +++ b/package/lighttpd/lighttpd.hash @@ -1,4 +1,6 @@ -# From https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.69.sha512sum -sha512 9d174c8e0a192b4eb8218a9f76b0bd42f90030228600bb7bbe35ebb9e7bbaea36ee2732535c5cc6dab171294817837bfa26074ff84a37832dd89f57488b4071f lighttpd-1.4.69.tar.xz +# From https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.73.sha512sum +sha512 ee41a72b09614d630174ef832b08c050708f62c0b6299e82b0a5f91a63d62702d31237ae5bb1850f0160b94e36a66af38a2d7abdaa920235265d416d2b0b4015 lighttpd-1.4.73.tar.xz +# From https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.73.sha256sum +sha256 818816d0b314b0aa8728a7076513435f6d5eb227f3b61323468e1f10dbe84ca8 lighttpd-1.4.73.tar.xz # Locally calculated sha256 5c98cad2fbaf5c5e2562bcbab401a7c557c1bb1bac9914ecc63730925052fb13 COPYING diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk index ca2035b6b3..5109e3cebb 100644 --- a/package/lighttpd/lighttpd.mk +++ b/package/lighttpd/lighttpd.mk @@ -5,7 +5,7 @@ ################################################################################ LIGHTTPD_VERSION_MAJOR = 1.4 -LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).69 +LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).73 LIGHTTPD_SOURCE = lighttpd-$(LIGHTTPD_VERSION).tar.xz LIGHTTPD_SITE = http://download.lighttpd.net/lighttpd/releases-$(LIGHTTPD_VERSION_MAJOR).x LIGHTTPD_LICENSE = BSD-3-Clause @@ -73,7 +73,7 @@ LIGHTTPD_CONF_OPTS += -Dwith_maxminddb=disabled endif ifeq ($(BR2_PACKAGE_LIGHTTPD_MYSQL),y) -LIGHTTPD_DEPENDENCIES += mysql +LIGHTTPD_DEPENDENCIES += mariadb LIGHTTPD_CONF_OPTS += -Dwith_mysql=enabled else LIGHTTPD_CONF_OPTS += -Dwith_mysql=disabled diff --git a/package/linknx/linknx.mk b/package/linknx/linknx.mk index dcfcd5e3f5..683e0c49cb 100644 --- a/package/linknx/linknx.mk +++ b/package/linknx/linknx.mk @@ -49,9 +49,9 @@ else LINKNX_CONF_OPTS += --without-lua endif -ifeq ($(BR2_PACKAGE_MYSQL),y) +ifeq ($(BR2_PACKAGE_MARIADB),y) LINKNX_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr -LINKNX_DEPENDENCIES += mysql +LINKNX_DEPENDENCIES += mariadb else LINKNX_CONF_OPTS += --without-mysql endif diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in index 3ae72564cc..920c0a2ef1 100644 --- a/package/linux-firmware/Config.in +++ b/package/linux-firmware/Config.in @@ -53,6 +53,11 @@ endmenu # Video menu "Bluetooth firmware" +config BR2_PACKAGE_LINUX_FIRMWARE_AMLOGIC + bool "Amlogic SOC Bluetooth" + help + Firmware files for Conexant Amlogic SOC bluetooth support. + config BR2_PACKAGE_LINUX_FIRMWARE_IBT bool "Intel Wireless Bluetooth" help @@ -64,6 +69,16 @@ config BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7650 help Firmware files for MediaTek MT7650 bluetooth support +config BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT + bool "MediaTek MT7921" + help + Firmware files for MediaTek MT7921 bluetooth support + +config BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT + bool "MediaTek MT7922" + help + Firmware files for MediaTek MT7922 bluetooth support + config BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT bool "Qualcomm Atheros Rome 6174A Bluetooth" help @@ -279,6 +294,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6E Firmware files for the Intel Wi-Fi 6 and Wi-Fi 6E devices supported by the iwlwifi kernel driver. +config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_QUZ + bool "Intel iwlwifi QuZ" + help + Firmware files for the Intel Wifi QuZ devices (used in NUC10) + supported by the iwlwifi kernel driver. + config BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8 bool "Libertas SD 8686 v8" help @@ -377,6 +398,16 @@ config BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT76X2E help MediaTek MT76x2e +config BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921 + bool "MediaTek MT7921" + help + MediaTek MT7921 + +config BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922 + bool "MediaTek MT7922" + help + MediaTek MT7922 + config BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174 bool "Qualcomm Atheros 6174" help @@ -416,7 +447,13 @@ config BR2_PACKAGE_LINUX_FIRMWARE_RTL_RTW88 bool "Realtek rtw88" help Firmware images supported by Realtek's wireless - driver rtw88. + driver rtw88 (802.11n/ac chipsets). + +config BR2_PACKAGE_LINUX_FIRMWARE_RTL_RTW89 + bool "Realtek rtw89" + help + Firmware images supported by Realtek's wireless + driver rtw89 (802.11ax chipsets). config BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113 bool "Redpine rs9113" @@ -489,6 +526,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_INTEL_ICE Firmware files for Intel Ethernet 800 Series Network Adapters (ice) +config BR2_PACKAGE_LINUX_FIRMWARE_MARVELL_PRESTERA + bool "Marvell Prestera" + help + Firmware files for Marvell Prestera ethernet cards + config BR2_PACKAGE_LINUX_FIRMWARE_MICROCHIP_VSC85XX_PHY bool "Microchip VSC85xx PHYs" help @@ -589,6 +631,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_CX231XX Firmware files for Conexant Cx23100/101/102 USB broadcast A/V decoder needed by the Linux CX231XX driver. +config BR2_PACKAGE_LINUX_FIRMWARE_CX23885 + bool "Conexant Cx23885/7/8 PCIe broadcast A/V decoder" + help + Firmware files for Conexant Cx23885/7/8 PCIe broadcast + A/V decoder needed by the Linux CX23885 driver. + endmenu endif diff --git a/package/linux-firmware/linux-firmware.hash b/package/linux-firmware/linux-firmware.hash index 25b6d018a1..5a19292a74 100644 --- a/package/linux-firmware/linux-firmware.hash +++ b/package/linux-firmware/linux-firmware.hash @@ -1,5 +1,5 @@ # From https://mirrors.edge.kernel.org/pub/linux/kernel/firmware/sha256sums.asc -sha256 87597111c0d4b71b31e53cb85a92c386921b84c825a402db8c82e0e86015500d linux-firmware-20230625.tar.xz +sha256 ab7caff09bbb9e68e2b8a7c3e86d32b65f6444caa4ef8b0aabca9503da2c678d linux-firmware-20240115.tar.xz # Hash for license files sha256 8116433f4004fc0c24d72b3d9e497808b724aa0e5e1cd63fc1bf66b715b1e2e9 LICENCE.Abilis @@ -17,6 +17,8 @@ sha256 5181b0b51efc79d5acb2c9bb92042878fdbad97a92114d4ab5e32e2b5b52fce4 LICENC sha256 8c45a83562a69f7ac4207e4cb5c0063af2e545791b3947bc81dc82305481c15c LICENSE.ice_enhanced sha256 0e0c11073ba3c832097da38e0905da36b8a3526f219407977b13b71c6675be7d LICENCE.it913x sha256 16d5040c7cf851fc693b7542e20870935b99802533ea1bfd231c377a2305e5c5 LICENCE.iwlwifi_firmware +sha256 2d6062d63b91eb750bf741498691604f75184b9fee97608ec537cd09bd6a42b4 LICENCE.Marvell +sha256 a90d3f66704d85889945fec5525ea77622549da83aced1aac99828383f8f1805 LICENCE.mediatek sha256 0fc67bd715b3395f3f2af464781910e9e69c4ba23da304352229b42dc9e986c3 LICENCE.microchip sha256 59ae206c89108905ebdc9ad4c9336526bd2c0d50fbf988c21e8c2a82719d42a4 LICENCE.moxa sha256 0bd9f7cae3cf72b12a63359a725ccbb76ddbd6831372695a9162144329800dd0 LICENCE.qat_firmware @@ -30,11 +32,12 @@ sha256 30ec8a66503dc73f83937564ae70ca23aa03259e64727ff4195b5b6f695e782f LICENC sha256 f8822049f32fef2e90a197bd8cf259f476db75d549456bdca8567616a9c07ace LICENCE.xc5000c sha256 a064cbf83e10d72579d236a1e36032681adb8e442943ff75b57020a82992a5ed LICENSE.QualcommAtheros_ar3k sha256 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f LICENSE.QualcommAtheros_ath10k +sha256 8c4f2bd742da678336ca582ac46ee203d75d77ce928797caed032ee0e3a2c7dd LICENSE.amlogic sha256 630fd46c95d3ac6544590c2265ba7348fbc930fb386261a1c04dcd9f403645b8 LICENSE.dib0700 sha256 8542aeabf2761935122d693561e16766ce1bcc2b0d003204f9040b7d6d929f2e LICENSE.i915 sha256 be904cd28cb292b80cdb6cf412ab0d9159d431671e987ad433c1f62e0988a9bc LICENSE.qcom sha256 fc6223d4bfe9f2f9e2eddc44b9fe5721d0caf49f01cb08d602906add686d8c6f LICENSE.radeon sha256 2bdd2e716f05d9737d3f9a20f9a3a3c0caee0e866100ddb0673f1178e42f92b9 LICENSE.sdma_firmware -sha256 cb91afd4cf763c316d3cb6acc20a63a58d3c7e7b3ff03f254285a4414aeb76f9 WHENCE +sha256 92d477fe15d81875bc5bcc4c54df7e95b65f42e4c44d64d840f39cd0aa153d6f WHENCE sha256 fa43e1b9a13b341a07adca9dbe73d0f9072d7966fdfe811c01f0dd2872d7309a qcom/NOTICE.txt sha256 bef9c828e84f21e7835b4de7daf954a327e1ff777871b58e116039b684c0d604 LICENCE.e100 diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk index 01718fa1e0..60e8861abe 100644 --- a/package/linux-firmware/linux-firmware.mk +++ b/package/linux-firmware/linux-firmware.mk @@ -4,13 +4,11 @@ # ################################################################################ -LINUX_FIRMWARE_VERSION = 20230625 +LINUX_FIRMWARE_VERSION = 20240115 LINUX_FIRMWARE_SOURCE = linux-firmware-$(LINUX_FIRMWARE_VERSION).tar.xz LINUX_FIRMWARE_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/firmware LINUX_FIRMWARE_INSTALL_IMAGES = YES -LINUX_FIRMWARE_CPE_ID_VENDOR = kernel - # Intel SST DSP ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_SST_DSP),y) LINUX_FIRMWARE_FILES += intel/fw_sst_0f28.bin-48kHz_i2s_master @@ -53,6 +51,12 @@ LINUX_FIRMWARE_FILES += \ # which is installed unconditionally endif +# Amlogic SoC Bluetooth +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AMLOGIC),y) +LINUX_FIRMWARE_FILES += amlogic/bluetooth/*.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.amlogic +endif + # Intel Wireless Bluetooth ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IBT),y) LINUX_FIRMWARE_FILES += intel/ibt-* @@ -90,7 +94,12 @@ LINUX_FIRMWARE_FILES += \ rtl_bt/rtl8821c_config.bin rtl_bt/rtl8821c_fw.bin \ rtl_bt/rtl8822b_config.bin rtl_bt/rtl8822b_fw.bin \ rtl_bt/rtl8822cs_config.bin rtl_bt/rtl8822cs_fw.bin \ - rtl_bt/rtl8822cu_config.bin rtl_bt/rtl8822cu_fw.bin + rtl_bt/rtl8822cu_config.bin rtl_bt/rtl8822cu_fw.bin \ + rtl_bt/rtl8851bu_fw.bin rtl_bt/rtl8851bu_config.bin \ + rtl_bt/rtl8852au_fw.bin rtl_bt/rtl8852au_config.bin \ + rtl_bt/rtl8852bu_fw.bin rtl_bt/rtl8852bu_config.bin \ + rtl_bt/rtl8852cu_fw.bin rtl_bt/rtl8852cu_config.bin \ + rtl_bt/rtl8852cu_fw_v2.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif @@ -123,6 +132,7 @@ LINUX_FIRMWARE_FILES += \ rtlwifi/rtl8192sefw.bin \ rtlwifi/rtl8188efw.bin \ rtlwifi/rtl8188eufw.bin \ + rtlwifi/rtl8188fufw.bin \ rtlwifi/rtl8192cufw_A.bin \ rtlwifi/rtl8192cufw_B.bin \ rtlwifi/rtl8192cufw_TMSC.bin \ @@ -166,6 +176,13 @@ LINUX_FIRMWARE_FILES += \ LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif +# rtw89 +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_RTW89),y) +LINUX_FIRMWARE_FILES += \ + rtw89/rtw*.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt +endif + # ar3011 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AR3011),y) LINUX_FIRMWARE_FILES += ath3k-1.fw @@ -370,6 +387,32 @@ LINUX_FIRMWARE_FILES += mediatek/mt7662.bin mediatek/mt7662_rom_patch.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware endif +# MT7921 +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921),y) +LINUX_FIRMWARE_FILES += mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin \ + mediatek/WIFI_RAM_CODE_MT7961_1.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.mediatek +endif + +# Mediatek MT7921 Bluetooth +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7921_BT),y) +LINUX_FIRMWARE_FILES += mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.mediatek +endif + +# MT7922 +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922),y) +LINUX_FIRMWARE_FILES += mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin \ + mediatek/WIFI_RAM_CODE_MT7922_1.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.mediatek +endif + +# Mediatek MT7922 Bluetooth +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7922_BT),y) +LINUX_FIRMWARE_FILES += mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.mediatek +endif + # qca6174 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174),y) LINUX_FIRMWARE_FILES += ath10k/QCA6174 @@ -527,6 +570,11 @@ LINUX_FIRMWARE_FILES += iwlwifi-so-a0-gf-a0*.{ucode,pnvm} LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_QUZ),y) +LINUX_FIRMWARE_FILES += iwlwifi-QuZ-*.ucode +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware +endif + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BROADCOM_TIGON3),y) LINUX_FIRMWARE_FILES += tigon/* # No license file; the license is in the file WHENCE @@ -616,6 +664,12 @@ LINUX_FIRMWARE_FILES += \ rtl_nic/rtl8411-2.fw endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MARVELL_PRESTERA),y) +LINUX_FIRMWARE_FILES += \ + mrvl/prestera/mvsw_prestera_fw*.img +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell +endif + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_XCx000),y) LINUX_FIRMWARE_FILES += \ dvb-fe-xc4000-1.4.1.fw \ @@ -795,6 +849,12 @@ LINUX_FIRMWARE_FILES += v4l-cx231xx-avcore-01.fw # which is installed unconditionally endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CX23885),y) +LINUX_FIRMWARE_FILES += v4l-cx23885-avcore-01.fw +# No license file; the license is in the file WHENCE +# which is installed unconditionally +endif + ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),) define LINUX_FIRMWARE_BUILD_CMDS diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index ed32b32ea4..f95fb703f0 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -3,7 +3,7 @@ comment "Kernel Header Options" choice prompt "Kernel Headers" default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL - default BR2_KERNEL_HEADERS_6_4 + default BR2_KERNEL_HEADERS_6_6 help Select the kernel version to get headers from. @@ -24,11 +24,6 @@ config BR2_KERNEL_HEADERS_AS_KERNEL depends on BR2_LINUX_KERNEL select BR2_KERNEL_HEADERS_LATEST if BR2_LINUX_KERNEL_LATEST_VERSION -config BR2_KERNEL_HEADERS_4_14 - bool "Linux 4.14.x kernel headers" - depends on !BR2_riscv - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 - config BR2_KERNEL_HEADERS_4_19 bool "Linux 4.19.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 @@ -49,9 +44,9 @@ config BR2_KERNEL_HEADERS_6_1 bool "Linux 6.1.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1 -config BR2_KERNEL_HEADERS_6_4 - bool "Linux 6.4.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4 +config BR2_KERNEL_HEADERS_6_6 + bool "Linux 6.6.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6 select BR2_KERNEL_HEADERS_LATEST config BR2_KERNEL_HEADERS_VERSION @@ -129,8 +124,16 @@ choice If your kernel headers are more recent than the latest version in the choice, then select the latest version. +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6 + bool "6.6.x or later" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_5 + bool "6.5.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5 + config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_4 - bool "6.4.x or later" + bool "6.4.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4 config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_3 @@ -400,13 +403,12 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "4.14.327" if BR2_KERNEL_HEADERS_4_14 - default "4.19.296" if BR2_KERNEL_HEADERS_4_19 - default "5.4.258" if BR2_KERNEL_HEADERS_5_4 - default "5.10.198" if BR2_KERNEL_HEADERS_5_10 - default "5.15.135" if BR2_KERNEL_HEADERS_5_15 - default "6.1.57" if BR2_KERNEL_HEADERS_6_1 - default "6.4.16" if BR2_KERNEL_HEADERS_6_4 + default "4.19.310" if BR2_KERNEL_HEADERS_4_19 + default "5.4.272" if BR2_KERNEL_HEADERS_5_4 + default "5.10.213" if BR2_KERNEL_HEADERS_5_10 + default "5.15.152" if BR2_KERNEL_HEADERS_5_15 + default "6.1.82" if BR2_KERNEL_HEADERS_6_1 + default "6.6.22" if BR2_KERNEL_HEADERS_6_6 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \ diff --git a/package/linux-pam/0001-examples-tty_conv-fix-build-on-musl.patch b/package/linux-pam/0001-examples-tty_conv-fix-build-on-musl.patch deleted file mode 100644 index c1257d64da..0000000000 --- a/package/linux-pam/0001-examples-tty_conv-fix-build-on-musl.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 5374f677e4cae669eb9accf2449178b602e8a40a Mon Sep 17 00:00:00 2001 -From: Violet Purcell -Date: Thu, 11 May 2023 12:50:34 -0400 -Subject: [PATCH] examples/tty_conv: fix build on musl - -termio.h is the old System V version of the interface header, and is -only provided in glibc and dietlibc as far as I can tell. -This fixes it to use the POSIX termios.h instead. - -Upstream: https://github.com/linux-pam/linux-pam/commit/5374f677e4cae669eb9accf2449178b602e8a40a - -Signed-off-by: Bernd Kuhls ---- - examples/tty_conv.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/examples/tty_conv.c b/examples/tty_conv.c -index 23f0684cc..9a0e1ad99 100644 ---- a/examples/tty_conv.c -+++ b/examples/tty_conv.c -@@ -6,8 +6,9 @@ - #include - #include - #include --#include -+#include - #include -+#include - - /*************************************** - * @brief echo off/on -@@ -16,7 +17,7 @@ - ***************************************/ - static void echoOff(int fd, int off) - { -- struct termio tty; -+ struct termios tty; - if (ioctl(fd, TCGETA, &tty) < 0) - { - fprintf(stderr, "TCGETA failed: %s\n", strerror(errno)); diff --git a/package/linux-pam/0001-pam_namespace-include-stdint-h.patch b/package/linux-pam/0001-pam_namespace-include-stdint-h.patch new file mode 100644 index 0000000000..5eda619505 --- /dev/null +++ b/package/linux-pam/0001-pam_namespace-include-stdint-h.patch @@ -0,0 +1,42 @@ +From cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 Mon Sep 17 00:00:00 2001 +From: Jacob Heider +Date: Wed, 17 Jan 2024 11:49:26 -0500 +Subject: [PATCH] pam_namespace: include stdint.h + +pam_namespace.c makes use of SIZE_MAX but doesn't include stdint.h, +resulting in the following build failures on 1.6.0: + + pam_namespace.c: In function 'process_line': + pam_namespace.c:649:41: error: 'SIZE_MAX' undeclared (first use in this function) + 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) { + | ^~~~~~~~ + pam_namespace.c:41:1: note: 'SIZE_MAX' is defined in header ''; did you forget to '#include '? + 40 | #include "argv_parse.h" + +++ |+#include + 41 | + pam_namespace.c:649:41: note: each undeclared identifier is reported only once for each function it appears in + 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) { + | ^~~~~~~~ + +Fixes: v1.6.0~100 ("pam_namespace: validate amount of uids in config") +Resolves: https://github.com/linux-pam/linux-pam/issues/733 + +Upstream: https://github.com/linux-pam/linux-pam/commit/cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 +Signed-off-by: Fabrice Fontaine +--- + modules/pam_namespace/pam_namespace.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c +index f72d67189..b16731c22 100644 +--- a/modules/pam_namespace/pam_namespace.c ++++ b/modules/pam_namespace/pam_namespace.c +@@ -34,6 +34,8 @@ + + #define _ATFILE_SOURCE + ++#include "config.h" ++#include + #include "pam_cc_compat.h" + #include "pam_inline.h" + #include "pam_namespace.h" diff --git a/package/linux-pam/0002-Fix-build-if-crypt_r-isn-t-available.patch b/package/linux-pam/0002-Fix-build-if-crypt_r-isn-t-available.patch deleted file mode 100644 index c7fdd8be36..0000000000 --- a/package/linux-pam/0002-Fix-build-if-crypt_r-isn-t-available.patch +++ /dev/null @@ -1,37 +0,0 @@ -From b82acc21f1e2f76d4cb0c75bb4958751562039ab Mon Sep 17 00:00:00 2001 -From: Bernhard Rosenkränzer -Date: Wed, 7 Jun 2023 19:49:01 +0200 -Subject: [PATCH] Fix build if crypt_r isn't available -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -retval was being defined only in #ifdef HAVE_CRYPT_R, but used -unconditionally. - -Signed-off-by: Bernhard Rosenkränzer -Fixes: bcba17939e1b ("modules: make use of secure memory erasure") -Signed-off-by: Waldemar Brodkorb -Upstream: https://github.com/linux-pam/linux-pam/commit/b82acc21f1e2f76d4cb0c75bb4958751562039ab ---- - modules/pam_pwhistory/opasswd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/pam_pwhistory/opasswd.c b/modules/pam_pwhistory/opasswd.c -index 479e3fc4..fc610e2f 100644 ---- a/modules/pam_pwhistory/opasswd.c -+++ b/modules/pam_pwhistory/opasswd.c -@@ -128,9 +128,9 @@ static int - compare_password(const char *newpass, const char *oldpass) - { - char *outval; -+ int retval; - #ifdef HAVE_CRYPT_R - struct crypt_data output; -- int retval; - - output.initialized = 0; - --- -2.39.2 - diff --git a/package/linux-pam/linux-pam.hash b/package/linux-pam/linux-pam.hash index 97acbd7adc..cd882715cb 100644 --- a/package/linux-pam/linux-pam.hash +++ b/package/linux-pam/linux-pam.hash @@ -1,6 +1,6 @@ # Locally computed hashes after checking signature at -# https://github.com/linux-pam/linux-pam/releases/download/v1.5.3/Linux-PAM-1.5.3.tar.xz.asc +# https://github.com/linux-pam/linux-pam/releases/download/v1.6.0/Linux-PAM-1.6.0.tar.xz.asc # signed with the key 8C6BFD92EE0F42EDF91A6A736D1A7F052E5924BB -sha256 7ac4b50feee004a9fa88f1dfd2d2fa738a82896763050cd773b3c54b0a818283 Linux-PAM-1.5.3.tar.xz +sha256 fff4a34e5bbee77e2e8f1992f27631e2329bcbf8a0563ddeb5c3389b4e3169ad Linux-PAM-1.6.0.tar.xz # Locally computed sha256 133d98e7a2ab3ffd330b4debb0bfc10fea21e4b2b5a5b09de2e924293be5ff08 Copyright diff --git a/package/linux-pam/linux-pam.mk b/package/linux-pam/linux-pam.mk index 21e5decb9c..89a46e81df 100644 --- a/package/linux-pam/linux-pam.mk +++ b/package/linux-pam/linux-pam.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUX_PAM_VERSION = 1.5.3 +LINUX_PAM_VERSION = 1.6.0 LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.xz LINUX_PAM_SITE = https://github.com/linux-pam/linux-pam/releases/download/v$(LINUX_PAM_VERSION) LINUX_PAM_INSTALL_STAGING = YES @@ -21,9 +21,14 @@ LINUX_PAM_DEPENDENCIES = flex host-flex host-pkgconf \ $(TARGET_NLS_DEPENDENCIES) LINUX_PAM_LICENSE = BSD-3-Clause LINUX_PAM_LICENSE_FILES = Copyright -LINUX_PAM_MAKE_OPTS += LIBS=$(TARGET_NLS_LIBS) +LINUX_PAM_LIBS = $(TARGET_NLS_LIBS) +LINUX_PAM_MAKE_OPTS += LIBS="$(LINUX_PAM_LIBS)" LINUX_PAM_CPE_ID_VENDOR = linux-pam +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LINUX_PAM_LIBS += -latomic +endif + ifeq ($(BR2_PACKAGE_LIBSELINUX),y) LINUX_PAM_CONF_OPTS += --enable-selinux LINUX_PAM_DEPENDENCIES += libselinux diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in index 451b0eeff5..5a38f6dafe 100644 --- a/package/linux-tools/Config.in +++ b/package/linux-tools/Config.in @@ -38,6 +38,25 @@ config BR2_PACKAGE_LINUX_TOOLS_IIO These tools are available only from kernel version 4.7. +config BR2_PACKAGE_LINUX_TOOLS_MM + bool "mm" + select BR2_PACKAGE_LINUX_TOOLS + help + mm is a toolset for testing/monitoring/tracing vm/pages/slabs + objects. + + - page_owner_sort: userspace helper to sort the output of + /sys/kernel/debug/page_owner, which helps to know who + allocates the page from kernel context + + - slabinfo: the tool which gets reports about slabs, for + example show empty slabs, modify of slab debug options at + runtime, display all information about a slabcache + + - page-types: a handy tool for querying page flags + + These tools are available only from kernel version 3.4. + config BR2_PACKAGE_LINUX_TOOLS_PCI bool "pci" select BR2_PACKAGE_LINUX_TOOLS @@ -102,6 +121,32 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3 endif +config BR2_PACKAGE_LINUX_TOOLS_RTLA + bool "rtla" + depends on BR2_TOOLCHAIN_HAS_THREADS # libtracefs + depends on !BR2_STATIC_LIBS # libtracefs + select BR2_PACKAGE_LINUX_TOOLS + select BR2_PACKAGE_LIBTRACEFS + help + These tracers allow performing latency analysis, for which the + rtla tool provides wrapper commands to visualize and extract + latency traces and reports. + + rtla includes three tracers, which have been introduced in + different kernel versions: + - Linux 5.19 introduced the osnoise and timerlat tracers, + - Linux 6.3 introduced the hwnoise tracer + + osnoise and timerlat are always installed, while hwnoise is + installed if your kernel is recent enough. + + Note: rtla in kernels before 5.19 had additional dependencies, + not available in Buildroot, so only rtla in kernels 5.19 + onwards is actually supported in Buildroot. + +comment "rtla needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS bool"selftests" depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash diff --git a/package/linux-tools/linux-tool-bpftool.mk.in b/package/linux-tools/linux-tool-bpftool.mk.in deleted file mode 100644 index 0c4d3693a3..0000000000 --- a/package/linux-tools/linux-tool-bpftool.mk.in +++ /dev/null @@ -1,37 +0,0 @@ -################################################################################ -# -# bpftool -# -################################################################################ - -LINUX_TOOLS += bpftool - -BPFTOOL_DEPENDENCIES = binutils elfutils - -ifeq ($(BR2_PACKAGE_LIBCAP),y) -BPFTOOL_DEPENDENCIES += libcap -endif - -ifeq ($(BR2_PACKAGE_ZLIB),y) -BPFTOOL_DEPENDENCIES += zlib -endif - -BPFTOOL_MAKE_OPTS = $(LINUX_MAKE_FLAGS) - -define BPFTOOL_BUILD_CMDS - $(Q)if ! grep install $(LINUX_DIR)/tools/bpf/bpftool/Makefile >/dev/null 2>&1 ; then \ - echo "Your kernel version is too old and does not have install section in the bpf tools." ; \ - echo "At least kernel 4.15 must be used." ; \ - exit 1 ; \ - fi - - $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \ - $(BPFTOOL_MAKE_OPTS) -endef - -define BPFTOOL_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \ - $(BPFTOOL_MAKE_OPTS) \ - DESTDIR=$(TARGET_DIR) \ - install -endef diff --git a/package/linux-tools/linux-tool-mm.mk.in b/package/linux-tools/linux-tool-mm.mk.in new file mode 100644 index 0000000000..b2ec090fc0 --- /dev/null +++ b/package/linux-tools/linux-tool-mm.mk.in @@ -0,0 +1,37 @@ +################################################################################ +# +# mm +# +################################################################################ + +LINUX_TOOLS += mm + +define MM_BUILD_CMDS + $(Q)if test -f $(LINUX_DIR)/tools/vm/Makefile ; then \ + MM_SUBDIR=vm; \ + elif test -f $(LINUX_DIR)/tools/mm/Makefile ; then \ + MM_SUBDIR=mm; \ + else \ + echo "Your kernel version is too old and does not have the mm tool." ; \ + echo "At least kernel 3.4 must be used." ; \ + exit 1 ; \ + fi ; \ + $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR)/tools \ + $(MM_MAKE_OPTS) $${MM_SUBDIR} +endef + +# For install no need to recheck both cases: we know at least one +# exists, because that was checked at build time already; we just +# need to find which of the two: if not one, then the other. +define MM_INSTALL_TARGET_CMDS + $(Q)if test -f $(LINUX_DIR)/tools/vm/Makefile ; then \ + MM_SUBDIR=vm; \ + else \ + MM_SUBDIR=mm; \ + fi ; \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \ + $(LINUX_MAKE_FLAGS) \ + INSTALL_ROOT=$(TARGET_DIR) \ + DESTDIR=$(TARGET_DIR) \ + $${MM_SUBDIR}_install +endef diff --git a/package/linux-tools/linux-tool-rtla.mk.in b/package/linux-tools/linux-tool-rtla.mk.in new file mode 100644 index 0000000000..449371ddfe --- /dev/null +++ b/package/linux-tools/linux-tool-rtla.mk.in @@ -0,0 +1,52 @@ +################################################################################ +# +# rtla +# +################################################################################ + +LINUX_TOOLS += rtla + +RTLA_DEPENDENCIES = host-pkgconf libtracefs +RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \ + CC=$(TARGET_CC) \ + EXTRA_CFLAGS="-D_GNU_SOURCE" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig + +ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) +define RTLA_DISABLE_STACK_PROTECTOR + $(SED) 's/-fstack-protector.* //' $(LINUX_DIR)/tools/tracing/rtla/Makefile +endef +endif + +define RTLA_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE) + $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER) + $(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS) +endef + +define RTLA_BUILD_CMDS + $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile >/dev/null 2>&1 ; then \ + echo "Your kernel version is too old and does not implement the rtla tool." ; \ + echo "At least kernel 5.19 must be used." ; \ + exit 1 ; \ + fi + $(RTLA_DISABLE_STACK_PROTECTOR) + $(TARGET_MAKE_ENV) $(MAKE) $(RTLA_MAKE_OPTS) \ + -C $(LINUX_DIR)/tools/tracing rtla +endef + +# make rtla_install build and install by default documentation using rst2man +# but it's not available in Buildroot and we don't want manual files in target +# folder so let's simply install the resulting rtla binary and create symlinks +# like Linux does in its tools/tracing/rtla/Makefile +define RTLA_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla $(TARGET_DIR)/usr/bin + ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise + ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat + + # Check if hwnoise is provided or not + if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile; then \ + ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \ + fi +endef diff --git a/package/linux-tools/linux-tool-selftests.mk.in b/package/linux-tools/linux-tool-selftests.mk.in index e29c7f59de..0bcc47af0a 100644 --- a/package/linux-tools/linux-tool-selftests.mk.in +++ b/package/linux-tools/linux-tool-selftests.mk.in @@ -23,7 +23,8 @@ SELFTESTS_DEPENDENCIES = \ SELFTESTS_MAKE_FLAGS = \ $(LINUX_MAKE_FLAGS) \ - ARCH=$(SELFTESTS_ARCH) + ARCH=$(SELFTESTS_ARCH) \ + KHDR_DIR=$(LINUX_DIR)/usr/include # O must be redefined here to overwrite the one used by Buildroot for # out of tree build. We build the selftests in $(LINUX_DIR)/tools/selftests and diff --git a/package/linuxptp/linuxptp.hash b/package/linuxptp/linuxptp.hash index edbfb44553..1d5c590ea7 100644 --- a/package/linuxptp/linuxptp.hash +++ b/package/linuxptp/linuxptp.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 d27d5ef296bb3d285e22e69f75ae023b4b42a2f4655130d6d390d8afcbc3d933 linuxptp-4.0.tgz +sha256 70e38e5d2764e0217443da6f14e8846fe401a472293ac138d8419c07a665447a linuxptp-4.2.tgz # Hash for license file: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/linuxptp/linuxptp.mk b/package/linuxptp/linuxptp.mk index 054442d569..eea41f0baf 100644 --- a/package/linuxptp/linuxptp.mk +++ b/package/linuxptp/linuxptp.mk @@ -4,12 +4,12 @@ # ################################################################################ -LINUXPTP_VERSION = 4.0 +LINUXPTP_VERSION = 4.2 LINUXPTP_SOURCE = linuxptp-$(LINUXPTP_VERSION).tgz LINUXPTP_SITE = http://downloads.sourceforge.net/linuxptp LINUXPTP_LICENSE = GPL-2.0+ LINUXPTP_LICENSE_FILES = COPYING -LINUXPTP_CPE_ID_VENDOR = linuxptp_project +LINUXPTP_CPE_ID_VALID = YES LINUXPTP_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ diff --git a/package/liquid-dsp/liquid-dsp.hash b/package/liquid-dsp/liquid-dsp.hash index 6fdbd62a86..4e18f3caa2 100644 --- a/package/liquid-dsp/liquid-dsp.hash +++ b/package/liquid-dsp/liquid-dsp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 93003edb6e74090b41009b1fae6f273a3e711dc4c8c56a0cca3e89167b765953 liquid-dsp-1.5.0.tar.gz +sha256 6ee6a5dfb48e047b118cf613c0b9f43e34356a5667a77a72a55371d2c8c53bf5 liquid-dsp-1.6.0.tar.gz sha256 4df7126196efba1283deb99e3269418dde4ab0ad1fde80a55051153451eb4df2 LICENSE diff --git a/package/liquid-dsp/liquid-dsp.mk b/package/liquid-dsp/liquid-dsp.mk index e9788eb144..ce4cd5a7a7 100644 --- a/package/liquid-dsp/liquid-dsp.mk +++ b/package/liquid-dsp/liquid-dsp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIQUID_DSP_VERSION = 1.5.0 +LIQUID_DSP_VERSION = 1.6.0 LIQUID_DSP_SITE = $(call github,jgaeddert,liquid-dsp,v$(LIQUID_DSP_VERSION)) LIQUID_DSP_LICENSE = MIT LIQUID_DSP_LICENSE_FILES = LICENSE @@ -13,13 +13,23 @@ LIQUID_DSP_AUTORECONF = YES LIQUID_DSP_CONF_ENV = \ ax_cv_have_mmx_ext=$(if $(BR2_X86_CPU_HAS_MMX),yes,no) \ + ax_cv_have_mmx_cpu_ext=$(if $(BR2_X86_CPU_HAS_MMX),yes,no) \ ax_cv_have_sse_ext=$(if $(BR2_X86_CPU_HAS_SSE),yes,no) \ + ax_cv_have_sse_cpu_ext=$(if $(BR2_X86_CPU_HAS_SSE),yes,no) \ ax_cv_have_sse2_ext=$(if $(BR2_X86_CPU_HAS_SSE2),yes,no) \ + ax_cv_have_sse2_cpu_ext=$(if $(BR2_X86_CPU_HAS_SSE2),yes,no) \ ax_cv_have_sse3_ext=$(if $(BR2_X86_CPU_HAS_SSE3),yes,no) \ + ax_cv_have_sse3_cpu_ext=$(if $(BR2_X86_CPU_HAS_SSE3),yes,no) \ ax_cv_have_ssse3_ext=$(if $(BR2_X86_CPU_HAS_SSSE3),yes,no) \ + ax_cv_have_ssse3_cpu_ext=$(if $(BR2_X86_CPU_HAS_SSSE3),yes,no) \ ax_cv_have_sse41_ext=$(if $(BR2_X86_CPU_HAS_SSE4),yes,no) \ + ax_cv_have_sse41_cpu_ext=$(if $(BR2_X86_CPU_HAS_SSE4),yes,no) \ ax_cv_have_sse42_ext=$(if $(BR2_X86_CPU_HAS_SSE42),yes,no) \ - ax_cv_have_avx_ext=$(if $(BR2_X86_CPU_HAS_AVX),yes,no) + ax_cv_have_sse42_cpu_ext=$(if $(BR2_X86_CPU_HAS_SSE42),yes,no) \ + ax_cv_have_avx_ext=$(if $(BR2_X86_CPU_HAS_AVX),yes,no) \ + ax_cv_have_avx_cpu_ext=$(if $(BR2_X86_CPU_HAS_AVX),yes,no) \ + ax_cv_have_avx2_ext=$(if $(BR2_X86_CPU_HAS_AVX2),yes,no) \ + ax_cv_have_avx2_cpu_ext=$(if $(BR2_X86_CPU_HAS_AVX2),yes,no) LIQUID_DSP_CFLAGS = $(TARGET_CFLAGS) LIQUID_DSP_LDFLAGS = $(TARGET_LDFLAGS) @@ -37,7 +47,18 @@ endif # disable altivec, it has build issues ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y) +LIQUID_DSP_SIMDOVERRIDE = y +endif + +# Upstream expects NEON on all ARM CPUs by default +ifeq ($(BR2_arm):$(BR2_ARM_FPU_NEON),y:) +LIQUID_DSP_SIMDOVERRIDE = y +endif + +ifeq ($(LIQUID_DSP_SIMDOVERRIDE),y) LIQUID_DSP_CONF_OPTS += --enable-simdoverride +# Do not add an else-clause to pass --disable-simdoverride, as it is +# non-functional, and behaves as --enable-simdoverride endif LIQUID_DSP_CONF_OPTS += \ diff --git a/package/lldpd/0001-daemon-fix-read-overflow-when-parsing-CDP-addresses.patch b/package/lldpd/0001-daemon-fix-read-overflow-when-parsing-CDP-addresses.patch deleted file mode 100644 index 05d882a07a..0000000000 --- a/package/lldpd/0001-daemon-fix-read-overflow-when-parsing-CDP-addresses.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a9aeabdf879c25c584852a0bb5523837632f099b Mon Sep 17 00:00:00 2001 -From: Vincent Bernat -Date: Wed, 12 Apr 2023 07:38:31 +0200 -Subject: [PATCH] daemon: fix read overflow when parsing CDP addresses - -Upstream: https://github.com/lldpd/lldpd/commit/a9aeabdf879c25c584852a0bb5523837632f099b -Signed-off-by: Fabrice Fontaine ---- - NEWS | 4 ++++ - src/daemon/protocols/cdp.c | 1 + - 2 files changed, 5 insertions(+) - -diff --git a/src/daemon/protocols/cdp.c b/src/daemon/protocols/cdp.c -index 8a1be863..42861c0e 100644 ---- a/src/daemon/protocols/cdp.c -+++ b/src/daemon/protocols/cdp.c -@@ -466,6 +466,7 @@ cdp_decode(struct lldpd *cfg, char *frame, int s, struct lldpd_hardware *hardwar - goto malformed; - } - PEEK_DISCARD(address_len); -+ addresses_len -= address_len; - (void)PEEK_SAVE(pos_next_address); - /* Next, we go back and try to extract - IPv4 address */ diff --git a/package/lldpd/lldpd.hash b/package/lldpd/lldpd.hash index 6db5ca98f1..e798e2beb2 100644 --- a/package/lldpd/lldpd.hash +++ b/package/lldpd/lldpd.hash @@ -1,5 +1,5 @@ # Locally computed after checking gpg key -# https://media.luffy.cx/files/lldpd/lldpd-1.0.15.tar.gz.gpg +# https://media.luffy.cx/files/lldpd/lldpd-1.0.17.tar.gz.gpg # using key AEF2348766F371C689A7360095A42FE8353525F9 -sha256 f7fe3a130be98a19c491479ef60f36b8ee41a9e6bc4d7f2c41033f63956a3126 lldpd-1.0.15.tar.gz +sha256 9343177f145d2bca66ef03d59528079d3f1663c624b1e2b9d08268efdc6127ce lldpd-1.0.17.tar.gz sha256 0e96a5aea65f16e2239231ce4ab90497f8bc3bb8fe6abe9299aade4726ff7c8d LICENSE diff --git a/package/lldpd/lldpd.mk b/package/lldpd/lldpd.mk index d4abfade81..34e1c8c249 100644 --- a/package/lldpd/lldpd.mk +++ b/package/lldpd/lldpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LLDPD_VERSION = 1.0.15 +LLDPD_VERSION = 1.0.17 LLDPD_SITE = https://media.luffy.cx/files/lldpd LLDPD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_CHECK),check) \ @@ -14,10 +14,7 @@ LLDPD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_VALGRIND),valgrind) LLDPD_LICENSE = ISC LLDPD_LICENSE_FILES = LICENSE -LLDPD_CPE_ID_VENDOR = lldpd_project - -# 0001-daemon-fix-read-overflow-when-parsing-CDP-addresses.patch -LLDPD_IGNORE_CVES += CVE-2023-41910 +LLDPD_CPE_ID_VALID = YES # Detection of c99 support in configure fails without WCHAR. To enable # automatic detection of c99 support by configure, we need to enable diff --git a/package/llvm-project/llvm/Config.in b/package/llvm-project/llvm/Config.in index ebb0fca66a..4ee84b3bcc 100644 --- a/package/llvm-project/llvm/Config.in +++ b/package/llvm-project/llvm/Config.in @@ -57,6 +57,12 @@ config BR2_PACKAGE_LLVM_BPF Build BPF target. Select this option if you are going to install bcc on the target. +config BR2_PACKAGE_LLVM_DUMP + bool "enable dump" + help + Build LLVM with dump functions even when assertions are + disabled. + endif comment "llvm needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7" diff --git a/package/llvm-project/llvm/llvm.mk b/package/llvm-project/llvm/llvm.mk index 556a2f8c35..6598d8b6c1 100644 --- a/package/llvm-project/llvm/llvm.mk +++ b/package/llvm-project/llvm/llvm.mk @@ -228,6 +228,13 @@ HOST_LLVM_CONF_OPTS += -DLLVM_ENABLE_RTTI=OFF LLVM_CONF_OPTS += -DLLVM_ENABLE_RTTI=OFF endif +HOST_LLVM_CONF_OPTS += -DLLVM_ENABLE_DUMP=OFF +ifeq ($(BR2_PACKAGE_LLVM_DUMP),y) +LLVM_CONF_OPTS += -DLLVM_ENABLE_DUMP=ON +else +LLVM_CONF_OPTS += -DLLVM_ENABLE_DUMP=OFF +endif + # Compiler-rt not in the source tree. # llvm runtime libraries are not in the source tree. # Polly is not in the source tree. diff --git a/package/localedef/0001-HACK-only-build-and-install-localedef.patch b/package/localedef/0001-HACK-only-build-and-install-localedef.patch index b289000c8a..49bbfd227c 100644 --- a/package/localedef/0001-HACK-only-build-and-install-localedef.patch +++ b/package/localedef/0001-HACK-only-build-and-install-localedef.patch @@ -1,4 +1,4 @@ -From 442e9a3f262c49cf61f9e7bdf12882f0a427666b Mon Sep 17 00:00:00 2001 +From bd5a87ea4a0cc0ba393a16bbeb166903e4085e8b Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Mon, 21 May 2018 16:45:02 +0200 Subject: [PATCH] HACK: only build and install localedef @@ -7,16 +7,18 @@ Signed-off-by: Michael Olbrich Upstream: https://git.pengutronix.de/cgit/ptxdist/plain/patches/localedef-glibc-2.27/0001-HACK-only-build-and-install-localedef.patch?id=47116f66f411d4dadfce42c2fdd6d41b351ccfd4 Signed-off-by: Peter Seiderer +[Romain: rebase on 2.38] +Signed-off-by: Romain Naour --- Rules | 14 ++++++++++---- locale/Makefile | 6 +++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Rules b/Rules -index b1137afe71..2aeac31922 100644 +index 279ae490ac..1321956be6 100644 --- a/Rules +++ b/Rules -@@ -216,10 +216,16 @@ binaries-shared-notests = $(filter-out $(binaries-pie) $(binaries-static), \ +@@ -221,10 +221,16 @@ binaries-shared-notests = $(filter-out $(binaries-pie) $(binaries-static), \ $(binaries-all-notests)) ifneq "$(strip $(binaries-shared-notests))" "" @@ -38,7 +40,7 @@ index b1137afe71..2aeac31922 100644 ifneq "$(strip $(binaries-shared-tests))" "" diff --git a/locale/Makefile b/locale/Makefile -index b7c60681fa..de4cf4003f 100644 +index d7036b0855..68afdddc7f 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -33,15 +33,15 @@ categories = ctype messages monetary numeric time paper name \ @@ -61,5 +63,5 @@ index b7c60681fa..de4cf4003f 100644 libBrokenLocale-routines = broken_cur_max -- -2.33.0 +2.41.0 diff --git a/package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch b/package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch index 94fccfa856..70d2b34bc1 100644 --- a/package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch +++ b/package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch @@ -1,4 +1,4 @@ -From 85412262460f6ba9f6e2cf8da74fc1904c54c854 Mon Sep 17 00:00:00 2001 +From add730a680075ed611797b9ea771bf977667a7de Mon Sep 17 00:00:00 2001 From: Matt Weber Date: Thu, 6 Feb 2020 14:36:21 -0600 Subject: [PATCH] relax dependency on GCC to 4.8 and binutils to 2.24 @@ -26,15 +26,17 @@ GCC 6.2+ Signed-off-by: Matthew Weber [yann.morin.1998@free.fr: update for 2.37] Signed-off-by: Yann E. MORIN +[Romain: rebase on 2.38] +Signed-off-by: Romain Naour --- - configure | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + configure | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure -index 9619c10991..0c481d2339 100755 +index 4ef387146d..4c6f91117d 100755 --- a/configure +++ b/configure -@@ -4178,7 +4178,7 @@ $as_echo_n "checking version of $LD... " >&6; } +@@ -5293,7 +5293,7 @@ printf %s "checking version of $LD... " >&6; } ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -43,8 +45,8 @@ index 9619c10991..0c481d2339 100755 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; -@@ -4589,7 +4589,7 @@ int - main () +@@ -5735,7 +5735,7 @@ int + main (void) { -#if !defined __GNUC__ || __GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2) @@ -53,4 +55,5 @@ index 9619c10991..0c481d2339 100755 #endif ; -- -2.33.0 +2.41.0 + diff --git a/package/localedef/0003-HACK-keep-_ISOC2X_SOURCE-undefined-to-build-localede.patch b/package/localedef/0003-HACK-keep-_ISOC2X_SOURCE-undefined-to-build-localede.patch new file mode 100644 index 0000000000..741bd7b47f --- /dev/null +++ b/package/localedef/0003-HACK-keep-_ISOC2X_SOURCE-undefined-to-build-localede.patch @@ -0,0 +1,32 @@ +From babfa64585bef6c53c1d399a1c244aea89437c9e Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 9 Sep 2023 23:58:50 +0200 +Subject: [PATCH] HACK: keep _ISOC2X_SOURCE undefined to build localedef with + old glibc + +Fixes: +host-localedef-2.38-13-g92201f16cbcfd9eafe314ef6654be2ea7ba25675/build/locale/ld-ctype.o: in function `ctype_read': +ld-ctype.c:(.text+0x6cef): undefined reference to `__isoc23_strtoul' + +Upstream: Not applicable + +Signed-off-by: Romain Naour +--- + include/features.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/include/features.h b/include/features.h +index 7c51b4a2e4..f385370d18 100644 +--- a/include/features.h ++++ b/include/features.h +@@ -207,7 +207,6 @@ + # undef _ISOC11_SOURCE + # define _ISOC11_SOURCE 1 + # undef _ISOC2X_SOURCE +-# define _ISOC2X_SOURCE 1 + # undef _POSIX_SOURCE + # define _POSIX_SOURCE 1 + # undef _POSIX_C_SOURCE +-- +2.41.0 + diff --git a/package/localedef/2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f/localedef.hash b/package/localedef/2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f/localedef.hash deleted file mode 100644 index 4b8d8297ec..0000000000 --- a/package/localedef/2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f/localedef.hash +++ /dev/null @@ -1,7 +0,0 @@ -# Locally calculated (fetched from Github) -sha256 3e2004b16ec6b79a19a88ed4736719ef9e419f9d8e7013faced654c0339e23dc glibc-2.33-46-gedfd11197ecf3629bbb4b66c5814da09a61a7f9f.tar.gz - -# Hashes for license files -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 b33d0bd9f685b46853548814893a6135e74430d12f6d94ab3eba42fc591f83bc LICENSES diff --git a/package/localedef/localedef.mk b/package/localedef/localedef.mk index 18f040d7c2..c017c0e00e 100644 --- a/package/localedef/localedef.mk +++ b/package/localedef/localedef.mk @@ -7,7 +7,7 @@ # Use the same VERSION and SITE as target glibc # As in glibc.mk, generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- -LOCALEDEF_VERSION = 2.37-45-gb4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3 +LOCALEDEF_VERSION = 2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0 LOCALEDEF_SOURCE = glibc-$(LOCALEDEF_VERSION).tar.gz LOCALEDEF_SITE = $(call github,bminor,glibc,$(LOCALEDEF_VERSION)) HOST_LOCALEDEF_DL_SUBDIR = glibc diff --git a/package/log4cpp/log4cpp.hash b/package/log4cpp/log4cpp.hash index f4084c8112..20b5ade32d 100644 --- a/package/log4cpp/log4cpp.hash +++ b/package/log4cpp/log4cpp.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/log4cpp/files/log4cpp-1.1.x%20%28new%29/log4cpp-1.1/ -md5 b9e2cee932da987212f2c74b767b4d8b log4cpp-1.1.3.tar.gz -sha1 74f0fea7931dc1bc4e5cd34a6318cd2a51322041 log4cpp-1.1.3.tar.gz +md5 d56ef8240014528c354da5b7e93015ca log4cpp-1.1.4.tar.gz +sha1 b32e6ec981a5d75864e1097525e1f502cc242d17 log4cpp-1.1.4.tar.gz # Locally computed -sha256 2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d log4cpp-1.1.3.tar.gz +sha256 696113659e426540625274a8b251052cc04306d8ee5c42a0c7639f39ca90c9d6 log4cpp-1.1.4.tar.gz sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 log4cpp/COPYING diff --git a/package/log4cpp/log4cpp.mk b/package/log4cpp/log4cpp.mk index 8664a54385..53c97e554d 100644 --- a/package/log4cpp/log4cpp.mk +++ b/package/log4cpp/log4cpp.mk @@ -5,7 +5,7 @@ ################################################################################ LOG4CPP_VERSION_MAJOR = 1.1 -LOG4CPP_VERSION = $(LOG4CPP_VERSION_MAJOR).3 +LOG4CPP_VERSION = $(LOG4CPP_VERSION_MAJOR).4 LOG4CPP_SITE = http://downloads.sourceforge.net/project/log4cpp/log4cpp-1.1.x%20%28new%29/log4cpp-$(LOG4CPP_VERSION_MAJOR) LOG4CPP_SUBDIR = log4cpp # The "or later" is indicated in the HTML documentation @@ -13,9 +13,6 @@ LOG4CPP_LICENSE = LGPL-2.1+ LOG4CPP_LICENSE_FILES = log4cpp/COPYING LOG4CPP_INSTALL_STAGING = YES LOG4CPP_CONF_OPTS = --enable-doxygen=no --enable-dot=no -# needed to fix broken configure script -LOG4CPP_AUTORECONF = YES -LOG4CPP_AUTORECONF_OPTS = -I m4 # The default _CONFIG_SCRIPTS handling does not apply define LOG4CPP_STAGING_CONFIG_SCRIPT_FIXUP diff --git a/package/logrotate/logrotate.hash b/package/logrotate/logrotate.hash index 9c8e73f738..cc466a6f4e 100644 --- a/package/logrotate/logrotate.hash +++ b/package/logrotate/logrotate.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 742f6d6e18eceffa49a4bacd933686d3e42931cfccfb694d7f6369b704e5d094 logrotate-3.20.1.tar.xz +sha256 8fa12015e3b8415c121fc9c0ca53aa872f7b0702f543afda7e32b6c4900f6516 logrotate-3.21.0.tar.xz diff --git a/package/logrotate/logrotate.mk b/package/logrotate/logrotate.mk index 453dbe477a..3fed1b957f 100644 --- a/package/logrotate/logrotate.mk +++ b/package/logrotate/logrotate.mk @@ -4,12 +4,12 @@ # ################################################################################ -LOGROTATE_VERSION = 3.20.1 +LOGROTATE_VERSION = 3.21.0 LOGROTATE_SOURCE = logrotate-$(LOGROTATE_VERSION).tar.xz LOGROTATE_SITE = https://github.com/logrotate/logrotate/releases/download/$(LOGROTATE_VERSION) LOGROTATE_LICENSE = GPL-2.0+ LOGROTATE_LICENSE_FILES = COPYING -LOGROTATE_CPE_ID_VENDOR = logrotate_project +LOGROTATE_CPE_ID_VALID = YES LOGROTATE_DEPENDENCIES = popt host-pkgconf LOGROTATE_SELINUX_MODULES = logrotate LOGROTATE_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs popt`" diff --git a/package/lrzsz/lrzsz.mk b/package/lrzsz/lrzsz.mk index 3897975d73..d9be23540e 100644 --- a/package/lrzsz/lrzsz.mk +++ b/package/lrzsz/lrzsz.mk @@ -9,7 +9,7 @@ LRZSZ_SITE = http://www.ohse.de/uwe/releases LRZSZ_CONF_OPTS = --disable-timesync LRZSZ_LICENSE = GPL-2.0+ LRZSZ_LICENSE_FILES = COPYING -LRZSZ_CPE_ID_VENDOR = lrzsz_project +LRZSZ_CPE_ID_VALID = YES LRZSZ_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) LRZSZ_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) diff --git a/package/lsof/lsof.hash b/package/lsof/lsof.hash index d9e85ac15c..90d8aede92 100644 --- a/package/lsof/lsof.hash +++ b/package/lsof/lsof.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 80308a614508814ac70eb2ae1ed2c4344dcf6076fa60afc7734d6b1a79e62b16 lsof-4.98.0.tar.gz +sha256 b9c56468b927d9691ab168c0b1e9f8f1f835694a35ff898c549d383bd8d09bd4 lsof-4.99.3.tar.gz sha256 225222ff9bf38abc2cef7205e9b05c60935efa9ec28d1fd01e503c9316088718 COPYING diff --git a/package/lsof/lsof.mk b/package/lsof/lsof.mk index 303622d111..cb4e987bd5 100644 --- a/package/lsof/lsof.mk +++ b/package/lsof/lsof.mk @@ -4,11 +4,11 @@ # ################################################################################ -LSOF_VERSION = 4.98.0 +LSOF_VERSION = 4.99.3 LSOF_SITE = $(call github,lsof-org,lsof,$(LSOF_VERSION)) LSOF_LICENSE = lsof license LSOF_LICENSE_FILES = COPYING -LSOF_CPE_ID_VENDOR = lsof_project +LSOF_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_LIBTIRPC),y) LSOF_DEPENDENCIES += libtirpc @@ -16,14 +16,14 @@ endif ifeq ($(BR2_USE_WCHAR),) define LSOF_CONFIGURE_WCHAR_FIXUPS - $(SED) 's,^#define[[:space:]]*HASWIDECHAR.*,#undef HASWIDECHAR,' \ + $(SED) 's,^#[[:space:]]*define HASWIDECHAR.*,#undef HASWIDECHAR,' \ $(@D)/machine.h endef endif ifeq ($(BR2_ENABLE_LOCALE),) define LSOF_CONFIGURE_LOCALE_FIXUPS - $(SED) 's,^#define[[:space:]]*HASSETLOCALE.*,#undef HASSETLOCALE,' \ + $(SED) 's,^#[[:space:]]*define HASSETLOCALE.*,#undef HASSETLOCALE,' \ $(@D)/machine.h endef endif diff --git a/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch b/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch deleted file mode 100644 index 740d3a6d6a..0000000000 --- a/package/ltp-testsuite/0001-configure.ac-fix-mount_attr-detection.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 30353a1eb3ee8940f38d6a0e8f5f39352fd8a179 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 26 Feb 2023 20:25:54 +0100 -Subject: [PATCH] configure.ac: fix mount_attr detection -Upstream: https://github.com/linux-test-project/ltp/commit/30353a1eb3ee8940f38d6a0e8f5f39352fd8a179 - -Commit b857f8723f30a4b9554bf6b0ff8fa52fd07e8b60 tried to fix build with -latest glibc which provides mount_attr in sys/mount.h. Unfortunately, -the following build failure is still raised because sys/mount is now -unconditionally included in include/lapi/fsmount.h: - -In file included from fsconfig01.c:9: -../../../../include/lapi/fsmount.h:55:8: error: redefinition of 'struct mount_attr' - 55 | struct mount_attr { - | ^~~~~~~~~~ -In file included from ../../../../include/lapi/fsmount.h:14: -/home/autobuild/autobuild/instance-4/output-1/host/armeb-buildroot-linux-gnueabi/sysroot/usr/include/sys/mount.h:210:8: note: originally defined here - 210 | struct mount_attr - | ^~~~~~~~~~ - -Fixes: b857f8723 ("lapi/fsmount: resolve conflict in different header files") -Fixes: http://autobuild.buildroot.org/results/4dbb72e1bf081afd3cd944571b9beeefc7608865 -Link: https://lore.kernel.org/ltp/20230226192554.669332-1-fontaine.fabrice@gmail.com/ -Reviewed-by: Li Wang -[ pvorel: fix from b857f8723 is needed for glibc before glibc-2.37~426, -i.e. without fix 774058d729 ("linux: Fix sys/mount.h usage with kernel headers") -(which was backported to 2.35 and 2.34 maintenance). ] -Reviewed-by: Petr Vorel -Signed-off-by: Fabrice Fontaine ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 114468ae3..4c8763376 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -224,10 +224,10 @@ AC_CHECK_TYPES([struct __kernel_old_timeval, struct __kernel_old_timespec, struc - - AC_CHECK_TYPES([struct futex_waitv],,,[#include ]) - AC_CHECK_TYPES([struct mount_attr],,,[ --#ifdef HAVE_LINUX_MOUNT_H --# include --#else -+#ifdef HAVE_MOUNT_SETATTR - # include -+#elif HAVE_LINUX_MOUNT_H -+# include - #endif - ]) - --- -2.40.0 - diff --git a/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash index 59ba5d0045..1562f346b4 100644 --- a/package/ltp-testsuite/ltp-testsuite.hash +++ b/package/ltp-testsuite/ltp-testsuite.hash @@ -1,4 +1,4 @@ -# From: https://github.com/linux-test-project/ltp/releases/download/20230127/ltp-full-20230127.tar.xz.sha256 -sha256 254412a52c7238f35a247337da186f485e76fb64c6549ed849b3442fc7a417ef ltp-full-20230127.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 diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk index 78271b0730..0996b77e58 100644 --- a/package/ltp-testsuite/ltp-testsuite.mk +++ b/package/ltp-testsuite/ltp-testsuite.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTP_TESTSUITE_VERSION = 20230127 +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 ce5a85edcf..21d381db70 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 d6bbf6a946..0000000000 --- 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 f696e3af17..abe6853d9b 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 9b59613417..b34ac142ce 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-libust/Config.in b/package/lttng-libust/Config.in index 8472cab7bb..88e1164f97 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 e685cc3367..b14b488837 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 416833f4ef..d6f1e4114d 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 9c86cc2646..5750c5c4e0 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 0000000000..33ffdde723 --- /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 0000000000..53208afaed --- /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 0000000000..5879b66e63 --- /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 0000000000..503a001c99 --- /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 0000000000..c573ba5796 --- /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 0000000000..77f6550fac --- /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-compat53/Config.in b/package/lua-compat53/Config.in index de468fcf66..695c139280 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 ccd9a71205..1930063fdc 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 0e8f1c3600..12ac5c011b 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 0000000000..b660147008 --- /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 0000000000..30ae4536f6 --- /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 0000000000..a777a4baea --- /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-datafile/lua-datafile.hash b/package/lua-datafile/lua-datafile.hash index e3b415ad4d..2e993bc887 100644 --- a/package/lua-datafile/lua-datafile.hash +++ b/package/lua-datafile/lua-datafile.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 b511ce5a4f4072bb6c496bd42760fa92a0576d0c77828b6a2600d68fe9d7e998 datafile-0.7-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 3b4c65d3e3..943ed9b8bc 100644 --- a/package/lua-datafile/lua-datafile.mk +++ b/package/lua-datafile/lua-datafile.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_DATAFILE_VERSION = 0.7-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-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 0000000000..fdbf5243f5 --- /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 7fbb09038e..34387c12e5 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-messagepack/lua-messagepack.hash b/package/lua-messagepack/lua-messagepack.hash index 5c8dd59366..f61a351383 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 33d460b4fc..7e5ab006c9 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 62f8f350fa..fecd4dbbdd 100644 --- a/package/lua-mqtt/lua-mqtt.hash +++ b/package/lua-mqtt/lua-mqtt.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 1b5ec0aebb2d41700762e3d6f542517c55b8cf44e323c53d55a47f19e22b664a lua-mqtt-0.3.0-1.src.rock -sha256 c8d12c868b979f5b9592eec503fc3de54e9feb92163f3cfc50a141ee2bcccc25 lua-mqtt-0.3.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 ff889237e4..a000ffdb16 100644 --- a/package/lua-mqtt/lua-mqtt.mk +++ b/package/lua-mqtt/lua-mqtt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_MQTT_VERSION = 0.3.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 cb8d48c0ea..eccff44269 100644 --- a/package/lua-rotas/lua-rotas.hash +++ b/package/lua-rotas/lua-rotas.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 601d0fe9cb57e4c2fd22352c6e0f064888edc428e32f0cb7ddbdc9650f21d8d9 lua-rotas-0.2.2-1.src.rock -sha256 1112307622ef36ed8ee3e8ddb15ed294e699a9db45f6251d89343534388ec3dd lua-Rotas-0.2.2/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 5c9b2caacb..1f99dbaf08 100644 --- a/package/lua-rotas/lua-rotas.mk +++ b/package/lua-rotas/lua-rotas.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_ROTAS_VERSION = 0.2.2-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 418c3e9e43..3ceab6572b 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 91b1b77476..809ac3dd2d 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 1f435709f4..634b95c6e6 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 e3cc7b7bdb..aaf2c13069 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 0000000000..88ed2c7c79 --- /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 0000000000..6db046ec2f --- /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/mysql/mysql.mk b/package/lua-ubjson/lua-ubjson.mk similarity index 52% rename from package/mysql/mysql.mk rename to package/lua-ubjson/lua-ubjson.mk index d65562563d..93e6631962 100644 --- a/package/mysql/mysql.mk +++ b/package/lua-ubjson/lua-ubjson.mk @@ -1,7 +1,11 @@ ################################################################################ # -# mysql +# lua-ubjson # ################################################################################ -$(eval $(virtual-package)) +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/5.4.3/lua.hash b/package/lua/5.4.3/lua.hash deleted file mode 100644 index be3604837f..0000000000 --- a/package/lua/5.4.3/lua.hash +++ /dev/null @@ -1,6 +0,0 @@ -# Hashes from: https://www.lua.org/ftp/ -md5 ef63ed2ecfb713646a7fcc583cf5f352 lua-5.4.3.tar.gz -sha1 1dda2ef23a9828492b4595c0197766de6e784bc7 lua-5.4.3.tar.gz - -# Locally computed -sha256 d205bfea131113bcdd64d4ebe4a50ce34063b42bad24b93e44b4b0d853ae4d49 doc/readme.html diff --git a/package/luajit/0001-no-bin-symlink.patch b/package/luajit/0001-no-bin-symlink.patch index dc36fa58d6..ea0e5bf8d0 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 8de777dce2..163a5d36fc 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 049f8c2fc2..578bb7a3e2 100644 --- a/package/luajit/luajit.hash +++ b/package/luajit/luajit.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 835035b244c3dc3d3d19bdd5ac623af90b84207e6330fb78f9fa51d6e200d760 luajit-8635cbabf3094c4d8bd00578c7d812bea87bb2d3.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 2a27aa5056..06c8993391 100644 --- a/package/luajit/luajit.mk +++ b/package/luajit/luajit.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAJIT_VERSION = 8635cbabf3094c4d8bd00578c7d812bea87bb2d3 +LUAJIT_VERSION = 41fb94defa8f830ce69a8122b03f6ac3216d392a LUAJIT_SITE = $(call github,LuaJIT,LuaJIT,$(LUAJIT_VERSION)) LUAJIT_LICENSE = MIT LUAJIT_LICENSE_FILES = COPYRIGHT @@ -33,6 +33,15 @@ LUAJIT_HOST_CC = $(HOSTCC) -m32 LUAJIT_XCFLAGS += -DLUAJIT_DISABLE_GC64 endif +# emulation of git archive with .gitattributes & export-subst +# Timestamp of the $(LUAJIT_VERSION) commit, obtained in the LuaJit +# repo, with: git show -s --format=%ct $(LUAJIT_VERSION) +define LUAJIT_GEN_RELVER_FILE + echo 1693350652 >$(@D)/.relver +endef +LUAJIT_POST_EXTRACT_HOOKS = LUAJIT_GEN_RELVER_FILE +HOST_LUAJIT_POST_EXTRACT_HOOKS = LUAJIT_GEN_RELVER_FILE + # We unfortunately can't use TARGET_CONFIGURE_OPTS, because the luajit # build system uses non conventional variable names. define LUAJIT_BUILD_CMDS diff --git a/package/lualdap/lualdap.hash b/package/lualdap/lualdap.hash index 97aa3b570e..62d8d20abf 100644 --- a/package/lualdap/lualdap.hash +++ b/package/lualdap/lualdap.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 c1772077ebfd02e082e89583701ef27dd348dc76ae015247f21a2756f5fac0ae lualdap-1.3.1-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 375754180f..a6fc612b79 100644 --- a/package/lualdap/lualdap.mk +++ b/package/lualdap/lualdap.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUALDAP_VERSION = 1.3.1-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/luasec/luasec.hash b/package/luasec/luasec.hash index 3c2b7d803b..0fb9996d39 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 c7f3a94d9a..6e338a7be3 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/luvi/luvi.mk b/package/luvi/luvi.mk index 4a8072dee5..ebd1066c5c 100644 --- a/package/luvi/luvi.mk +++ b/package/luvi/luvi.mk @@ -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/Config.in b/package/lvm2/Config.in index 577a90656a..ddb398d160 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,6 +26,7 @@ if BR2_PACKAGE_LVM2 config BR2_PACKAGE_LVM2_STANDARD_INSTALL bool "standard install instead of only dmsetup" default y + select BR2_PACKAGE_LIBAIO help Install the standard suite of lvm2 programs. When this option is not set, only dmsetup is installed. diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index 9caf99eb9b..810d668ec2 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) 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 0000000000..4a944e35b1 --- /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/lxc.hash b/package/lxc/lxc.hash index 2dd983a361..8b3365ddfc 100644 --- a/package/lxc/lxc.hash +++ b/package/lxc/lxc.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 bea08d2e49efcee34fa58acd2bc95c0adc64d291c07f4cfaf4ac1d8ac5a36f45 lxc-5.0.2.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 4a4d3a6212..b2afb978e6 100644 --- a/package/lxc/lxc.mk +++ b/package/lxc/lxc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LXC_VERSION = 5.0.2 +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 3f62f4f5b7..da57eb2601 100644 --- a/package/lynx/lynx.mk +++ b/package/lynx/lynx.mk @@ -13,7 +13,7 @@ LYNX_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 5da1ae2703..202dc172f7 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 0682d8d0ff..76c00615d5 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/madplay/madplay.mk b/package/madplay/madplay.mk index e1a78bd7d7..91ee44ab5f 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/makedevs/README b/package/makedevs/README deleted file mode 100644 index 70844bf802..0000000000 --- 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 0000000000..d62887a747 --- /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 f38d93c04a..fdb30de88d 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 8dc60b043e..410752682d 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 f48450292d..ddde56b55c 100644 --- a/package/mali-driver/mali-driver.hash +++ b/package/mali-driver/mali-driver.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ba30a5bae498462c4e967564b3fd6e5cbc5f4a7f71bfe9d13091ac6b0504d749 mali-driver-9baa7331c8e5ba6075e3fc42c530ae7f4c320cad.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 3ab9b19f5f..fa5a8d94d9 100644 --- a/package/mali-driver/mali-driver.mk +++ b/package/mali-driver/mali-driver.mk @@ -4,7 +4,7 @@ # ################################################################################ -MALI_DRIVER_VERSION = 9baa7331c8e5ba6075e3fc42c530ae7f4c320cad +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/manual.mk b/package/manual.mk deleted file mode 100644 index 2c6784cd9b..0000000000 --- a/package/manual.mk +++ /dev/null @@ -1,10 +0,0 @@ - ################################################################################ -# -# The ShredOS user and developer manual -# -################################################################################ - -MANUAL_SOURCES = $(sort $(wildcard shredos_manual/*.txt) $(wildcard images/*)) -MANUAL_RESOURCES = $(TOPDIR)/images - -$(eval $(call asciidoc-document)) diff --git a/package/mariadb/Config.in b/package/mariadb/Config.in new file mode 100644 index 0000000000..acedd1da9d --- /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 03ce5a968a..fd73cca4f3 100644 --- a/package/mariadb/mariadb.hash +++ b/package/mariadb/mariadb.hash @@ -1,5 +1,5 @@ -# From https://downloads.mariadb.org/mariadb/10.11.4 -sha512 62fc05395857dd036ebeed53b1ff0ecd9abd95ce8e5316194286521caae0f9452cf96a93613adec809e39e1d8ef20c330b24fee82b3bb90ee27a84f2bbd0d8d2 mariadb-10.11.4.tar.gz +# From https://downloads.mariadb.org/mariadb/10.11.6 +sha512 3d77f7be4a26d5a36af56150a5f8ed5e21adeed9bc8ea1bd694e47a25a571bd73468eada7c96e0dfe5a6c81bef625abf71a56d228cf43a738e555e3c0d824a6a mariadb-10.11.6.tar.gz # Hash for license files sha256 2b278a3a2f20696113a7c57c4f3e6a5cdb9a25f2a827e72e0c089a2f805ff91a README.md diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index 78e4703eee..8641437d4d 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -4,7 +4,7 @@ # ################################################################################ -MARIADB_VERSION = 10.11.4 +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,7 +13,6 @@ 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 = \ diff --git a/package/matio/matio.hash b/package/matio/matio.hash index 94e0e48f69..976e9f03e8 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 2ba9c8f568..dc9be2ac18 100644 --- a/package/matio/matio.mk +++ b/package/matio/matio.mk @@ -4,11 +4,13 @@ # ################################################################################ -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 diff --git a/package/mawk/mawk.hash b/package/mawk/mawk.hash index 69761f77df..31a74cab60 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 c4a486215d..9aadf6d972 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/mbedtls.hash b/package/mbedtls/mbedtls.hash index d0cd0b2105..5466b0e7de 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.4: -sha256 849e86b626e42ded6bf67197b64aa771daa54e2a7e2868dc67e1e4711959e5e3 mbedtls-2.28.5.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 1b941e04f4..9757b8b080 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -4,15 +4,16 @@ # ################################################################################ -MBEDTLS_VERSION = 2.28.5 -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/mc/mc.hash b/package/mc/mc.hash index 5edfc79113..93462afa60 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.29.sha256 -sha256 01d8a3b94f58180cca5bf17257b5078d1fd6fd27a9b5c0e970ec767549540ad4 mc-4.8.29.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 894b231445..2b4279c308 100644 --- a/package/mc/mc.mk +++ b/package/mc/mc.mk @@ -4,7 +4,7 @@ # ################################################################################ -MC_VERSION = 4.8.29 +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/mdadm/mdadm.mk b/package/mdadm/mdadm.mk index ef518cd238..b54e34b230 100644 --- a/package/mdadm/mdadm.mk +++ b/package/mdadm/mdadm.mk @@ -9,7 +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_VENDOR = mdadm_project +MDADM_CPE_ID_VALID = YES MDADM_CXFLAGS = $(TARGET_CFLAGS) diff --git a/package/mdio-tools/mdio-tools.hash b/package/mdio-tools/mdio-tools.hash index 1a9d598923..19172e2cd6 100644 --- a/package/mdio-tools/mdio-tools.hash +++ b/package/mdio-tools/mdio-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d2ab71d92173053af41d754e9c229e1ead768b9f8b7f4947b3b87b84c4c5e360 mdio-tools-1.3.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 fb8ec39f35..16eba74734 100644 --- a/package/mdio-tools/mdio-tools.mk +++ b/package/mdio-tools/mdio-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MDIO_TOOLS_VERSION = 1.3.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/memcached/0001-logger.c-initialize-rport.patch b/package/memcached/0001-logger.c-initialize-rport.patch index 5fb13d5eee..002a689601 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 a7d0dfdd00..0000000000 --- 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__) || defined(__APPLE__)) --#if defined(__linux__) -+#if defined(__linux__) && defined(HAVE_SYS_AUX_H) - #include - #elif defined(__APPLE__) - #include --- -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 0000000000..a5af7a2adb --- /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 dab9b8835d..0000000000 --- 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/memcached.hash b/package/memcached/memcached.hash index 78875dde66..bd2072df0b 100644 --- a/package/memcached/memcached.hash +++ b/package/memcached/memcached.hash @@ -1,6 +1,6 @@ -# From http://www.memcached.org/files/memcached-1.6.17.tar.gz.sha1 -sha1 e25639473e15f1bd9516b915fb7e03ab8209030f memcached-1.6.17.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 2055e373613d8fc21529aff9f0adce3e23b9ce01ba0478d30e7941d9f2bd1224 memcached-1.6.17.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 7183da6c14..05ae69eb32 100644 --- a/package/memcached/memcached.mk +++ b/package/memcached/memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -MEMCACHED_VERSION = 1.6.17 +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 79c0161020..c9a8cf749f 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. + Memtest86+ will only work on 32-bit or 64-bit x86 targets. It + boots and autodetects hardware. Refer README.md for boot + options. - menuentry "Memtest86+" { - linux16 /boot/memtest86+.bin + 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 559ae0ac6c..695e6a234b 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 eb071cc29d..c0f85755fe 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/mender.mk b/package/mender/mender.mk index 724295f784..ee1398244b 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-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index b101394869..0756296a01 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,7 +12,7 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 23.1.4 +MESA3D_HEADERS_VERSION = 24.0.4 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 430bd3b4b9..f3919478a6 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 @@ -10,7 +10,7 @@ to force disabling it at compile time. 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 & 23.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] --- @@ -23,7 +23,7 @@ diff --git a/meson_options.txt b/meson_options.txt index 8e0bf2a..1cf0e07 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -116,6 +116,13 @@ option( +@@ -124,6 +124,13 @@ option( description : 'enable gallium va frontend.', ) diff --git a/package/mesa3d/0004-Fix-uClibc-build.patch b/package/mesa3d/0004-Fix-uClibc-build.patch index ae1fc25f48..faa86b0d1b 100644 --- a/package/mesa3d/0004-Fix-uClibc-build.patch +++ b/package/mesa3d/0004-Fix-uClibc-build.patch @@ -26,6 +26,8 @@ Fixes build errors with uClibc and gcc-9.3.0: 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 + @@ -35,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 - ++ +/* + * C11 static_assert() macro + * assert.h only defines that name for C11 and above @@ -49,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 0000000000..ab27d384cf --- /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/0006-meson-ensure-i915-Gallium-driver-includes-Intel-sour.patch b/package/mesa3d/0006-meson-ensure-i915-Gallium-driver-includes-Intel-sour.patch deleted file mode 100644 index 6831bdafd3..0000000000 --- a/package/mesa3d/0006-meson-ensure-i915-Gallium-driver-includes-Intel-sour.patch +++ /dev/null @@ -1,46 +0,0 @@ -From cd861b7f38e448822ce765aee61304d1e0a3a8b5 Mon Sep 17 00:00:00 2001 -From: James Knight -Date: Thu, 13 Apr 2023 16:38:51 -0400 -Subject: meson: ensure i915 Gallium driver includes Intel sources - -Ensure builds flag the use of Intel sources when the i915 Gallium driver -is configured (`-Dgallium-drivers=i915`). Otherwise, a build may fail if -other Intel-based configuration options are not enabled: - - ./src/gallium/winsys/i915/drm/meson.build:21:0: ERROR: Unknown variable "libintel_common". - -Signed-off-by: James Knight -Part-of: - -Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/commit/cd861b7f38e448822ce765aee61304d1e0a3a8b5 - -Signed-off-by: Bernd Kuhls ---- - meson.build | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -(limited to 'meson.build') - -diff --git a/meson.build b/meson.build -index 23d2d965b37..a3e3c5478a8 100644 ---- a/meson.build -+++ b/meson.build -@@ -245,7 +245,14 @@ with_microsoft_vk = _vulkan_drivers.contains('microsoft-experimental') - with_any_vk = _vulkan_drivers.length() != 0 - - with_any_broadcom = with_gallium_vc4 or with_gallium_v3d or with_broadcom_vk --with_any_intel = with_intel_vk or with_intel_hasvk or with_gallium_iris or with_gallium_crocus or with_intel_tools -+with_any_intel = [ -+ with_gallium_crocus, -+ with_gallium_i915, -+ with_gallium_iris, -+ with_intel_hasvk, -+ with_intel_tools, -+ with_intel_vk, -+].contains(true) - - if with_swrast_vk and not with_gallium_softpipe - error('swrast vulkan requires gallium swrast') --- -cgit v1.2.1 - 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 0000000000..f9e4d50fd7 --- /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 c7ee2a8db0..459051b2db 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -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 @@ -299,13 +282,20 @@ comment "Gallium VDPAU state tracker needs X.org and gallium drivers r600, radeo 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. @@ -316,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 diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index 60c3bd6d5d..e2e0be2641 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2023-July/000724.html -sha256 7261a17fb94867e3dc5a90d8a1f100fa04b0cbbde51d25302c0872b5e9a10959 mesa-23.1.4.tar.xz -sha512 4063c7848f507b5e25cfc862394268147254b90c9f3eb19035cce338b0a9cb611b7380c1c73f0e4feeddde68124225df7dee7b9db5f019603dfde2b88ff46a21 mesa-23.1.4.tar.xz +# From https://lists.freedesktop.org/archives/mesa-dev/2024-March/226176.html +sha256 90febd30a098cbcd97ff62ecc3dcf5c93d76f7fa314de944cfce81951ba745f0 mesa-24.0.4.tar.xz +sha512 1d05b07026417fbe9cf18f7b18f2db9fe5fe327555c590283d87f69bbdd51f64135928a1dbe155d750187fc268bbdbb070bc1ae9ffc3e013b8707b391969d515 mesa-24.0.4.tar.xz # License sha256 a00275a53178e2645fb65be99a785c110513446a5071ff2c698ed260ad917d75 docs/license.rst diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 6fa5c1c686..c2343488ed 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 = 23.1.4 +MESA3D_VERSION = 24.0.4 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 += \ 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 8e15d3210c..8b95dc7592 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/cross-compilation.conf.in b/package/meson/cross-compilation.conf.in deleted file mode 100644 index 37b49eea3b..0000000000 --- a/package/meson/cross-compilation.conf.in +++ /dev/null @@ -1,31 +0,0 @@ -# Note: Buildroot's and Meson's terminologies differ about the meaning -# of 'build', 'host' and 'target': -# - Buildroot's 'host' is Meson's 'build' -# - Buildroot's 'target' is Meson's 'host' - -[binaries] -c = '@TARGET_CROSS@gcc' -cpp = '@TARGET_CROSS@g++' -ar = '@TARGET_CROSS@ar' -strip = '@TARGET_CROSS@strip' -pkgconfig = '@HOST_DIR@/bin/pkgconf' -g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler' -g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner' - -[built-in options] -c_args = [@TARGET_CFLAGS@] -c_link_args = [@TARGET_LDFLAGS@] -cpp_args = [@TARGET_CXXFLAGS@] -cpp_link_args = [@TARGET_LDFLAGS@] - -[properties] -needs_exe_wrapper = true -sys_root = '@STAGING_DIR@' -pkg_config_libdir = '@STAGING_DIR@/usr/lib/pkgconfig:@STAGING_DIR@/usr/share/pkgconfig' -pkg_config_static = '@STATIC@' - -[host_machine] -system = 'linux' -cpu_family = '@TARGET_ARCH@' -cpu = '@TARGET_CPU@' -endian = '@TARGET_ENDIAN@' diff --git a/package/meson/meson.hash b/package/meson/meson.hash index cb36b674fa..150fd6d1bb 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/1.1.1/meson-1.1.1.tar.gz.asc -sha256 d04b541f97ca439fb82fab7d0d480988be4bd4e62563a5ca35fadb5400727b1c meson-1.1.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 503aca8c25..467569d28b 100644 --- a/package/meson/meson.mk +++ b/package/meson/meson.mk @@ -4,7 +4,7 @@ # ################################################################################ -MESON_VERSION = 1.1.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/mg/mg.hash b/package/mg/mg.hash index e8eedb8921..6a3e3465b8 100644 --- a/package/mg/mg.hash +++ b/package/mg/mg.hash @@ -1,4 +1,4 @@ -# From https://github.com/troglobit/mg/releases/tag/v3.6 -sha256 0e30f99b7606ddd92535aec0ba0118557afa4adca0961267314a4bf7791865fb mg-3.6.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 88f8f60257..59f1d1e316 100644 --- a/package/mg/mg.mk +++ b/package/mg/mg.mk @@ -4,7 +4,7 @@ # ################################################################################ -MG_VERSION = 3.6 +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/microchip-hss-payload-generator/Config.in.host b/package/microchip-hss-payload-generator/Config.in.host new file mode 100644 index 0000000000..38e11bd0e5 --- /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 0000000000..b9015fc961 --- /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 0000000000..4c3ca93dfe --- /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 76557b220b..0000000000 --- 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 cbdda23844..0000000000 --- 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 78ac0d3b35..0000000000 --- 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/Config.in b/package/micropython/Config.in index b5dc47279d..849a5452f4 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 0000000000..8dce78337a --- /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 7bff7de4e2..43551866b9 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 5f687c73b9..125a0edcfb 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. @@ -39,18 +36,41 @@ MICROPYTHON_MAKE_OPTS += \ 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/minicom/minicom.hash b/package/minicom/minicom.hash index 42a4499c85..dd10450262 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 5cd1d6b8b8..8bc5717417 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/minisign/Config.in b/package/minisign/Config.in new file mode 100644 index 0000000000..a211177925 --- /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 0000000000..99a89b7cf3 --- /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 0000000000..12cde42a43 --- /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 0000000000..34b3f4046e --- /dev/null +++ b/package/minisign/minisign.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# 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 + +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 df5e8d723a..cbd9313870 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 4367a2420f..6d4a2d2e20 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 55fc176dbd..b21a8490aa 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 c74c0df8d1..819b33b701 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/mmc-utils.hash b/package/mmc-utils/mmc-utils.hash index 0d0b6ac1b9..2c1bb86066 100644 --- a/package/mmc-utils/mmc-utils.hash +++ b/package/mmc-utils/mmc-utils.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e5a8dacf26a178010202c8fa7cb28b01f50fe967da98cdbdf320b2f110920106 mmc-utils-d4c2910981ff99b983734426dfa99632fb81ac6b-br1.tar.gz +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 9da9c30293..48c347d846 100644 --- a/package/mmc-utils/mmc-utils.mk +++ b/package/mmc-utils/mmc-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -MMC_UTILS_VERSION = d4c2910981ff99b983734426dfa99632fb81ac6b +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 @@ -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/moarvm.hash b/package/moarvm/moarvm.hash index 7d113694f8..ed10fad963 100644 --- a/package/moarvm/moarvm.hash +++ b/package/moarvm/moarvm.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 143f92510eaa3452c712e4aae9f44d84cd078f16517b40252bab7dd5e224ecdb MoarVM-2023.06.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 8f568f4b42..bd1938d88b 100644 --- a/package/moarvm/moarvm.mk +++ b/package/moarvm/moarvm.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOARVM_VERSION = 2023.06 +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/mongoose/mongoose.hash b/package/mongoose/mongoose.hash index ffef9f446c..ed5db5ebf6 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 0693f7553a..74594ff48c 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 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 0000000000..325dcc17e1 --- /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 26d665c083..1d9feca57b 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 6d5d475813..c709f903e6 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/mono.mk b/package/mono/mono.mk index b88f2b379e..aead85bac0 100644 --- a/package/mono/mono.mk +++ b/package/mono/mono.mk @@ -7,6 +7,7 @@ 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/motion/motion.hash b/package/motion/motion.hash index 21f74b481f..e8bbfbcbcb 100644 --- a/package/motion/motion.hash +++ b/package/motion/motion.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0c824276bb23565b7cf10409ebdcb46b85fb1f6abca957252e52290bb1fe473e motion-4.5.1.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 2cce6cd1ff..ff5e2c1403 100644 --- a/package/motion/motion.mk +++ b/package/motion/motion.mk @@ -4,11 +4,11 @@ # ################################################################################ -MOTION_VERSION = 4.5.1 +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 @@ -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 d3f0243650..4605ee6b0d 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 7de837c170..ae777cdc75 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 4f4af9a91d..0ccda3c785 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 00d1964fe6..a58423b4bc 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/mpd.hash b/package/mpd/mpd.hash index 8683b02e3b..4ee4967556 100644 --- a/package/mpd/mpd.hash +++ b/package/mpd/mpd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 a96b01e6fbbb7e8ab25eb7c15d5c811c62eb19b76d143a802f51674791f1d519 mpd-0.23.13.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 f03a459b8c..4dbd7a6d1d 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).13 +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 diff --git a/package/mpfr/mpfr.mk b/package/mpfr/mpfr.mk index 8d12c7502b..c0c8c04646 100644 --- a/package/mpfr/mpfr.mk +++ b/package/mpfr/mpfr.mk @@ -9,7 +9,8 @@ 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/0001-mpg123-buildfix.patch b/package/mpg123/0001-mpg123-buildfix.patch deleted file mode 100644 index cc731ea967..0000000000 --- a/package/mpg123/0001-mpg123-buildfix.patch +++ /dev/null @@ -1,24 +0,0 @@ -Signed-off-by: Waldemar Brodkorb -Upstream: https://sourceforge.net/p/mpg123/bugs/353/ - -diff -Nur mpg123-1.31.3.orig/src/libmpg123/getcpuflags.h mpg123-1.31.3/src/libmpg123/getcpuflags.h ---- mpg123-1.31.3.orig/src/libmpg123/getcpuflags.h 2023-03-15 09:02:58.000000000 +0100 -+++ mpg123-1.31.3/src/libmpg123/getcpuflags.h 2023-08-07 15:57:19.444106173 +0200 -@@ -44,6 +44,8 @@ - - unsigned int getcpuflags(struct cpuflags* cf); - -+#if ((defined OPT_X86) || (defined OPT_X86_64) || (defined OPT_NEON) || (defined OPT_NEON64)) && (defined OPT_MULTI) -+ - #ifdef WANT_GETCPUFLAGS - #include - // Wrapper needed for ignorant clang memory sanitizer that chokes -@@ -55,8 +57,6 @@ - } - #endif - --#if ((defined OPT_X86) || (defined OPT_X86_64) || (defined OPT_NEON) || (defined OPT_NEON64)) && (defined OPT_MULTI) -- - // We really evaluate the CPU flags. - #define OPT_CPU_FLAGS - diff --git a/package/mpg123/mpg123.hash b/package/mpg123/mpg123.hash index 39ded93fb9..0fe4699606 100644 --- a/package/mpg123/mpg123.hash +++ b/package/mpg123/mpg123.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/mpg123/files/mpg123/1.31.3/ -sha1 c41b98e4c5ac55a5b3787b5aa309a71a6d458145 mpg123-1.31.3.tar.bz2 +# From https://sourceforge.net/projects/mpg123/files/mpg123/1.32.3/ +sha1 3a94848a620db7917c757cb21e261c711e44618f mpg123-1.32.3.tar.bz2 # Locally calculated -sha256 1ca77d3a69a5ff845b7a0536f783fee554e1041139a6b978f6afe14f5814ad1a mpg123-1.31.3.tar.bz2 +sha256 2d9913a57d4ee8f497a182c6e82582602409782a4fb481e989feebf4435867b4 mpg123-1.32.3.tar.bz2 # License file sha256 c22482728a634a8dfdb4ff72a96d4c1ed64cd8f3e79335c401751ac591609366 COPYING diff --git a/package/mpg123/mpg123.mk b/package/mpg123/mpg123.mk index 5ec5590267..4de5f99bdf 100644 --- a/package/mpg123/mpg123.mk +++ b/package/mpg123/mpg123.mk @@ -4,7 +4,7 @@ # ################################################################################ -MPG123_VERSION = 1.31.3 +MPG123_VERSION = 1.32.3 MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2 MPG123_SITE = https://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION) MPG123_INSTALL_STAGING = YES diff --git a/package/msmtp/msmtp.hash b/package/msmtp/msmtp.hash index c5fe9d9176..ba4ef02746 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.24.tar.xz.sig +# https://marlam.de/msmtp/releases/msmtp-1.8.25.tar.xz.sig # with key 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 -sha256 bd6644b1aaab17d61b86647993e3efad860b23c54283b00ddc579c1f5110aa59 msmtp-1.8.24.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 93c923a123..b964970bfa 100644 --- a/package/msmtp/msmtp.mk +++ b/package/msmtp/msmtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -MSMTP_VERSION = 1.8.24 +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/mtd.hash b/package/mtd/mtd.hash index a2133e3ce2..9926a34a80 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 db2b104586..998cc419b3 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -4,7 +4,7 @@ # ################################################################################ -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_LICENSE = GPL-2.0 diff --git a/package/multipath-tools/Config.in b/package/multipath-tools/Config.in index 222f78b86c..bc0f67190d 100644 --- a/package/multipath-tools/Config.in +++ b/package/multipath-tools/Config.in @@ -1,8 +1,9 @@ -comment "multipath-tools needs udev and a 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_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" @@ -12,12 +13,16 @@ config BR2_PACKAGE_MULTIPATH_TOOLS 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 ecaad05e25..03a2867144 100644 --- a/package/multipath-tools/multipath-tools.hash +++ b/package/multipath-tools/multipath-tools.hash @@ -1,7 +1,6 @@ # Locally computed: -sha256 6ed3cf6e786da20a451d9747cbd4c5817815388b8fc8022d1074b3018479031d multipath-tools-0.9.4.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 b8b4369c539d6a61ad2a5a359a1ecdfb9f630a89590216d490314e19bf07aa0c README.md diff --git a/package/multipath-tools/multipath-tools.mk b/package/multipath-tools/multipath-tools.mk index 23b3cc9442..164d850600 100644 --- a/package/multipath-tools/multipath-tools.mk +++ b/package/multipath-tools/multipath-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MULTIPATH_TOOLS_VERSION = 0.9.4 +MULTIPATH_TOOLS_VERSION = 0.9.7 MULTIPATH_TOOLS_SITE = $(call github,opensvc,multipath-tools,$(MULTIPATH_TOOLS_VERSION)) MULTIPATH_TOOLS_LICENSE = \ @@ -16,11 +16,19 @@ 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 = \ kernel_incdir=$(STAGING_DIR)/usr/include \ LIB="lib" \ diff --git a/package/musepack/musepack.mk b/package/musepack/musepack.mk index fc66c684a5..02fe53d47d 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/Config.in b/package/musl/Config.in index 34ffe8324a..89f41d2ff1 100644 --- a/package/musl/Config.in +++ b/package/musl/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_MUSL_ARCH_SUPPORTS 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 @@ -17,7 +18,7 @@ config BR2_PACKAGE_MUSL_ARCH_SUPPORTS default y if BR2_RISCV_64 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. diff --git a/package/mxsldr/mxsldr.hash b/package/mxsldr/mxsldr.hash new file mode 100644 index 0000000000..c2a7b4ad64 --- /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 8942e55a45..0000000000 --- a/package/mysql/Config.in +++ /dev/null @@ -1,89 +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_INSTALL_LIBSTDCPP # fmt - depends on !BR2_STATIC_LIBS - 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_PCRE2 - 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, C++, wchar" - depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_USE_WCHAR - 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/nano/nano.mk b/package/nano/nano.mk index 8a2003b92a..8b93527bec 100644 --- a/package/nano/nano.mk +++ b/package/nano/nano.mk @@ -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 04b658e8d8..abf117a572 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 b86e8c128a..e5c576ef2c 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/nbd/nbd.hash b/package/nbd/nbd.hash index f58a89bf9a..9fe95441af 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 50f698dd24..b077e43624 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 1e31eaea8e..553e128ed1 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 240ef9d8ea..f14f61fec5 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/ncmpc/ncmpc.hash b/package/ncmpc/ncmpc.hash index 17bc6e3ace..1d288294d1 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 5d4702de78..ee75c2a676 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/ncurses.mk b/package/ncurses/ncurses.mk index 3b805cb1fd..00e1c0d424 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -73,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 e258382c53..550b9fffac 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 23734ca7d7..d797b82e65 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/neard/neard.hash b/package/neard/neard.hash index 1ea95c938a..b739d7289b 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 51ba52fb90..c1804c48a2 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/neon.mk b/package/neon/neon.mk index 96ee608780..93870b9966 100644 --- a/package/neon/neon.mk +++ b/package/neon/neon.mk @@ -10,7 +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 -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 1fb0649fb2..52e249824f 100644 --- a/package/nerdctl/nerdctl.hash +++ b/package/nerdctl/nerdctl.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 574438dd7c88e6a607c6f82932f8ada174b1133a66ee0fa0f7510e7c3bebacb4 nerdctl-1.3.1.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 43e862f7f9..66b22df646 100644 --- a/package/nerdctl/nerdctl.mk +++ b/package/nerdctl/nerdctl.mk @@ -4,7 +4,7 @@ # ################################################################################ -NERDCTL_VERSION = 1.3.1 +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 4a03e3d846..0744bf18cb 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/netatalk.hash b/package/netatalk/netatalk.hash index a35e6bc36c..9ab5d604a8 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.17/ -md5 a6429a28948f85b69c9012fb437dd9c2 netatalk-3.1.17.tar.xz -sha1 bc6578d9fa874b3816fd4ddd60a30a8f3aadc71d netatalk-3.1.17.tar.xz +# 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 8c208e2c94bf3047db33cdbc3ce4325d2b80db61d6cc527f18f9dbd8e95b5cff netatalk-3.1.17.tar.xz +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 a47bfa7e84..53cd53876a 100644 --- a/package/netatalk/netatalk.mk +++ b/package/netatalk/netatalk.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETATALK_VERSION = 3.1.17 +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 @@ -12,7 +12,7 @@ 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 939c9fa9fb..c9d7952e59 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/netsniff-ng/Config.in b/package/netsniff-ng/Config.in index 9ad3628f14..489d0b6f9a 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-Fix-configuration-of-NETSNMP_FD_MASK_TYPE.patch b/package/netsnmp/0001-Fix-configuration-of-NETSNMP_FD_MASK_TYPE.patch deleted file mode 100644 index 91a00aec27..0000000000 --- a/package/netsnmp/0001-Fix-configuration-of-NETSNMP_FD_MASK_TYPE.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a62169f1fa358be8f330ea8519ade0610fac525b Mon Sep 17 00:00:00 2001 -From: Adam Gajda -Date: Mon, 2 Oct 2023 16:40:31 +0200 -Subject: [PATCH] Fix configuration of NETSNMP_FD_MASK_TYPE - -Upstream: https://github.com/net-snmp/net-snmp/commit/a62169f1fa358be8f330ea8519ade0610fac525b -Signed-off-by: Fabrice Fontaine ---- - configure | 2 +- - configure.d/config_project_types | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 9f0a173d8a..945a27c663 100755 ---- a/configure -+++ b/configure -@@ -30871,7 +30871,7 @@ CFLAGS="$CFLAGS -Werror" - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the type of fd_set::fds_bits" >&5 - printf %s "checking for the type of fd_set::fds_bits... " >&6; } --for type in __fd_mask __int32_t unknown; do -+for type in __fd_mask __int32_t long\ int unknown; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -diff --git a/configure.d/config_project_types b/configure.d/config_project_types -index 1b4c66b95e..a78e8ebb06 100644 ---- a/configure.d/config_project_types -+++ b/configure.d/config_project_types -@@ -66,7 +66,7 @@ netsnmp_save_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -Werror" - - AC_MSG_CHECKING([for the type of fd_set::fds_bits]) --for type in __fd_mask __int32_t unknown; do -+for type in __fd_mask __int32_t long\ int unknown; do - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ - #include - #include 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 0000000000..3a6321d7a7 --- /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 96ed8237ac..aece896670 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.hash b/package/netsnmp/netsnmp.hash index 7898941271..e1e9d10898 100644 --- a/package/netsnmp/netsnmp.hash +++ b/package/netsnmp/netsnmp.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature at -# https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.4/net-snmp-5.9.4.tar.gz.asc -# using key 6E6718AEF1EB5C65C32D1B2A356BC0B552D53CAB -sha256 8b4de01391e74e3c7014beb43961a2d6d6fa03acc34280b9585f4930745b0544 net-snmp-5.9.4.tar.gz +# https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.3/net-snmp-5.9.3.tar.gz.asc +# using key D0F8F495DA6160C44EFFBF10F07B9D2DACB19FD6 +sha256 2097f29b7e1bf3f1300b4bae52fa2308d0bb8d5d3998dbe02f9462a413a2ef0a net-snmp-5.9.3.tar.gz # Hash for license file sha256 ed869ea395a1f125819a56676385ab0557a21507764bf56f2943302011381e59 COPYING diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index b5cda30a7b..6575ff1afa 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -4,13 +4,17 @@ # ################################################################################ -NETSNMP_VERSION = 5.9.4 +NETSNMP_VERSION = 5.9.3 NETSNMP_SITE = https://downloads.sourceforge.net/project/net-snmp/net-snmp/$(NETSNMP_VERSION) NETSNMP_SOURCE = net-snmp-$(NETSNMP_VERSION).tar.gz 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 = \ @@ -43,6 +47,16 @@ 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 else @@ -106,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 0000000000..6647b10c32 --- /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/nettle/nettle.mk b/package/nettle/nettle.mk index d1987d427f..20f755cc98 100644 --- a/package/nettle/nettle.mk +++ b/package/nettle/nettle.mk @@ -6,15 +6,17 @@ 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/0001-build-meson-add-option-to-set-the-mobile-broadband-p.patch b/package/network-manager/0001-build-meson-add-option-to-set-the-mobile-broadband-p.patch deleted file mode 100644 index 4336472e45..0000000000 --- a/package/network-manager/0001-build-meson-add-option-to-set-the-mobile-broadband-p.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 03ba04d4784fa4fc7ec31455070fb5ecf25ade23 Mon Sep 17 00:00:00 2001 -From: Heiko Thiery -Date: Fri, 27 Jan 2023 22:38:42 +0100 -Subject: [PATCH] build: meson: add option to set the - mobile-broadband-provider-info database - -When building network-manager in cross-compile environment meson is not able -to detect the right location of the mobile-broadband-provider-info -database by using the pkg-config module. - -By adding the option 'mobile_broadband_provider_info_database' to set the -correct path to the datafile this can be solved. - -Signed-off-by: Heiko Thiery - -https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1519 ---- - meson.build | 6 +++++- - meson_options.txt | 1 + - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 0adc42f738..84ce52c736 100644 ---- a/meson.build -+++ b/meson.build -@@ -584,7 +584,10 @@ enable_modem_manager = get_option('modem_manager') - if enable_modem_manager - mm_glib_dep = dependency('mm-glib', version: '>= 0.7.991') - -- mobile_broadband_provider_info_database = dependency('mobile-broadband-provider-info').get_pkgconfig_variable('database') -+ mobile_broadband_provider_info_database = get_option('mobile_broadband_provider_info_database') -+ if mobile_broadband_provider_info_database == '' -+ mobile_broadband_provider_info_database = dependency('mobile-broadband-provider-info').get_pkgconfig_variable('database') -+ endif - config_h.set_quoted('MOBILE_BROADBAND_PROVIDER_INFO_DATABASE', mobile_broadband_provider_info_database) - endif - -@@ -1054,6 +1057,7 @@ output += ' jansson: ' + jansson_msg + '\n' - output += ' iptables: ' + config_h.get('IPTABLES_PATH') + '\n' - output += ' nft: ' + config_h.get('NFT_PATH') + '\n' - output += ' modemmanager-1: ' + enable_modem_manager.to_string() + '\n' -+output += ' mobile-broadband-provider-info-database: ' + mobile_broadband_provider_info_database + '\n' - output += ' ofono: ' + enable_ofono.to_string() + '\n' - output += ' concheck: ' + enable_concheck.to_string() + '\n' - output += ' libteamdctl: ' + enable_teamdctl.to_string() + '\n' -diff --git a/meson_options.txt b/meson_options.txt -index 8b1d32e645..4e359f9e92 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -32,6 +32,7 @@ option('ppp', type: 'boolean', value: true, description: 'enable PPP/PPPoE suppo - option('pppd', type: 'string', value: '', description: 'path to pppd binary') - option('pppd_plugin_dir', type: 'string', value: '', description: 'path to the pppd plugins directory') - option('modem_manager', type: 'boolean', value: true, description: 'Enable new ModemManager1 interface support') -+option('mobile_broadband_provider_info_database', type: 'string', value: '', description: 'path to the mobile-broadband-provider-info database') - option('ofono', type: 'boolean', value: false, description: 'Enable oFono support (experimental)') - option('concheck', type: 'boolean', value: true, description: 'enable connectivity checking support') - option('teamdctl', type: 'boolean', value: false, description: 'enable Teamd control support') --- -2.20.1 - 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 0000000000..8e25805d0c --- /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/0002-meson.build-fix-build-failure-with-Dmodem_manager-fa.patch b/package/network-manager/0002-meson.build-fix-build-failure-with-Dmodem_manager-fa.patch deleted file mode 100644 index 648be027e0..0000000000 --- a/package/network-manager/0002-meson.build-fix-build-failure-with-Dmodem_manager-fa.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 736a2c356c1c4871e8c4e70be622c65c87d3bca8 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 21 Feb 2023 13:03:00 +0100 -Subject: [PATCH] meson.build: fix build failure with -Dmodem_manager=false - -Fix the following build failure with -Dmodem_manager=false raised since -https://gitlab.freedesktop.org/ffontaine/NetworkManager/-/commit/03ba04d4784fa4fc7ec31455070fb5ecf25ade23: - -../output-1/build/network-manager-1.40.10/meson.build:1060:0: ERROR: Unknown variable "mobile_broadband_provider_info_database". - -Fixes: - - http://autobuild.buildroot.org/results/896879c8e8ce022556ee834216ced2f962ff279c - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1544] ---- - meson.build | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 84ce52c736..b79240efc0 100644 ---- a/meson.build -+++ b/meson.build -@@ -1057,7 +1057,9 @@ output += ' jansson: ' + jansson_msg + '\n' - output += ' iptables: ' + config_h.get('IPTABLES_PATH') + '\n' - output += ' nft: ' + config_h.get('NFT_PATH') + '\n' - output += ' modemmanager-1: ' + enable_modem_manager.to_string() + '\n' --output += ' mobile-broadband-provider-info-database: ' + mobile_broadband_provider_info_database + '\n' -+if enable_modem_manager -+ output += ' mobile-broadband-provider-info-database: ' + mobile_broadband_provider_info_database + '\n' -+endif - output += ' ofono: ' + enable_ofono.to_string() + '\n' - output += ' concheck: ' + enable_concheck.to_string() + '\n' - output += ' libteamdctl: ' + enable_teamdctl.to_string() + '\n' --- -2.39.0 - diff --git a/package/network-manager/network-manager.hash b/package/network-manager/network-manager.hash index 895351a537..0196d68c55 100644 --- a/package/network-manager/network-manager.hash +++ b/package/network-manager/network-manager.hash @@ -1,6 +1,6 @@ -# From https://download.gnome.org/sources/NetworkManager/1.42/NetworkManager-1.42.0.sha256sum -sha256 2f6756d507bb6b46716594b67e6fe7491891e1b5b167bbafc5157dfa7753d5b4 NetworkManager-1.42.0.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 cfb6c71f6df5898e1724be3debe9adac48c115b903915406c1e7dfd362b57892 CONTRIBUTING.md +sha256 e7cf3d92bda8e5365eaf4514d572146a19e93336f7a966493778d0d0c4476fae CONTRIBUTING.md diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index 9188af29eb..f6ef923d55 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -4,8 +4,8 @@ # ################################################################################ -NETWORK_MANAGER_VERSION_MAJOR = 1.42 -NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).0 +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 diff --git a/package/newlib-bare-metal/Config.in b/package/newlib-bare-metal/Config.in new file mode 100644 index 0000000000..1ff3d5d8ec --- /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 0000000000..827925373e --- /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 0000000000..9f5d765751 --- /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 = ftp://sourceware.org/pub/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 36487d998e..6d5f7c3dca 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 b39acb0fcf..3c9efe132f 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/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch b/package/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch deleted file mode 100644 index a6a6d56d7f..0000000000 --- a/package/nfs-utils/0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch +++ /dev/null @@ -1,79 +0,0 @@ -From bc4a5deef9f820c55fdac3c0070364c17cd91cca Mon Sep 17 00:00:00 2001 -From: Wiktor Jaskulski -Date: Thu, 11 May 2023 15:28:23 -0400 -Subject: [PATCH] configure.ac: libevent and libsqlite3 checked when nfsv4 is - disabled - -Upstream: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=bc4a5deef9f820c55fdac3c0070364c17cd91cca - -Signed-off-by: Steve Dickson -Signed-off-by: Giulio Benetti ---- - configure.ac | 38 +++++++++++++++----------------------- - 1 file changed, 15 insertions(+), 23 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9df52e9c..6fbcb974 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -338,42 +338,34 @@ CPPFLAGS="${nfsutils_save_CPPFLAGS}" - AC_CHECK_HEADER(uuid/uuid.h, , - AC_MSG_ERROR([Cannot find needed header file uuid/uuid.h. Install libuuid-devel])) - -+dnl check for libevent libraries and headers -+AC_LIBEVENT -+ -+dnl Check for sqlite3 -+AC_SQLITE3_VERS -+ -+case $libsqlite3_cv_is_recent in -+yes) ;; -+unknown) -+ dnl do not fail when cross-compiling -+ AC_MSG_WARN([assuming sqlite is at least v3.3]) ;; -+*) -+ AC_MSG_ERROR([nfsdcld requires sqlite-devel]) ;; -+esac -+ - if test "$enable_nfsv4" = yes; then -- dnl check for libevent libraries and headers -- AC_LIBEVENT - - dnl check for the keyutils libraries and headers - AC_KEYUTILS - -- dnl Check for sqlite3 -- AC_SQLITE3_VERS -- - if test "$enable_nfsdcld" = "yes"; then - AC_CHECK_HEADERS([libgen.h sys/inotify.h], , - AC_MSG_ERROR([Cannot find header needed for nfsdcld])) -- -- case $libsqlite3_cv_is_recent in -- yes) ;; -- unknown) -- dnl do not fail when cross-compiling -- AC_MSG_WARN([assuming sqlite is at least v3.3]) ;; -- *) -- AC_MSG_ERROR([nfsdcld requires sqlite-devel]) ;; -- esac - fi - - if test "$enable_nfsdcltrack" = "yes"; then - AC_CHECK_HEADERS([libgen.h sys/inotify.h], , - AC_MSG_ERROR([Cannot find header needed for nfsdcltrack])) -- -- case $libsqlite3_cv_is_recent in -- yes) ;; -- unknown) -- dnl do not fail when cross-compiling -- AC_MSG_WARN([assuming sqlite is at least v3.3]) ;; -- *) -- AC_MSG_ERROR([nfsdcltrack requires sqlite-devel]) ;; -- esac - fi - - else --- -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 0000000000..4f79af450e --- /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 0000000000..88e1a9068d --- /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/0002-support-reexport-guard-dlfcn.h-include-with-HAVE_DLF.patch b/package/nfs-utils/0002-support-reexport-guard-dlfcn.h-include-with-HAVE_DLF.patch deleted file mode 100644 index 6612847be7..0000000000 --- a/package/nfs-utils/0002-support-reexport-guard-dlfcn.h-include-with-HAVE_DLF.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 274e4d212c30183242e48b639889865819f3ac33 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 11 Jun 2023 08:57:11 +0200 -Subject: [PATCH] support/reexport: guard dlfcn.h include with HAVE_DLFCN_H - -Upstream: http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=8125c6f4ad156a9bad0dc2cc42e0243380fc478d - -Signed-off-by: Bernd Kuhls ---- - support/reexport/fsidd.c | 2 ++ - support/reexport/reexport.c | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/support/reexport/fsidd.c b/support/reexport/fsidd.c -index 37649d06..d4b245e8 100644 ---- a/support/reexport/fsidd.c -+++ b/support/reexport/fsidd.c -@@ -3,7 +3,9 @@ - #endif - - #include -+#ifdef HAVE_DLFCN_H - #include -+#endif - #include - #include - #include -diff --git a/support/reexport/reexport.c b/support/reexport/reexport.c -index d597a2f7..d9a700af 100644 ---- a/support/reexport/reexport.c -+++ b/support/reexport/reexport.c -@@ -2,7 +2,9 @@ - #include - #endif - -+#ifdef HAVE_DLFCN_H - #include -+#endif - #include - #include - #include --- -2.39.2 - diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in index b4568dc6f3..02cc7e78cc 100644 --- a/package/nfs-utils/Config.in +++ b/package/nfs-utils/Config.in @@ -1,11 +1,12 @@ -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 diff --git a/package/nfs-utils/nfs-utils.hash b/package/nfs-utils/nfs-utils.hash index 015906553d..9d74991df1 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.3/sha256sums.asc -sha256 38d89e853a71d3c560ff026af3d969d75e24f782ff68324e76261fe0344459e1 nfs-utils-2.6.3.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 3c85be0558..4f2b41c782 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -4,14 +4,13 @@ # ################################################################################ -NFS_UTILS_VERSION = 2.6.3 +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 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-libevent host-sqlite +HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc host-libevent host-sqlite host-util-linux HOST_NFS_UTILS_CONF_OPTS = \ --enable-tirpc \ diff --git a/package/nftables/nftables.hash b/package/nftables/nftables.hash index 7e1e856229..c5ede1130a 100644 --- a/package/nftables/nftables.hash +++ b/package/nftables/nftables.hash @@ -1,3 +1,8 @@ # From https://netfilter.org/projects/nftables/downloads.html -sha256 c12ac941fff9adaedf17367d5ce213789b98a0d314277bc22b3d71e10891f412 nftables-1.0.7.tar.xz +# 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 d31df8afa4..9cba243372 100644 --- a/package/nftables/nftables.mk +++ b/package/nftables/nftables.mk @@ -4,12 +4,13 @@ # ################################################################################ -NFTABLES_VERSION = 1.0.7 +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_INSTALL_STAGING = YES NFTABLES_SELINUX_MODULES = iptables # Python bindings are handled by package nftables-python diff --git a/package/nghttp2/nghttp2.hash b/package/nghttp2/nghttp2.hash index 3702a91b5e..dddf6fe1bd 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 9190fa30d6..7a05e38fa9 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-naxsi/Config.in b/package/nginx-naxsi/Config.in index fc2ba9bfe3..d30d653df3 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/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 69c5c887e8..c7f0dec360 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 22b18ab7ee..7fa2e2f3bc 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 1264fd7e3b..894cd95b0f 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 0000000000..71550da943 --- /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 c4750f7504..dc69a34235 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/Config.in b/package/nmap/Config.in index fc6312d0fc..6e097a9884 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 dc379f30d4..99c5d5fb07 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 f22a2295b1..6cd9d96119 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 1d7226a4fe..fdee8824a1 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 01371a8c74..4be19b1dcf 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/Config.in b/package/nodejs/Config.in index 1489306be0..50d1360715 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 06a1ca22ad..a8ab89176c 100644 --- a/package/nodejs/Config.in.host +++ b/package/nodejs/Config.in.host @@ -1,12 +1,18 @@ +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. @@ -15,6 +21,30 @@ config BR2_PACKAGE_HOST_NODEJS 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 @@ -29,3 +59,9 @@ config BR2_PACKAGE_HOST_NODEJS_COREPACK 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 0000000000..0c3ac2ce77 --- /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 0000000000..bf603e573c --- /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/0001-add-qemu-wrapper-support.patch b/package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch similarity index 74% rename from package/nodejs/0001-add-qemu-wrapper-support.patch rename to package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch index 184f3d19b7..18f320ec5d 100644 --- a/package/nodejs/0001-add-qemu-wrapper-support.patch +++ b/package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch @@ -15,26 +15,18 @@ 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 | 4 ++-- + node.gyp | 6 ++++-- tools/v8_gypfiles/v8.gyp | 10 +++++----- - 2 files changed, 7 insertions(+), 7 deletions(-) + 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 -@@ -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 @@ +@@ -662,7 +662,7 @@ 'action_name': 'node_mksnapshot', 'process_outputs_as_sources': 1, 'inputs': [ @@ -43,11 +35,36 @@ index 97cdbb531d..db5cf51ce6 100644 '<(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 -@@ -68,7 +68,7 @@ +@@ -81,7 +81,7 @@ { 'action_name': 'run_torque_action', 'inputs': [ # Order matters. @@ -56,7 +73,7 @@ index 73099a03e4..88ca91efb4 100644 '<@(torque_files)', ], 'outputs': [ -@@ -99,7 +99,7 @@ +@@ -112,7 +112,7 @@ '<@(torque_outputs_inc)', ], 'action': [ @@ -65,7 +82,7 @@ index 73099a03e4..88ca91efb4 100644 '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated', '-v8-root', '<(V8_ROOT)', '<@(torque_files_without_v8_root)', -@@ -211,7 +211,7 @@ +@@ -224,7 +224,7 @@ { 'action_name': 'generate_bytecode_builtins_list_action', 'inputs': [ @@ -74,7 +91,7 @@ index 73099a03e4..88ca91efb4 100644 ], 'outputs': [ '<(generate_bytecode_builtins_list_output)', -@@ -395,7 +395,7 @@ +@@ -401,7 +401,7 @@ ], }, 'inputs': [ @@ -83,7 +100,7 @@ index 73099a03e4..88ca91efb4 100644 ], 'outputs': [ '<(INTERMEDIATE_DIR)/snapshot.cc', -@@ -1505,7 +1505,7 @@ +@@ -1660,7 +1660,7 @@ { 'action_name': 'run_gen-regexp-special-case_action', 'inputs': [ 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/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 similarity index 96% rename from package/nodejs/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch rename to package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch index 5b93998e5e..25c26b43bd 100644 --- a/package/nodejs/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 @@ -21,7 +21,7 @@ diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loade index f1971c40a4..5fe3884156 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js -@@ -1261,7 +1261,8 @@ Module._initPaths = function() { +@@ -1378,7 +1378,8 @@ Module._initPaths = function() { path.resolve(process.execPath, '..') : path.resolve(process.execPath, '..', '..'); diff --git a/package/nodejs/nodejs-src/Config.in b/package/nodejs/nodejs-src/Config.in new file mode 100644 index 0000000000..90b061f616 --- /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 0000000000..0c3ac2ce77 --- /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 0000000000..8f934202b0 --- /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 100% rename from package/nodejs/v8-qemu-wrapper.in rename to package/nodejs/nodejs-src/v8-qemu-wrapper.in diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index 6ab4c53e79..ddab345e0a 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,5 +1,8 @@ -# From https://nodejs.org/dist/v16.20.0/SHASUMS256.txt -sha256 e0990f992234e40a51fe11f92c3816c93a77e1b081145d3dd762cd1026345349 node-v16.20.0.tar.xz - -# Hash for license file -sha256 ba325815d3df8819bebaf37cad67d6e1f82271e1e4a1189b53abd28e261977d6 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 b8e57e567d..858c6a86f5 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -4,241 +4,23 @@ # ################################################################################ -NODEJS_VERSION = 16.20.0 -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) \ - JOBS=$(PARALLEL_JOBS) - -NODEJS_MAKE_OPTS = \ - $(TARGET_CONFIGURE_OPTS) \ - NO_LOAD=cctest.target.mk \ - PATH=$(@D)/bin:$(BR_PATH) \ - LDFLAGS="$(NODEJS_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_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 - -ifeq ($(BR2_PACKAGE_HOST_NODEJS_COREPACK),y) -define HOST_NODEJS_ENABLE_COREPACK - $(COREPACK) enable -endef -endif - -define HOST_NODEJS_INSTALL_CMDS - $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ - $(MAKE) -C $(@D) install \ - $(HOST_NODEJS_MAKE_OPTS) - $(HOST_NODEJS_ENABLE_COREPACK) -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)) - 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 @@ -250,34 +32,8 @@ PNPM = $(NODEJS_BIN_ENV) $(HOST_DIR)/bin/pnpm YARN = $(NODEJS_BIN_ENV) $(HOST_DIR)/bin/yarn endif -# -# 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 -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/ntp/S49ntp b/package/ntp/S49ntp deleted file mode 100644 index 66c5f70a5f..0000000000 --- a/package/ntp/S49ntp +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -# -# Starts Network Time Protocol daemon -# - -DAEMON="ntpd" -PIDFILE="/var/run/$DAEMON.pid" - -NTPD_ARGS="-g" - -# shellcheck source=/dev/null -[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" - -start() { - printf 'Starting %s: ' "$DAEMON" - # shellcheck disable=SC2086 # we need the word splitting - start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ - -- $NTPD_ARGS -p "$PIDFILE" - 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, since there is no true "reload" feature. - restart;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac diff --git a/package/ntp/ntpd.service b/package/ntp/ntpd.service deleted file mode 100644 index 9a0f4c6dbf..0000000000 --- a/package/ntp/ntpd.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Network Time Service -After=network.target - -[Service] -Type=forking -PIDFile=/run/ntpd.pid -# Turn off DNSSEC validation for hostname look-ups, since those need the -# correct time to work, but we likely won't acquire that without NTP. Let's -# break this chicken-and-egg cycle here. -Environment=SYSTEMD_NSS_RESOLVE_VALIDATE=0 -ExecStart=/usr/sbin/ntpd -g -p /run/ntpd.pid - -[Install] -WantedBy=multi-user.target diff --git a/package/ntpsec/0002-wscript-fix-build-without-stack-protector.patch b/package/ntpsec/0002-wscript-fix-build-without-stack-protector.patch deleted file mode 100644 index f494bf479c..0000000000 --- a/package/ntpsec/0002-wscript-fix-build-without-stack-protector.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 0a3ce09c14eb9c7e36aa30a4dafe40e56676d678 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 24 Feb 2023 11:33:32 +0100 -Subject: [PATCH] wscript: fix build without stack-protector - --fstack-protector-all can depends on ssp library availability (e.g. on musl) so -move the test from cc_test_flags to ld_hardening_flags, this will avoid the -following build failure: - -Checking for library ssp : not found -Checking for library ssp_nonshared : not found -Checking if C compiler supports -fstack-protector-all : yes - -[...] - -The configuration failed -(complete log in /home/autobuild/autobuild/instance-2/output-1/build/ntpsec-1_2_2/build/config.log) - -Fixes: - - http://autobuild.buildroot.org/results/f38abc6b7f8464836231192cfe078a5b27319a8a - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/ntpsec/ntpsec/pull/6] ---- - wscript | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wscript b/wscript -index be396b33b..f301809fc 100644 ---- a/wscript -+++ b/wscript -@@ -298,7 +298,6 @@ def configure(ctx): - ctx.env.LDFLAGS += ["-lssp_nonshared"] - - cc_test_flags = [ -- ('f_stack_protector_all', '-fstack-protector-all'), - ('PIC', '-fPIC'), - ('PIE', '-pie -fPIE'), - # this quiets most of macOS warnings on -fpie -@@ -332,6 +331,7 @@ def configure(ctx): - - # Check which linker flags are supported - ld_hardening_flags = [ -+ ('f_stack_protector_all', '-fstack-protector-all'), - ("z_now", "-Wl,-z,now"), # no deferred symbol resolution - ] - --- -2.39.1 - diff --git a/package/ntpsec/ntpsec.hash b/package/ntpsec/ntpsec.hash index 8d98b5c411..a3802c11ba 100644 --- a/package/ntpsec/ntpsec.hash +++ b/package/ntpsec/ntpsec.hash @@ -1,8 +1,12 @@ # Locally calculated -sha256 ef901df5a05d486563db22f4d0dad3840a3bf5d0a9aceb8c3ecaeb396c67a805 ntpsec-NTPsec_1_2_2a.tar.bz2 -sha256 899261d6eb6c922cf8f051225411f27b738ba0014be18c2eaf6afbf30d421bb1 LICENSES/BSD-2 -sha256 5fe38d8724c53ff4e69f0a3492a368b4a6719700ac16f706efeb01a45c62f2b5 LICENSES/BSD-3 -sha256 9ba9550ad48438d0836ddab3da480b3b69ffa0aac7b7878b5a0039e7ab429411 LICENSES/CC-BY-4.0 -sha256 074415b57c6ba1780483d89e55f40dec3ded96c28aaf47d63c486683ba553e7c LICENSES/MIT -sha256 62fec6cd79721af81b7c12f1a679535235fdd22800ab17653042f024187ff274 LICENSES/NTP +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 f6262cdaca..661af78842 100644 --- a/package/ntpsec/ntpsec.mk +++ b/package/ntpsec/ntpsec.mk @@ -4,16 +4,28 @@ # ################################################################################ -NTPSEC_VERSION = 1.2.2a +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 = BSD-2-Clause, NTP, BSD-3-Clause, MIT, CC-BY-4.0 (docs) +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/BSD-2 \ - LICENSES/BSD-3 \ - LICENSES/CC-BY-4.0 \ - LICENSES/MIT \ - LICENSES/NTP \ + 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 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 0000000000..2cc05c172e --- /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 0000000000..edb01d2f72 --- /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 0000000000..02fc8214b6 --- /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 0000000000..7b538da4e2 --- /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-clients-upsclient-h-ensure-time_t-is-defined.patch b/package/nut/0001-clients-upsclient-h-ensure-time_t-is-defined.patch deleted file mode 100644 index c9fb04b8cd..0000000000 --- a/package/nut/0001-clients-upsclient-h-ensure-time_t-is-defined.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cafd77993ec5e16634b774b65bf6da9b34a21fc5 Mon Sep 17 00:00:00 2001 -From: Jim Klimov -Date: Wed, 31 Aug 2022 11:24:19 +0200 -Subject: [PATCH] clients/upsclient.h: ensure time_t is defined - -[Retrieved from: -https://github.com/networkupstools/nut/commit/cafd77993ec5e16634b774b65bf6da9b34a21fc5] -Signed-off-by: Fabrice Fontaine ---- - clients/upsclient.h | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/clients/upsclient.h b/clients/upsclient.h -index 08574b8f8b..e346d8f519 100644 ---- a/clients/upsclient.h -+++ b/clients/upsclient.h -@@ -41,6 +41,18 @@ - #include - #endif - -+/* Not including NUT timehead.h because this is part of end-user API */ -+#ifdef TIME_WITH_SYS_TIME -+# include -+# include -+#else -+# ifdef HAVE_SYS_TIME_H -+# include -+# else -+# include -+# endif -+#endif -+ - #ifdef __cplusplus - /* *INDENT-OFF* */ - extern "C" { 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 0000000000..6356990749 --- /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 0000000000..d2571cf438 --- /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 3dda340a1b..9cd5fcc8de 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 4c322aeb85..371c783783 100644 --- a/package/nut/nut.mk +++ b/package/nut/nut.mk @@ -4,20 +4,16 @@ # ################################################################################ -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. @@ -25,6 +21,8 @@ NUT_CONF_OPTS = \ --with-altpidpath=/var/run/upsd \ --with-dev \ --without-doc \ + --without-python \ + --without-python2 \ --with-user=nut \ --with-group=nut @@ -112,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 0000000000..82303d006e --- /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 0000000000..48f24cfb1d --- /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 0000000000..06c71b35f5 --- /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 0000000000..662d4d4349 --- /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/nwipe/nwipe.hash b/package/nwipe/nwipe.hash index 3cd209263a..0c56367911 100644 --- a/package/nwipe/nwipe.hash +++ b/package/nwipe/nwipe.hash @@ -1 +1 @@ -sha1 e9027f544e6eda86bfe66d3df5f01a0158b09f54 nwipe-v0.35.tar.gz +sha1 4e672dd0baa565132613033b67f942ba267ee6ef nwipe-v0.37.tar.gz diff --git a/package/nwipe/nwipe.mk b/package/nwipe/nwipe.mk index e496f37319..d62cb4a929 100644 --- a/package/nwipe/nwipe.mk +++ b/package/nwipe/nwipe.mk @@ -4,7 +4,7 @@ # ################################################################################ -NWIPE_VERSION = v0.35 +NWIPE_VERSION = v0.37 NWIPE_SITE = $(call github,martijnvanbrummelen,nwipe,$(NWIPE_VERSION)) NWIPE_DEPENDENCIES = ncurses parted dmidecode coreutils 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 0000000000..e9b7832837 --- /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 0000000000..a4009e8744 --- /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 0000000000..e6b35d8d51 --- /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 0000000000..d3f6e1a9c2 --- /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/octave/octave.hash b/package/octave/octave.hash index 6e82a589ec..20ee4ddb64 100644 --- a/package/octave/octave.hash +++ b/package/octave/octave.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -# https://ftp.gnu.org/gnu/octave/octave-8.2.0.tar.lz.sig +# https://ftp.gnu.org/gnu/octave/octave-8.4.0.tar.lz.sig # using key DBD9C84E39FE1AAE99F04446B05F05B75D36644B -sha256 8ac875a9f8e44b8eb4b75ca8638531e2ca47cd9d13a6ca39d3a0eccd175f8a05 octave-8.2.0.tar.lz +sha256 d5a7e89928528dce8cab7eead700be8a8319a98ec5334cc2ce83d29ac60264c1 octave-8.4.0.tar.lz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/octave/octave.mk b/package/octave/octave.mk index 81954bbdd3..f240a5057c 100644 --- a/package/octave/octave.mk +++ b/package/octave/octave.mk @@ -4,7 +4,7 @@ # ################################################################################ -OCTAVE_VERSION = 8.2.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+ @@ -20,7 +20,9 @@ OCTAVE_DEPENDENCIES = \ pcre2 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 diff --git a/package/ofono/ofono.hash b/package/ofono/ofono.hash index f1760d6f13..9e2fd413f9 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 92913dcce9a15cac2174daca249457716a0ec036878d22035e83af0e19e79c52 ofono-2.1.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 5f91e4985d..1ff43092c4 100644 --- a/package/ofono/ofono.mk +++ b/package/ofono/ofono.mk @@ -4,7 +4,7 @@ # ################################################################################ -OFONO_VERSION = 2.1 +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 701083b5d3..dd0be6f35e 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/omniorb/omniorb.hash b/package/omniorb/omniorb.hash index f522c1ef67..36db67191d 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 d6434735cf..8235fac797 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 0000000000..740e954ee5 --- /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 0000000000..680ada76ea --- /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 0000000000..440d73efa2 --- /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 89befe7dbf..ac1d375b7a 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 e81190c0c6..e056048cb5 100644 --- a/package/oniguruma/oniguruma.mk +++ b/package/oniguruma/oniguruma.mk @@ -4,13 +4,13 @@ # ################################################################################ -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)) diff --git a/package/open-iscsi/0001-SHA3-is-not-supported-by-libressl.patch b/package/open-iscsi/0001-SHA3-is-not-supported-by-libressl.patch deleted file mode 100644 index 0423179d93..0000000000 --- a/package/open-iscsi/0001-SHA3-is-not-supported-by-libressl.patch +++ /dev/null @@ -1,144 +0,0 @@ -From 29a4c3a518d13bfc0a07915e7e87fbec2b66597c Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 13 Feb 2023 08:55:11 +0100 -Subject: [PATCH] SHA3 is not supported by libressl - -Disable SHA3 with libressl as it is not supported resulting in the -following build failure: - -/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/or1k-buildroot-linux-gnu/11.3.0/../../../../or1k-buildroot-linux-gnu/bin/ld: iscsid.p/usr_auth.c.o: in function `auth_hash_init': -auth.c:(.text+0x7bc): undefined reference to `EVP_sha3_256' - -Fixes: - - http://autobuild.buildroot.org/results/48a4bddc355956733d712214797350cca8e111d9 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/open-iscsi/open-iscsi/pull/396] ---- - libopeniscsiusr/idbm.h | 2 ++ - usr/auth.c | 13 ++++++++++++- - usr/auth.h | 4 ++++ - usr/idbm.c | 2 ++ - 4 files changed, 20 insertions(+), 1 deletion(-) - -diff --git a/libopeniscsiusr/idbm.h b/libopeniscsiusr/idbm.h -index be5986f..1043b27 100644 ---- a/libopeniscsiusr/idbm.h -+++ b/libopeniscsiusr/idbm.h -@@ -56,7 +56,9 @@ enum iscsi_chap_algs { - ISCSI_AUTH_CHAP_ALG_MD5 = 5, - ISCSI_AUTH_CHAP_ALG_SHA1 = 6, - ISCSI_AUTH_CHAP_ALG_SHA256 = 7, -+#ifndef LIBRESSL_VERSION_NUMBER - ISCSI_AUTH_CHAP_ALG_SHA3_256 = 8, -+#endif - AUTH_CHAP_ALG_MAX_COUNT = 5, - }; - -diff --git a/usr/auth.c b/usr/auth.c -index 46c328e..5f50e26 100644 ---- a/usr/auth.c -+++ b/usr/auth.c -@@ -181,9 +181,11 @@ static int auth_hash_init(EVP_MD_CTX **context, int chap_alg) { - case AUTH_CHAP_ALG_SHA256: - digest = EVP_sha256(); - break; -+#ifndef LIBRESSL_VERSION_NUMBER - case AUTH_CHAP_ALG_SHA3_256: - digest = EVP_sha3_256(); - break; -+#endif - } - - if (*context == NULL) -@@ -298,7 +300,9 @@ static int - acl_chk_chap_alg_optn(int chap_algorithm) - { - if (chap_algorithm == AUTH_OPTION_NONE || -+#ifndef LIBRESSL_VERSION_NUMBER - chap_algorithm == AUTH_CHAP_ALG_SHA3_256 || -+#endif - chap_algorithm == AUTH_CHAP_ALG_SHA256 || - chap_algorithm == AUTH_CHAP_ALG_SHA1 || - chap_algorithm == AUTH_CHAP_ALG_MD5) -@@ -711,9 +715,11 @@ acl_chk_chap_alg_key(struct iscsi_acl *client) - case AUTH_CHAP_ALG_SHA256: - client->chap_challenge_len = AUTH_CHAP_SHA256_RSP_LEN; - break; -+#ifndef LIBRESSL_VERSION_NUMBER - case AUTH_CHAP_ALG_SHA3_256: - client->chap_challenge_len = AUTH_CHAP_SHA3_256_RSP_LEN; - break; -+#endif - } - return; - } -@@ -862,7 +868,10 @@ acl_local_auth(struct iscsi_acl *client) - client->local_state = AUTH_LOCAL_STATE_ERROR; - client->dbg_status = AUTH_DBG_STATUS_CHAP_ALG_REJECT; - break; -- } else if ((client->negotiated_chap_alg != AUTH_CHAP_ALG_SHA3_256) && -+ } else if ( -+#ifndef LIBRESSL_VERSION_NUMBER -+ (client->negotiated_chap_alg != AUTH_CHAP_ALG_SHA3_256) && -+#endif - (client->negotiated_chap_alg != AUTH_CHAP_ALG_SHA256) && - (client->negotiated_chap_alg != AUTH_CHAP_ALG_SHA1) && - (client->negotiated_chap_alg != AUTH_CHAP_ALG_MD5)) { -@@ -1824,6 +1833,7 @@ acl_init_chap_digests(int *value_list, unsigned *chap_algs, int conf_count) { - "SHA256 due to crypto lib configuration"); - } - break; -+#ifndef LIBRESSL_VERSION_NUMBER - case AUTH_CHAP_ALG_SHA3_256: - if (EVP_DigestInit_ex(context, EVP_sha3_256(), NULL)) { - value_list[i++] = AUTH_CHAP_ALG_SHA3_256; -@@ -1832,6 +1842,7 @@ acl_init_chap_digests(int *value_list, unsigned *chap_algs, int conf_count) { - "SHA3-256 due to crypto lib configuration"); - } - break; -+#endif - case ~0: - /* unset value in array, just ignore */ - break; -diff --git a/usr/auth.h b/usr/auth.h -index 16cdb24..9357772 100644 ---- a/usr/auth.h -+++ b/usr/auth.h -@@ -32,7 +32,9 @@ enum { - AUTH_CHAP_MD5_RSP_LEN = 16, - AUTH_CHAP_SHA1_RSP_LEN = 20, - AUTH_CHAP_SHA256_RSP_LEN = 32, -+#ifndef LIBRESSL_VERSION_NUMBER - AUTH_CHAP_SHA3_256_RSP_LEN = 32, -+#endif - AUTH_CHAP_RSP_MAX = 32, - }; - -@@ -67,7 +69,9 @@ enum { - AUTH_CHAP_ALG_MD5 = 5, - AUTH_CHAP_ALG_SHA1 = 6, - AUTH_CHAP_ALG_SHA256 = 7, -+#ifndef LIBRESSL_VERSION_NUMBER - AUTH_CHAP_ALG_SHA3_256 = 8, -+#endif - AUTH_CHAP_ALG_MAX_COUNT = 5 - }; - -diff --git a/usr/idbm.c b/usr/idbm.c -index 90bc142..082e1c6 100644 ---- a/usr/idbm.c -+++ b/usr/idbm.c -@@ -200,7 +200,9 @@ static struct int_list_tbl { - { "MD5", AUTH_CHAP_ALG_MD5 }, - { "SHA1", AUTH_CHAP_ALG_SHA1 }, - { "SHA256", AUTH_CHAP_ALG_SHA256 }, -+#ifndef LIBRESSL_VERSION_NUMBER - { "SHA3-256", AUTH_CHAP_ALG_SHA3_256 }, -+#endif - }; - - static void --- -2.39.0 - 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 0000000000..5470f30570 --- /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/open-iscsi.hash b/package/open-iscsi/open-iscsi.hash index 9fd651cae8..de75cbf1e9 100644 --- a/package/open-iscsi/open-iscsi.hash +++ b/package/open-iscsi/open-iscsi.hash @@ -1,3 +1,5 @@ # Locally calculated -sha256 9565bdf6b68b223e1e0d455d9a04d7536724a3f5b5a254e9398d06b2a0c6b6d2 open-iscsi-2.1.8.tar.gz +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 index e5b965b80d..d1f40d3e20 100644 --- a/package/open-iscsi/open-iscsi.mk +++ b/package/open-iscsi/open-iscsi.mk @@ -4,13 +4,11 @@ # ################################################################################ -OPEN_ISCSI_VERSION = 2.1.8 +OPEN_ISCSI_VERSION = 2.1.9 OPEN_ISCSI_SITE = $(call github,open-iscsi,open-iscsi,$(OPEN_ISCSI_VERSION)) -# The COPYING file says GPL-2.0, but there is some GPL-3.0+ code as -# well. See https://github.com/open-iscsi/open-iscsi/issues/379 -OPEN_ISCSI_LICENSE = GPL-2.0+, GPL-3.0+ -OPEN_ISCSI_LICENSE_FILES = COPYING -OPEN_ISCSI_CPE_ID_VENDOR = open-iscsi_project +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 diff --git a/package/open2300/open2300.mk b/package/open2300/open2300.mk index 9fb7dbc2fd..74f6d720f9 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 2e650a1257..2946b991a4 100644 --- a/package/open62541/open62541.hash +++ b/package/open62541/open62541.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 372fd6b2d78823d3f9e8279f78fb43b6af2501603675450a194d2bac65925ca1 open62541-v1.3.6-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 672fb17be8..17abd4a379 100644 --- a/package/open62541/open62541.mk +++ b/package/open62541/open62541.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPEN62541_VERSION = v1.3.6 +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/Config.in b/package/openblas/Config.in index 26a76d29fb..7d4727003b 100644 --- a/package/openblas/Config.in +++ b/package/openblas/Config.in @@ -26,11 +26,7 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET 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 "MIPS64_GENERIC" if BR2_MIPS_CPU_MIPS64 # OpenBLAS assumes SPARC=Sparc v9 default "SPARC" if BR2_sparc_v9 # Cortex-A15 always have a VFPv4 diff --git a/package/openblas/openblas.hash b/package/openblas/openblas.hash index 2e5fa8865f..a0f054dab7 100644 --- a/package/openblas/openblas.hash +++ b/package/openblas/openblas.hash @@ -1,5 +1,5 @@ -# From https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.23 -md5 115634b39007de71eb7e75cf7591dfb2 openblas-0.3.23.tar.gz +# From https://github.com/OpenMathLib/OpenBLAS/releases/tag/v0.3.26 +md5 bd496a1c81769ed19a161c1f8f904ccd openblas-0.3.26.tar.gz # Locally calculated -sha256 5d9491d07168a5d00116cdc068a40022c3455bf9293c7cb86a65b1054d7e5114 openblas-0.3.23.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 86f10442a6..a678153d7b 100644 --- a/package/openblas/openblas.mk +++ b/package/openblas/openblas.mk @@ -4,12 +4,12 @@ # ################################################################################ -OPENBLAS_VERSION = 0.3.23 -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) diff --git a/package/opencsd/opencsd.hash b/package/opencsd/opencsd.hash index 84a762fb36..6295f32051 100644 --- a/package/opencsd/opencsd.hash +++ b/package/opencsd/opencsd.hash @@ -1,3 +1,3 @@ # Locally Computed: -sha256 e1bb6d8d09e87974cb5ca6db2a13b0e1ba9e51117ca2ed71879df07ff7af4de2 opencsd-1.4.0.tar.gz +sha256 11ef93c0ee57203e620cf7c58b7b7cae00b267a2b57948a511da01c4161775e3 opencsd-1.5.1.tar.gz sha256 980eef4b0744e63834e3ec0d50c2a4ff6d81d7ec62dd8ba8c66acae0ec5a2e88 LICENSE diff --git a/package/opencsd/opencsd.mk b/package/opencsd/opencsd.mk index 680364d01d..cc3538ef28 100644 --- a/package/opencsd/opencsd.mk +++ b/package/opencsd/opencsd.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENCSD_VERSION = 1.4.0 +OPENCSD_VERSION = 1.5.1 OPENCSD_SITE = $(call github,Linaro,OpenCSD,v$(OPENCSD_VERSION)) OPENCSD_LICENSE = BSD-3-Clause OPENCSD_LICENSE_FILES = LICENSE diff --git a/package/opencv3/Config.in b/package/opencv3/Config.in index b9ea033f13..be0680084b 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.mk b/package/opencv3/opencv3.mk index 29fb246e65..5064496ca6 100644 --- a/package/opencv3/opencv3.mk +++ b/package/opencv3/opencv3.mk @@ -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 9800333035..261d414869 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 4f15162e50..2e20717c76 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 81c45c6e02..a4d0179472 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 286a7ebf9d..f1a2d02d50 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 419b420917..15f5e37278 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 a665793ad9..e50e0f99a9 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/openfpgaloader.hash b/package/openfpgaloader/openfpgaloader.hash index a8b537782c..6fa81a98a2 100644 --- a/package/openfpgaloader/openfpgaloader.hash +++ b/package/openfpgaloader/openfpgaloader.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 966b4629df86b1d520ddd8a4e0a3fc00060b26b5ab4e172b596bd9d4659a196e openfpgaloader-0.10.0.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 6d7fbd9850..0fd172b532 100644 --- a/package/openfpgaloader/openfpgaloader.mk +++ b/package/openfpgaloader/openfpgaloader.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENFPGALOADER_VERSION = 0.10.0 +OPENFPGALOADER_VERSION = 0.11.0 OPENFPGALOADER_SITE = $(call github,trabucayre,openFPGALoader,v$(OPENFPGALOADER_VERSION)) OPENFPGALOADER_LICENSE = Apache-2.0 OPENFPGALOADER_LICENSE_FILES = LICENSE diff --git a/package/openipmi/openipmi.hash b/package/openipmi/openipmi.hash index fc3cf1a520..fdba9518c7 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 4387f227aad92756e296d1c9421e83231d355dbd OpenIPMI-2.0.33.tar.gz -md5 923d2914dbbc3307712f8c58401bab0f OpenIPMI-2.0.33.tar.gz +sha1 bc910d5d682710e9ff290c33e0780a71edba29d4 OpenIPMI-2.0.34.tar.gz +md5 9d27cc86b95a29251009db96452e7213 OpenIPMI-2.0.34.tar.gz # Locally computed -sha256 fb53e9ea5e2681cf8af7cda024b1a0044c675f84116ca27ae9616c8b7ad95b49 OpenIPMI-2.0.33.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 ccf86f93cd..1c406879e3 100644 --- a/package/openipmi/openipmi.mk +++ b/package/openipmi/openipmi.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENIPMI_VERSION = 2.0.33 +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 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 0000000000..29f39c5d36 --- /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 0000000000..35be28bb4f --- /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 401e83e75e..0000000000 --- a/package/openjdk-bin/openjdk-bin.hash +++ /dev/null @@ -1,11 +0,0 @@ -# https://github.com/adoptium/temurin17-binaries/releases -sha256 aa5fc7d388fe544e5d85902e68399d5299e931f9b280d358a3cbee218d6017b0 OpenJDK17U-jdk_x64_linux_hotspot_17.0.8_7.tar.gz -sha256 c43688163cfdcb1a6e6fe202cc06a51891df746b954c55dbd01430e7d7326d00 OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.8_7.tar.gz - -# From https://github.com/adoptium/temurin11-binaries/releases -sha256 7a99258af2e3ee9047e90f1c0c1775fd6285085759501295358d934d662e01f9 OpenJDK11U-jdk_x64_linux_hotspot_11.0.20_8.tar.gz -sha256 eb821c049c2d2f7c3fbf8ddcce2d608d3aa7d488700e76bfbbebabba93021748 OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.20_8.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 616c8d917d..0280151fba 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.8_7 +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.20_8 +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.8+7/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 similarity index 86% rename from package/openjdk/17.0.8+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch rename to package/openjdk/17.0.9+9/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch index a8ea5aff65..afec2772c0 100644 --- a/package/openjdk/17.0.8+7/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 @@ -23,8 +23,8 @@ 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 -@@ -146,6 +146,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES], - fi +@@ -152,6 +152,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES], + BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic" fi + # Libatomic library @@ -55,8 +55,8 @@ index c0f2446dbd7..dc416ece885 100644 arm*) VAR_CPU=arm VAR_CPU_ARCH=arm -@@ -563,6 +569,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER], - HOTSPOT_$1_CPU_DEFINE=PPC64 +@@ -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 @@ -68,7 +68,7 @@ diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.c index b08caf4d5d3..2bf084895ba 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp -@@ -1676,6 +1676,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { +@@ -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 @@ -78,7 +78,7 @@ index b08caf4d5d3..2bf084895ba 100644 #ifndef EM_RISCV #define EM_RISCV 243 /* RISC-V */ #endif -@@ -1700,6 +1703,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { +@@ -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"}, @@ -86,7 +86,7 @@ index b08caf4d5d3..2bf084895ba 100644 // 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"}, -@@ -1728,6 +1732,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { +@@ -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; @@ -95,12 +95,12 @@ index b08caf4d5d3..2bf084895ba 100644 #elif (defined ARM) static Elf32_Half running_arch_code=EM_ARM; #elif (defined S390) -@@ -1750,7 +1756,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { +@@ -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 ++ 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 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 0000000000..6c46ec7b42 --- /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 24a56e6b84..25d6960ecf 100644 --- a/package/openjdk/Config.in +++ b/package/openjdk/Config.in @@ -57,20 +57,18 @@ if BR2_PACKAGE_OPENJDK choice prompt "openjdk version" - default BR2_PACKAGE_OPENJDK_VERSION_11 if BR2_OPENJDK_VERSION_LTS # legacy - default BR2_PACKAGE_OPENJDK_VERSION_17 if BR2_OPENJDK_VERSION_LATEST # legacy - 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 ba398b84be..949a62e527 100644 --- a/package/openjdk/openjdk.hash +++ b/package/openjdk/openjdk.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 643ff42dcdf8751e0fee716c1a1914ddc7348b174e871a5eb2636578a181f20d openjdk-17.0.8+7.tar.gz -sha256 b2a37ef209ae7eaf8f34182b7c9aa3252af20a214d02970f96ce62242c805479 openjdk-11.0.20+8.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 d1a2fa23ee..f4e1920e6c 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.8+7 +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.20+8 +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/openlayers/openlayers.hash b/package/openlayers/openlayers.hash index 61fe8aea2a..af9087ede2 100644 --- a/package/openlayers/openlayers.hash +++ b/package/openlayers/openlayers.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5d89c7017ca85b53bea6402a1222909dc49a061ffa351d3d1e0ac40b94dd2d38 v7.3.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 37e530220a..fde83d6e84 100644 --- a/package/openlayers/openlayers.mk +++ b/package/openlayers/openlayers.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENLAYERS_VERSION = 7.3.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/0002-fix-bignum.patch b/package/openldap/0001-fix-bignum.patch similarity index 84% rename from package/openldap/0002-fix-bignum.patch rename to package/openldap/0001-fix-bignum.patch index 159ea8e228..ec38ee3df0 100644 --- a/package/openldap/0002-fix-bignum.patch +++ b/package/openldap/0001-fix-bignum.patch @@ -24,10 +24,9 @@ diff -durN openldap-2.4.40.orig/configure openldap-2.4.40/configure 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 @@ +--- 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" && diff --git a/package/openldap/0001-fix_cross_strip.patch b/package/openldap/0001-fix_cross_strip.patch deleted file mode 100644 index d9d6f9d505..0000000000 --- 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/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 3a901c910d..0000000000 --- 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 71092c93d0..1383c6aef8 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 b5373544ab..9cebff99dc 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/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 457fbacb5b..2f0a81bbd3 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 733506ada9..42f77ffdea 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 cf592a88b0..ad78a4b8f7 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 0000000000..a11c789275 --- /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 4691be63a2..adc61d2546 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 4fcfa9132f..c1c16a8c45 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 1d4e70f712..f8e51f6720 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 -define OPENRC_INSTALL_TARGET_CMDS - $(MAKE) $(OPENRC_MAKE_OPTS) DESTDIR=$(TARGET_DIR) -C $(@D) install +ifeq ($(BR2_ROOTFS_MERGED_USR),y) +OPENRC_CONF_OPTS += -Dsplit-usr=false +else +OPENRC_CONF_OPTS += -Dsplit-usr=true +endif + +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 7a5fb0e140..c32b856de9 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 3857ab833d..8a8b578781 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-fixed-compatibility-with-LibreSSL-3.5.0.patch b/package/opensc/0001-fixed-compatibility-with-LibreSSL-3.5.0.patch deleted file mode 100644 index 0daf75d5ba..0000000000 --- a/package/opensc/0001-fixed-compatibility-with-LibreSSL-3.5.0.patch +++ /dev/null @@ -1,54 +0,0 @@ -From da01e5fab9be9865db1aac203e574e0edbfd6584 Mon Sep 17 00:00:00 2001 -From: Frank Morgner -Date: Wed, 14 Dec 2022 09:31:29 +0100 -Subject: [PATCH] fixed compatibility with LibreSSL >= 3.5.0 - -fixes https://github.com/OpenSC/OpenSC/issues/2664 - -Upstream: https://github.com/OpenSC/OpenSC/commit/da01e5fab9be9865db1aac203e574e0edbfd6584 - -Signed-off-by: Bernd Kuhls ---- - src/libopensc/card-iasecc.c | 12 +----------- - src/libopensc/sc-ossl-compat.h | 1 + - 2 files changed, 2 insertions(+), 11 deletions(-) - -diff --git a/src/libopensc/card-iasecc.c b/src/libopensc/card-iasecc.c -index 480c1cf87b..1347ed2393 100644 ---- a/src/libopensc/card-iasecc.c -+++ b/src/libopensc/card-iasecc.c -@@ -38,21 +38,11 @@ - #include - #include - --/* -- * OpenSSL-3.0.0 does not allow access to the SHA data -- * so this driver can not produces signatures -- * OpenSSL 1.1.1 uses EVP_MD_CTX_md_data -- * LibreSSL -- */ -- --#if defined(LIBRESSL_VERSION_NUMBER) --# define EVP_MD_CTX_md_data(x) (x->md_data) --#endif -- - #include "internal.h" - #include "asn1.h" - #include "cardctl.h" - #include "opensc.h" -+#include "sc-ossl-compat.h" - /* #include "sm.h" */ - #include "pkcs15.h" - /* #include "hash-strings.h" */ -diff --git a/src/libopensc/sc-ossl-compat.h b/src/libopensc/sc-ossl-compat.h -index da53ca8cee..8c0f96701c 100644 ---- a/src/libopensc/sc-ossl-compat.h -+++ b/src/libopensc/sc-ossl-compat.h -@@ -42,6 +42,7 @@ extern "C" { - #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) -+#define EVP_MD_CTX_md_data(x) (x->md_data) - #endif - - #if defined(LIBRESSL_VERSION_NUMBER) diff --git a/package/opensc/0002-fixed-compatibility-with-LibreSSL-3.7.0.patch b/package/opensc/0002-fixed-compatibility-with-LibreSSL-3.7.0.patch deleted file mode 100644 index 6bbbea6ce6..0000000000 --- a/package/opensc/0002-fixed-compatibility-with-LibreSSL-3.7.0.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 98ad0f93b0a7673cdce82e1b3faa7dc314c64dd6 Mon Sep 17 00:00:00 2001 -From: Frank Morgner -Date: Fri, 16 Dec 2022 11:56:28 +0100 -Subject: [PATCH] fixed compatibility with LibreSSL 3.7.0 - -Upstream: https://github.com/OpenSC/OpenSC/commit/98ad0f93b0a7673cdce82e1b3faa7dc314c64dd6 - -Signed-off-by: Bernd Kuhls ---- - src/libopensc/sc-ossl-compat.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/libopensc/sc-ossl-compat.h b/src/libopensc/sc-ossl-compat.h -index 8c0f96701c..4425da93f3 100644 ---- a/src/libopensc/sc-ossl-compat.h -+++ b/src/libopensc/sc-ossl-compat.h -@@ -54,9 +54,11 @@ extern "C" { - #define EVP_sha3_256() (NULL) - #define EVP_sha3_384() (NULL) - #define EVP_sha3_512() (NULL) -+#if LIBRESSL_VERSION_NUMBER < 0x3070000fL - #define EVP_PKEY_new_raw_public_key(t, e, p, l) (NULL) - #define EVP_PKEY_get_raw_public_key(p, pu, l) (0) - #endif -+#endif - - /* OpenSSL 1.1.1 has FIPS_mode function */ - #if OPENSSL_VERSION_NUMBER >= 0x30000000L diff --git a/package/opensc/0003-configure-add-option-to-disable-tests.patch b/package/opensc/0003-configure-add-option-to-disable-tests.patch deleted file mode 100644 index 29342026c1..0000000000 --- a/package/opensc/0003-configure-add-option-to-disable-tests.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 3c3ed2ecbf31d41b6e5406da55971b9d9eaa3388 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Mon, 24 Jul 2023 22:28:11 +0200 -Subject: [PATCH] configure: add option to disable tests - -Upstream: https://github.com/OpenSC/OpenSC/pull/2822 - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 9 +++++++++ - src/Makefile.am | 6 +++++- - 2 files changed, 14 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0a90445b..9b7543da 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -272,6 +272,13 @@ AC_ARG_ENABLE( - [enable_doc="no"] - ) - -+AC_ARG_ENABLE( -+ [tests], -+ [AS_HELP_STRING([--enable-tests],[enable tests @<:@enabled@:>@])], -+ , -+ [enable_tests="yes"] -+) -+ - AC_ARG_ENABLE( - [dnie-ui], - [AS_HELP_STRING([--enable-dnie-ui],[enable use of external user interface program to request DNIe pin@<:@disabled@:>@])], -@@ -1119,6 +1126,7 @@ AM_CONDITIONAL([ENABLE_NOTIFY], [test "${enable_notify}" = "yes"]) - AM_CONDITIONAL([ENABLE_CRYPTOTOKENKIT], [test "${enable_cryptotokenkit}" = "yes"]) - AM_CONDITIONAL([ENABLE_OPENCT], [test "${enable_openct}" = "yes"]) - AM_CONDITIONAL([ENABLE_DOC], [test "${enable_doc}" = "yes"]) -+AM_CONDITIONAL([ENABLE_TESTS], [test "${enable_tests}" = "yes"]) - AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"]) - AM_CONDITIONAL([CYGWIN], [test "${CYGWIN}" = "yes"]) - AM_CONDITIONAL([ENABLE_MINIDRIVER], [test "${enable_minidriver}" = "yes"]) -@@ -1213,6 +1221,7 @@ XSL stylesheets: ${xslstylesheetsdir} - - man support: ${enable_man} - doc support: ${enable_doc} -+tests: ${enable_tests} - thread locking support: ${enable_thread_locking} - zlib support: ${enable_zlib} - readline support: ${enable_readline} -diff --git a/src/Makefile.am b/src/Makefile.am -index 3ce465bf..bf71b61f 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -3,7 +3,11 @@ EXTRA_DIST = Makefile.mak - - # Order IS important - SUBDIRS = common scconf ui pkcs15init sm \ -- libopensc pkcs11 tools minidriver tests -+ libopensc pkcs11 tools minidriver -+ -+if ENABLE_TESTS -+SUBDIRS += tests -+endif - - if ENABLE_SM - SUBDIRS += smm --- -2.39.2 - diff --git a/package/opensc/0004-pkcs15init-correct-left-length-calculation-to-fix-buffer-overrun-bug.patch b/package/opensc/0004-pkcs15init-correct-left-length-calculation-to-fix-buffer-overrun-bug.patch deleted file mode 100644 index 079f960b59..0000000000 --- a/package/opensc/0004-pkcs15init-correct-left-length-calculation-to-fix-buffer-overrun-bug.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 81944d1529202bd28359bede57c0a15deb65ba8a Mon Sep 17 00:00:00 2001 -From: fullwaywang -Date: Mon, 29 May 2023 10:38:48 +0800 -Subject: [PATCH] pkcs15init: correct left length calculation to fix buffer - overrun bug. Fixes #2785 - -Upstream: https://github.com/OpenSC/OpenSC/commit/81944d1529202bd28359bede57c0a15deb65ba8a -Signed-off-by: Fabrice Fontaine ---- - src/pkcs15init/pkcs15-cardos.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/pkcs15init/pkcs15-cardos.c b/src/pkcs15init/pkcs15-cardos.c -index 9715cf390f..f41f73c349 100644 ---- a/src/pkcs15init/pkcs15-cardos.c -+++ b/src/pkcs15init/pkcs15-cardos.c -@@ -872,7 +872,7 @@ static int cardos_have_verifyrc_package(sc_card_t *card) - sc_apdu_t apdu; - u8 rbuf[SC_MAX_APDU_BUFFER_SIZE]; - int r; -- const u8 *p = rbuf, *q; -+ const u8 *p = rbuf, *q, *pp; - size_t len, tlen = 0, ilen = 0; - - sc_format_apdu(card, &apdu, SC_APDU_CASE_2_SHORT, 0xca, 0x01, 0x88); -@@ -888,13 +888,13 @@ static int cardos_have_verifyrc_package(sc_card_t *card) - return 0; - - while (len != 0) { -- p = sc_asn1_find_tag(card->ctx, p, len, 0xe1, &tlen); -- if (p == NULL) -+ pp = sc_asn1_find_tag(card->ctx, p, len, 0xe1, &tlen); -+ if (pp == NULL) - return 0; - if (card->type == SC_CARD_TYPE_CARDOS_M4_3) { - /* the verifyRC package on CardOS 4.3B use Manufacturer ID 0x01 */ - /* and Package Number 0x07 */ -- q = sc_asn1_find_tag(card->ctx, p, tlen, 0x01, &ilen); -+ q = sc_asn1_find_tag(card->ctx, pp, tlen, 0x01, &ilen); - if (q == NULL || ilen != 4) - return 0; - if (q[0] == 0x07) -@@ -902,7 +902,7 @@ static int cardos_have_verifyrc_package(sc_card_t *card) - } else if (card->type == SC_CARD_TYPE_CARDOS_M4_4) { - /* the verifyRC package on CardOS 4.4 use Manufacturer ID 0x03 */ - /* and Package Number 0x02 */ -- q = sc_asn1_find_tag(card->ctx, p, tlen, 0x03, &ilen); -+ q = sc_asn1_find_tag(card->ctx, pp, tlen, 0x03, &ilen); - if (q == NULL || ilen != 4) - return 0; - if (q[0] == 0x02) diff --git a/package/opensc/Config.in b/package/opensc/Config.in index 8c6a95a41d..13b085f389 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 e8e675667e..232222062c 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 a4844a6ea03a522ecf35e49659716dacb6be03f7c010a1a583aaf3eb915ed2e0 opensc-0.23.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 823bc50102..008de9d4c2 100644 --- a/package/opensc/opensc.mk +++ b/package/opensc/opensc.mk @@ -4,18 +4,27 @@ # ################################################################################ -OPENSC_VERSION = 0.23.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 -# 0003-configure-add-option-to-disable-tests.patch -OPENSC_AUTORECONF = YES -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 --disable-tests -# 0004-pkcs15init-correct-left-length-calculation-to-fix-buffer-overrun-bug.patch -OPENSC_IGNORE_CVES += CVE-2023-2977 +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 df472e087d..58297aa694 100644 --- a/package/openssh/openssh.hash +++ b/package/openssh/openssh.hash @@ -1,4 +1,4 @@ -# From https://www.openssh.com/txt/release-9.3p2 -sha256 200ebe147f6cb3f101fd0cdf9e02442af7ddca298dffd9f456878e7ccac676e8 openssh-9.3p2.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 a2c3f16129..f0b499590a 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENSSH_VERSION_MAJOR = 9.3 -OPENSSH_VERSION_MINOR = p2 +OPENSSH_VERSION_MAJOR = 9.7 +OPENSSH_VERSION_MINOR = p1 OPENSSH_VERSION = $(OPENSSH_VERSION_MAJOR)$(OPENSSH_VERSION_MINOR) OPENSSH_CPE_ID_VERSION = $(OPENSSH_VERSION_MAJOR) OPENSSH_CPE_ID_UPDATE = $(OPENSSH_VERSION_MINOR) diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in index 066a7a4736..b62e5d0361 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,16 +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. + # 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 - depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LINUX_PAM help Support for PAM in openvmtools -comment "PAM support needs a toolchain w/ dynamic library, gcc >= 4.9" - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 +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" @@ -57,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/openvpn.hash b/package/openvpn/openvpn.hash index 16bffb7e57..932483507e 100644 --- a/package/openvpn/openvpn.hash +++ b/package/openvpn/openvpn.hash @@ -1,3 +1,3 @@ # Locally calculated after checking signature -sha256 e34efdb9a3789a760cfc91d57349dfb1e31da169c98c06cb490c6a8a015638e2 openvpn-2.6.5.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 2d27fdab45..abcb123eea 100644 --- a/package/openvpn/openvpn.mk +++ b/package/openvpn/openvpn.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENVPN_VERSION = 2.6.5 +OPENVPN_VERSION = 2.6.10 OPENVPN_SITE = https://swupdate.openvpn.net/community/releases OPENVPN_DEPENDENCIES = host-pkgconf libcap-ng OPENVPN_LICENSE = GPL-2.0 diff --git a/package/opkg-utils/opkg-utils.hash b/package/opkg-utils/opkg-utils.hash index 29671f9609..7aabe4d1a1 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 384a7323ee..b077e0dcce 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+ diff --git a/package/opkg/opkg.hash b/package/opkg/opkg.hash index b0c0ba6574..c6ecefba21 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 501edcf8af..a550543f3e 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/oprofile.mk b/package/oprofile/oprofile.mk index 265d6ebd18..512fbf9ea1 100644 --- a/package/oprofile/oprofile.mk +++ b/package/oprofile/oprofile.mk @@ -11,7 +11,6 @@ OPROFILE_LICENSE_FILES = COPYING OPROFILE_CPE_ID_VENDOR = maynard_johnson OPROFILE_CONF_OPTS = \ --disable-account-check \ - --enable-gui=no \ --with-kernel=$(STAGING_DIR)/usr OPROFILE_DEPENDENCIES = popt binutils host-pkgconf diff --git a/package/optee-client/0001-tee-supplicant-fix-build-with-kernel-4.16.patch b/package/optee-client/0001-tee-supplicant-fix-build-with-kernel-4.16.patch new file mode 100644 index 0000000000..fa51bd5d5e --- /dev/null +++ b/package/optee-client/0001-tee-supplicant-fix-build-with-kernel-4.16.patch @@ -0,0 +1,56 @@ +From acc5aec37f5f246ebf185d2129e7630eb80bb388 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 5 Jan 2024 09:47:43 +0100 +Subject: [PATCH] tee-supplicant: fix build with kernel < 4.16 + +Commit 3ac968ee7c927271e83ea3a4247839649202ab5e moved linux/tee.h from +libteec/include to libteec/src resulting in the following build failure +with any kernel < 4.16 (i.e before +https://github.com/torvalds/linux/commit/033ddf12bcf5326b93bd604f50a7474a434a35f9): + +/home/buildroot/autobuild/instance-3/output-1/build/optee-client-4.0.0/tee-supplicant/src/tee_supplicant.c: In function 'register_local_shm': +/home/buildroot/autobuild/instance-3/output-1/build/optee-client-4.0.0/tee-supplicant/src/tee_supplicant.c:356:44: error: storage size of 'data' isn't known + 356 | struct tee_ioctl_shm_register_data data; + | ^~~~ + +To fix this build failure, update CMakeLists.txt and Makefile of +tee-supplicant to add libteec/src to the include directories. + +Fixes: 3ac968ee7c92 ("Makefile, cmake: move teec related headers") + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/OP-TEE/optee_client/pull/369 +--- + tee-supplicant/CMakeLists.txt | 5 ++++- + tee-supplicant/Makefile | 2 +- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/tee-supplicant/CMakeLists.txt b/tee-supplicant/CMakeLists.txt +index 31c6dac5..b44e9e95 100644 +--- a/tee-supplicant/CMakeLists.txt ++++ b/tee-supplicant/CMakeLists.txt +@@ -93,7 +93,10 @@ endif() + ################################################################################ + # Public and private header and library dependencies + ################################################################################ +-target_include_directories(${PROJECT_NAME} PRIVATE src) ++target_include_directories(${PROJECT_NAME} ++ PRIVATE src ++ PRIVATE ../libteec/src ++) + + target_link_libraries(${PROJECT_NAME} + PRIVATE teec +diff --git a/tee-supplicant/Makefile b/tee-supplicant/Makefile +index 06c4b2e5..c3b32252 100644 +--- a/tee-supplicant/Makefile ++++ b/tee-supplicant/Makefile +@@ -40,7 +40,7 @@ TEES_OBJ_DIR := $(OUT_DIR) + TEES_OBJS := $(patsubst %.c,$(TEES_OBJ_DIR)/%.o, $(TEES_SRCS)) + TEES_INCLUDES := ${CURDIR}/../libteec/include \ + ${CURDIR}/src \ +- ${CURDIR}/../libteec/include \ ++ ${CURDIR}/../libteec/src \ + + TEES_CFLAGS := $(addprefix -I, $(TEES_INCLUDES)) $(CFLAGS) \ + -DDEBUGLEVEL_$(CFG_TEE_SUPP_LOG_LEVEL) \ diff --git a/package/optee-client/S30optee b/package/optee-client/S30optee deleted file mode 100644 index 17e6d6d2b8..0000000000 --- a/package/optee-client/S30optee +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -DAEMON="tee-supplicant" -PIDFILE="/var/run/$DAEMON.pid" - -DAEMON_ARGS="-d /dev/teepriv0" - -start() { - printf 'Starting %s: ' "$DAEMON" - start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ - -- $DAEMON_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 - echo "OK" - else - echo "FAIL" - fi - return "$status" -} - -restart() { - stop - sleep 1 - start -} - -case "$1" in - start|stop|restart) - "$1";; - reload) - # Restart, since there is no true "reload" feature (does not - # reconfigure/restart on SIGHUP, just closes all open files). - restart;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac diff --git a/package/optee-client/optee-client.hash b/package/optee-client/optee-client.hash index 69016eae11..bb97820ab1 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.21.0/optee-client-3.21.0.tar.gz -sha256 368164a539b85557d2079fa6cd839ec444869109f96de65d6569e58b0615d026 optee-client-3.21.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 4b95842efa..99c922a171 100644 --- a/package/optee-client/optee-client.mk +++ b/package/optee-client/optee-client.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPTEE_CLIENT_VERSION = 3.21.0 +OPTEE_CLIENT_VERSION = 4.0.0 OPTEE_CLIENT_SITE = $(call github,OP-TEE,optee_client,$(OPTEE_CLIENT_VERSION)) OPTEE_CLIENT_LICENSE = BSD-2-Clause OPTEE_CLIENT_LICENSE_FILES = LICENSE diff --git a/package/optee-examples/optee-examples.hash b/package/optee-examples/optee-examples.hash index c61c434c60..71cd95605d 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.21.0/optee-examples-3.21.0.tar.gz -sha256 9b965f829adc532b5228534d3b9b38ae1fc4f2ac55d73159a39d43e59749f3ed optee-examples-3.21.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 c182bab4cc..d620f0e36a 100644 --- a/package/optee-examples/optee-examples.mk +++ b/package/optee-examples/optee-examples.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPTEE_EXAMPLES_VERSION = 3.21.0 +OPTEE_EXAMPLES_VERSION = 4.0.0 OPTEE_EXAMPLES_SITE = $(call github,linaro-swg,optee_examples,$(OPTEE_EXAMPLES_VERSION)) OPTEE_EXAMPLES_LICENSE = BSD-2-Clause OPTEE_EXAMPLES_LICENSE_FILES = LICENSE diff --git a/package/optee-test/0001-xtest-add-DOPENSSL_API_COMPAT-10100.patch b/package/optee-test/0001-xtest-add-DOPENSSL_API_COMPAT-10100.patch deleted file mode 100644 index b876c3385f..0000000000 --- a/package/optee-test/0001-xtest-add-DOPENSSL_API_COMPAT-10100.patch +++ /dev/null @@ -1,57 +0,0 @@ -From a0db2b60b9f5c14e9f69c0e06e1a8d35f9fb1b5a Mon Sep 17 00:00:00 2001 -From: Jerome Forissier -Date: Tue, 25 Jul 2023 14:39:25 +0200 -Subject: [PATCH] xtest: add -DOPENSSL_API_COMPAT=10100 - -regression_1000.c uses OpenSSL functions that have been deprecated -after version 1.1. In particular, building with version 3.0 causes the -following error (and other similar ones not pasted here): - - optee_test/host/xtest/regression_1000.c: In function 'check_signature': - optee_test/host/xtest/regression_1000.c:2735:9: error: 'SHA256_Init' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] - 2735 | SHA256_Init(&ctx); - | ^~~~~~~~~~~ - -Add -DOPENSSL_API_COMPAT=10100 to the build flags to avoid this and be -flexible with regards to which version of OpenSSL build environment has -to provide. - -Signed-off-by: Jerome Forissier -Acked-by: Jens Wiklander -(cherry picked from commit cf111604c4c32a76be90f29aab25fa9b882c8715) -Upstream: https://github.com/OP-TEE/optee_test/commit/cf111604c4c32a76be90f29aab25fa9b882c8715 -Signed-off-by: Romain Naour ---- - host/xtest/CMakeLists.txt | 2 +- - host/xtest/Makefile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/host/xtest/CMakeLists.txt b/host/xtest/CMakeLists.txt -index 776787b..ae0f4e0 100644 ---- a/host/xtest/CMakeLists.txt -+++ b/host/xtest/CMakeLists.txt -@@ -12,7 +12,7 @@ endif() - - find_package(OpenSSL) - if(OPENSSL_FOUND) -- add_compile_options(-DOPENSSL_FOUND=1) -+ add_compile_options(-DOPENSSL_FOUND=1 -DOPENSSL_API_COMPAT=10100) - set (OPENSSL_PRIVATE_LINK OpenSSL::Crypto) - endif() - -diff --git a/host/xtest/Makefile b/host/xtest/Makefile -index 8505629..2497850 100644 ---- a/host/xtest/Makefile -+++ b/host/xtest/Makefile -@@ -39,7 +39,7 @@ endef - # - User/group login tests 1027 and 1028 - WITH_OPENSSL ?= y - ifeq ($(WITH_OPENSSL),y) --CFLAGS += -DOPENSSL_FOUND=1 -+CFLAGS += -DOPENSSL_FOUND=1 -DOPENSSL_API_COMPAT=10100 - ifneq ($(OPTEE_OPENSSL_EXPORT),) - LDFLAGS += -lcrypto - CFLAGS += -I$(OPTEE_OPENSSL_EXPORT) --- -2.41.0 - diff --git a/package/optee-test/optee-test.hash b/package/optee-test/optee-test.hash index 08b3331374..9744ab6d92 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.21.0/optee-test-3.21.0.tar.gz -sha256 44c7dc3df48e9d73f12bbbef1cc2a4e22d859ab8a5e67a07923267f924175d65 optee-test-3.21.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 d306ef8269..44d3015ae1 100644 --- a/package/optee-test/optee-test.mk +++ b/package/optee-test/optee-test.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPTEE_TEST_VERSION = 3.21.0 +OPTEE_TEST_VERSION = 4.0.0 OPTEE_TEST_SITE = $(call github,OP-TEE,optee_test,$(OPTEE_TEST_VERSION)) OPTEE_TEST_LICENSE = GPL-2.0, BSD-2-Clause, OPTEE_TEST_LICENSE_FILES = LICENSE.md diff --git a/package/opus/opus.mk b/package/opus/opus.mk index 15531b521a..cbc07a091b 100644 --- a/package/opus/opus.mk +++ b/package/opus/opus.mk @@ -8,6 +8,7 @@ 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) diff --git a/package/opusfile/opusfile.mk b/package/opusfile/opusfile.mk index 63553a81e7..efd38c542c 100644 --- a/package/opusfile/opusfile.mk +++ b/package/opusfile/opusfile.mk @@ -9,6 +9,7 @@ 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 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 c3b55ba8d3..0000000000 --- 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 336e80e0b7..0000000000 --- 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 c5906563ce..0000000000 --- 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 6fef0a9acf..0000000000 --- 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 b91ed4fef9..0000000000 --- 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 918fe2456a..0000000000 --- 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 8172a9848e..0000000000 --- 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 971b9ceeb5..0000000000 --- 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 65babf4f20..0000000000 --- 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 321112d635..0000000000 --- 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 b6e64e6bdd..0000000000 --- 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 492e01bffe..0000000000 --- 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 110ca2cd12..0000000000 --- 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 c9e5e42f71..0000000000 --- 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 c4ce39437e..0000000000 --- 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 1086e4125f..0000000000 --- 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/orc.hash b/package/orc/orc.hash index 136fc3ece4..1e584c1190 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.33.tar.xz.sha256sum -sha256 844e6d7db8086f793f57618d3d4b68d29d99b16034e71430df3c21cfd3c3542a orc-0.4.33.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 be718e6f85..b2d2bb461b 100644 --- a/package/orc/orc.mk +++ b/package/orc/orc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ORC_VERSION = 0.4.33 +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 3e73572a80..439309df95 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 @@ -23,9 +25,11 @@ config BR2_PACKAGE_OSM2PGSQL https://osm2pgsql.org 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 cc13bf741d..a93ceb6a7f 100644 --- a/package/osm2pgsql/osm2pgsql.hash +++ b/package/osm2pgsql/osm2pgsql.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9e3cd9e13893fd7a153c7b42089bd23338867190c91b157cbdb4ff7176ecba62 osm2pgsql-1.8.1.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 11f09fe7d1..1565c2142c 100644 --- a/package/osm2pgsql/osm2pgsql.mk +++ b/package/osm2pgsql/osm2pgsql.mk @@ -4,13 +4,13 @@ # ################################################################################ -OSM2PGSQL_VERSION = 1.8.1 +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 986dca921a..6b22282486 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 e950060c91..81d209b2c2 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 868e3a7c9b..53e953e070 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 529c538ff2..d359edf36e 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 6a70a664ed3bbcc1eafdc45a5dc11f3ad70c9bac12a54c2f8cef15c0e7d0a93b paho-mqtt-c-1.3.12.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 8d1fe009a7..ec4e96c77f 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.12 +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/pango/0001-Drop-Werror-array-bounds.patch b/package/pango/0001-Drop-Werror-array-bounds.patch new file mode 100644 index 0000000000..45821e8533 --- /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/parted/Config.in b/package/parted/Config.in index f48b365a2d..ea6c3db2bf 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.mk b/package/parted/parted.mk index bfd9ef3432..5b55a9f21e 100644 --- a/package/parted/parted.mk +++ b/package/parted/parted.mk @@ -11,7 +11,7 @@ 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 0ef8fad643..464dd14a5b 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 704e50e738..5dd1842df3 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/pcmanfm/pcmanfm.mk b/package/pcmanfm/pcmanfm.mk index 1379b19f5d..9b233f614d 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/pcsc-lite/pcsc-lite.hash b/package/pcsc-lite/pcsc-lite.hash index 4326822e41..e0face9ddb 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 0b92380ccb..2b2114835e 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/perftest.hash b/package/perftest/perftest.hash index a9ea10ef44..2fa8c63493 100644 --- a/package/perftest/perftest.hash +++ b/package/perftest/perftest.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c76f0fd5524a3486c335897357c596d0a6d4f82680f93fc1bc7120670fabd5f9 perftest-23.04.0-0.23.tar.gz +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 index 7101e318aa..9e0424e47e 100644 --- a/package/perftest/perftest.mk +++ b/package/perftest/perftest.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERFTEST_VERSION = 23.04.0-0.23 +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 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 ee0f5ec32c..e3e88140bc 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 ef688acf7e..d4a7f11b85 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-convert-asn1/perl-convert-asn1.hash b/package/perl-convert-asn1/perl-convert-asn1.hash index 644517af51..2d1b1faa3b 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 affe775aca..07f9b1d1bb 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 cc2a84b146..34bb4b143c 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 27c88f3e57..add5fcd0ed 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-date-manip/perl-date-manip.hash b/package/perl-date-manip/perl-date-manip.hash index 72741e413d..d055cb33cc 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 https://cpan.metacpan.org/ -md5 3ac4e55802837c396a30860492f33e67 Date-Manip-6.92.tar.gz -sha256 ab962bd39ca09ec6fcfe7e5a6912af71b0c1f6f03e4ed2bef6e4471c9d367a13 Date-Manip-6.92.tar.gz +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 8739caefd4..55d9cff6ef 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.92 +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/Config.in b/package/perl-dbd-mysql/Config.in index 55bbc95347..eff76f5b61 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 98521a78cf..e87e34100a 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 4e64ef1716..7525ebbb9b 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 0178390141..557f21bb85 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 04839ac15c..c3ac89ba28 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 0ecdf78482..0e16f92b1e 100644 --- a/package/perl-exporter-tiny/perl-exporter-tiny.hash +++ b/package/perl-exporter-tiny/perl-exporter-tiny.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 2d555e289eac6450052e8683c292cbf7 Exporter-Tiny-1.006000.tar.gz -sha256 d95479ff085699d6422f7fc8306db085e34b626438deb82ec82d41df2295f400 Exporter-Tiny-1.006000.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 a4f85c6f4d6e8bdd37b7ab08013e3e3bee1fe8e910e20f8f54d5025ffe40f384 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 489ee54e17..715070623e 100644 --- a/package/perl-exporter-tiny/perl-exporter-tiny.mk +++ b/package/perl-exporter-tiny/perl-exporter-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_EXPORTER_TINY_VERSION = 1.006000 +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+ diff --git a/package/perl-file-listing/Config.in b/package/perl-file-listing/Config.in index acca98be22..4610618542 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 cb52c127cd..bd2ca473ba 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 8ba34641a6c5a2ec1b0bf7064f68c535 File-Listing-6.15.tar.gz -sha256 46c4fb9f9eb9635805e26b7ea55b54455e47302758a10ed2a0b92f392713770c File-Listing-6.15.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 287e6f0fdf2db790a24975b492cde64b210c16af7137f44373cbd03fcf844212 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 c8584ffa8a..583de605a4 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.15 +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 b462d8e683..bfc06ab22a 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 3653a4bade..4f152e1b5d 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-http-date/perl-http-date.hash b/package/perl-http-date/perl-http-date.hash index b278423002..a6f7701829 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 43583be303..2f1aeb7da0 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/perl-http-message.hash b/package/perl-http-message/perl-http-message.hash index 94b5c06a4f..b33e00e33e 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 926a077669a7828c5ca39b5cf7735625 HTTP-Message-6.44.tar.gz -sha256 398b647bf45aa972f432ec0111f6617742ba32fc773c6612d21f64ab4eacbca1 HTTP-Message-6.44.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 67b68b0de2..7fdba0b29e 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.44 +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-json-maybexs/perl-json-maybexs.hash b/package/perl-json-maybexs/perl-json-maybexs.hash index a53d4ec616..3b603310f6 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 e6891f6808..13c9439ea6 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 9793b6f5d0..fa429a2ce0 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 a3c011fe84..aac0abe3a7 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 0663820b2e..a2048e25a2 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-math-int64/perl-math-int64.hash b/package/perl-math-int64/perl-math-int64.hash index 4f2374b107..7730b722a5 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 749ff60c97..c0abcf48a1 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 7f03f96c18..7b503ff061 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 cdf6ac3ec4..e2e3d83e7c 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 a2181290ee..590307e780 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 144885f1cbaf9420017bbed696ec6b83 Module-Build-0.4232.tar.gz -sha256 67c82ee245d94ba06decfa25572ab75fdcd26a9009094289d8f45bc54041771b Module-Build-0.4232.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 d95a30647a..972902e047 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.4232 +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 34362f5d8d..fe39b093c7 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 57c356eee5..1d5e2511f6 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 6d8f500150..b1ff561f74 100644 --- a/package/perl-mojolicious/perl-mojolicious.hash +++ b/package/perl-mojolicious/perl-mojolicious.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from https://cpan.metacpan.org/ -md5 e06ce611dd2444f2ca5b74f3a910b679 Mojolicious-9.32.tar.gz -sha256 bc04c552ee24eaecc45feb8709d49c2901bc26fb82b4a1a8e17574e1cca083dc Mojolicious-9.32.tar.gz +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 63b02a5181..4657d27929 100644 --- a/package/perl-mojolicious/perl-mojolicious.mk +++ b/package/perl-mojolicious/perl-mojolicious.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOJOLICIOUS_VERSION = 9.32 +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 9b67e7a65c..f70646deca 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 6c484ba9e3..18e32688e1 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 799a531fe6..c9bdd05245 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 2f136d096352a418e546e4afb70e7aa9 Mozilla-CA-20221114.tar.gz -sha256 701bea67be670add5a102f9f8c879402b4983096b1cb0e20dd47d52d7a10666b Mozilla-CA-20221114.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 a124860b7a..92fb3cec61 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 = 20221114 +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/H/HA/HAARG +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 f6292d242a..f025d36ab4 100644 --- a/package/perl-net-dns/perl-net-dns.hash +++ b/package/perl-net-dns/perl-net-dns.hash @@ -1,5 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -sha256 e99cdedf9f0d60dca16f613e488c5b7f123c2fb24b3346d580cfe7da40851ac6 Net-DNS-1.39.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 2626c22d64..5b6c1ba1d6 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.39 +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-ssleay/perl-net-ssleay.hash b/package/perl-net-ssleay/perl-net-ssleay.hash index 9caff68edd..219edd4e0f 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 8b7b2b973b..7f58093082 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 6b7ca24782..05506c2424 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 0bbac515e2..329d2dbbbf 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 bc116abca3..dd93314d82 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-plack/perl-plack.hash b/package/perl-plack/perl-plack.hash index c763d2c173..c9e2bb01f6 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 b95f204d23..2c591cc05a 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 bdc6fd45a0..cad4b03f24 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 c11ed58514..f7f6745ec9 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 bbac2a6377..834e589ee5 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 85d60caf52..5e02a37ebb 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 602ff92cec..8db560fd44 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 a22da16922..3c2a25be51 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 9e5924abb8..bca5153a03 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 5efa78f161..31c84a2637 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 eaf57623b3..c10a829e98 100644 --- a/package/perl-uri/perl-uri.hash +++ b/package/perl-uri/perl-uri.hash @@ -1,5 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -sha256 8fed5f819905c8a8e18f4447034322d042c3536b43c13ac1f09ba92e1a50a394 URI-5.19.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 a7fab863a6..aa0c1ed8b5 100644 --- a/package/perl-uri/perl-uri.mk +++ b/package/perl-uri/perl-uri.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_URI_VERSION = 5.19 +PERL_URI_VERSION = 5.21 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz -PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SI/SIMBABQUE -PERL_URI_LICENSE = Artistic or GPL-1.0+ +PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS +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 0000000000..f0837c2d33 --- /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 2165c8c601..91abcdeb92 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.36.1.tar.xz.{md5,sha1,sha256}.txt -md5 825f6b1d7e03b22522e0bdb992fbb728 perl-5.36.1.tar.xz -sha1 7b766266af08a6cef0487308e80b40d5d8069df7 perl-5.36.1.tar.xz -sha256 bd91217ea8a8c8b81f21ebbb6cefdf0d13ae532013f944cdece2cd51aef4b6a7 perl-5.36.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.1/perl-cross-1.4.1.hash -sha256 3e14bb4f28c83586c668c5f9f6b4e57b138b4ec2fae0271086e29d4e352670ca perl-cross-1.4.1.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 810c97bea10842d2e47bc79e51acdfa1628cfee34fa0d89330f4eb3a44e3def9 README +sha256 9519aaeeac509b3fa8778155a63545b6086f8313546b93fe9958d1c434d476a8 README diff --git a/package/perl/perl.mk b/package/perl/perl.mk index 734e8efec6..9de0425e87 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 = 36 -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.1 +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 index 0b4dc762bb..533c7a9f29 100644 --- a/package/petitboot/Config.in +++ b/package/petitboot/Config.in @@ -1,31 +1,47 @@ config BR2_PACKAGE_PETITBOOT bool "petitboot" - # kexec-lite arch depends is a subset of kexec arch depends - depends on BR2_PACKAGE_KEXEC_ARCH_SUPPORTS + 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 - depends on !BR2_STATIC_LIBS # elfutils, lvm2 - depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils, lvm2 - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils + 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 - # run-time dependency only - select BR2_PACKAGE_KEXEC if !BR2_PACKAGE_KEXEC_LITE - # run-time dependency only - select BR2_PACKAGE_POWERPC_UTILS if ( BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le ) - # run-time dependency only + 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 -comment "petitboot needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads, udev /dev management" +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_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) || \ + !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 index 7ecc12e991..71ab62d998 100644 --- a/package/petitboot/S15pb-discover +++ b/package/petitboot/S15pb-discover @@ -2,12 +2,9 @@ DAEMON="pb-discover" PIDFILE="/var/run/$DAEMON.pid" -LOGFILE="/var/log/$DAEMON.log" - -PB_DISCOVER_ARGS="-l $LOGFILE" # shellcheck source=/dev/null -[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" +[ -r "/etc/default/petitboot" ] && . "/etc/default/petitboot" if [ "$(pb-config debug)" = "enabled" ] ; then PB_DISCOVER_ARGS="$PB_DISCOVER_ARGS --verbose" @@ -15,8 +12,10 @@ 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 -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + start-stop-daemon -S -q -b -m -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ -- $PB_DISCOVER_ARGS status=$? if [ "$status" -eq 0 ]; then @@ -32,6 +31,7 @@ stop() { start-stop-daemon -K -q -p "$PIDFILE" status=$? if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" echo "OK" else echo "FAIL" diff --git a/package/petitboot/pb-console b/package/petitboot/pb-console new file mode 100644 index 0000000000..407ff3b302 --- /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 index bf7bf56a67..3a90bc5296 100644 --- a/package/petitboot/petitboot.hash +++ b/package/petitboot/petitboot.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b42ae4fb2a81e9cf68f727c3f54c6312788c654bd97628ec9ba61b19a68990e6 petitboot-v1.13.tar.gz +sha256 eed29ec841c2bcd5ecc65347f5b95a0087a541bd9c04ca3c17c55d1f7357d189 petitboot-v1.15.tar.gz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk index 8d220f88f4..cd7631fa5c 100644 --- a/package/petitboot/petitboot.mk +++ b/package/petitboot/petitboot.mk @@ -4,13 +4,21 @@ # ################################################################################ -PETITBOOT_VERSION = 1.13 +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 +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 \ @@ -46,6 +54,8 @@ 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 @@ -53,8 +63,16 @@ define PETITBOOT_POST_INSTALL $(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) -m 0755 -D $(PETITBOOT_PKGDIR)/S15pb-discover \ + $(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/ 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 6fe09ad3bd..0000000000 --- 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 3651f5a0d3..0000000000 --- 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 bce8ac0c9a..159a157a49 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 981f8274a9..7e58234d1f 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 3aae4120d2..4a5eadf803 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 d381c9054f..b8eeb9de7c 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 9b94cb7e4f..0000000000 --- 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 99ffe87f46..084de7750a 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 a89f0978af..89054f5f7c 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 7e918c17f6..162d25f795 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 068fbb786b..f92a8ddf4c 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/php-pam.hash b/package/php-pam/php-pam.hash index c3eb49fbe7..be15237f7d 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 c35ad4f5d0..a348fb9d44 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 acca6e1d49..0000000000 --- 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 5babce94b4..0000000000 --- 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 f43e2c8b51..122636913c 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 a70a2e7ae1..84cc373bb7 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 3fbb0b24c8..69e0b92071 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 b79ac04179..e7955a2c07 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 fa92ee82ed..2509e6e2ee 100644 --- a/package/php-xdebug/php-xdebug.hash +++ b/package/php-xdebug/php-xdebug.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7769b20eecdadf5fbe9f582512c10b394fb575b6f7a8c3a3a82db6883e0032b7 xdebug-3.2.0.tgz +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 9429d4afee..3bc197e556 100644 --- a/package/php-xdebug/php-xdebug.mk +++ b/package/php-xdebug/php-xdebug.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_XDEBUG_VERSION = 3.2.0 +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 @@ -14,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); \ @@ -26,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 b4d14c5a30..4fa5dfbc16 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 39a422e25d..e825e3146f 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/Config.in b/package/php/Config.in index 69b4268c1d..af8574ac75 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 e5f94a5e05..4ce3616de3 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,5 +1,5 @@ # From https://www.php.net/downloads.php -sha256 29af82e4f7509831490552918aad502697453f0869a579ee1b80b08f9112c5b8 php-8.2.11.tar.xz +sha256 28cdc995b7d5421711c7044294885fcde4390c9f67504a994b4cf9bc1b5cc593 php-8.2.16.tar.xz # License file -sha256 080d0d0cca64181ef8bf1df9fba0c6f0c485f78f79540c479a45b593bb3b33b5 LICENSE +sha256 b42e4df5e50e6ecda1047d503d6d91d71032d09ed1027ba1ef29eed26f890c5a LICENSE diff --git a/package/php/php.mk b/package/php/php.mk index ee33000a6f..28893be4c6 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 8.2.11 +PHP_VERSION = 8.2.16 PHP_SITE = https://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES @@ -40,6 +40,11 @@ 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 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 5143e31102..0000000000 --- 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 9f8efc4a9a..6db71e1791 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 77c270408c..8107f5633a 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 2d585bb2f5..bb55c3c1d1 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 22d1c7c28e..48b7641909 100644 --- a/package/piglit/Config.in +++ b/package/piglit/Config.in @@ -8,6 +8,8 @@ config BR2_PACKAGE_PIGLIT 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 @@ -32,6 +34,8 @@ config BR2_PACKAGE_PIGLIT https://piglit.freedesktop.org -comment "piglit needs a glibc or musl toolchain w/ C++" +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 4a149605b3..d09930b62b 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 fd48ab463d..e3273c71c1 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/pipewire.hash b/package/pipewire/pipewire.hash index 98de073bdb..3370d86641 100644 --- a/package/pipewire/pipewire.hash +++ b/package/pipewire/pipewire.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 b30d886b87aa8c055af6d6c7261d1d04336f3a75221c31afe1ea8ba86184bf70 pipewire-0.3.74.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 24e642b418..f0f3cd847c 100644 --- a/package/pipewire/pipewire.mk +++ b/package/pipewire/pipewire.mk @@ -4,7 +4,7 @@ # ################################################################################ -PIPEWIRE_VERSION = 0.3.74 +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) @@ -225,7 +225,7 @@ else PIPEWIRE_CONF_OPTS += -Dcompress-offload=disabled endif -ifeq ($(WEBRTC_AUDIO_PROCESSING),y) +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/0003-Add-missing-cstdint-header-include-1142.patch b/package/pistache/0003-Add-missing-cstdint-header-include-1142.patch new file mode 100644 index 0000000000..3451e4aa4c --- /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/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 21ce66ae79..0000000000 --- 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 0614e8aed4..bc9cf3478b 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 d1a1e38d4e..de192493ea 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-cargo.mk b/package/pkg-cargo.mk index 264bf5a1ae..47ce68bf02 100644 --- a/package/pkg-cargo.mk +++ b/package/pkg-cargo.mk @@ -53,6 +53,106 @@ PKG_CARGO_ENV = \ 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 @@ -95,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 diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index 8c375779cb..8f391eb4c9 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 0718f21aad..30eeb6b1fc 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)' \ + $(foreach f,$($(2)_HASH_FILES),-H '$(f)') \ -n '$($(2)_BASENAME_RAW)' \ -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 9947e4cc6d..577a148c1e 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) @@ -643,6 +637,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) @@ -1142,7 +1142,7 @@ 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) @@ -1202,7 +1202,8 @@ $(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)) @@ -1230,8 +1231,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 diff --git a/package/pkg-golang.mk b/package/pkg-golang.mk index 7ba82284f3..8e27602d41 100644 --- a/package/pkg-golang.mk +++ b/package/pkg-golang.mk @@ -91,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. diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk index fcd6b8bc29..4f64a73f11 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-python.mk b/package/pkg-python.mk index 85374ae8bb..94f28ff841 100644 --- a/package/pkg-python.mk +++ b/package/pkg-python.mk @@ -52,33 +52,6 @@ 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" - -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) - -HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS = \ - --prefix=$(HOST_DIR) - # Target setuptools-based packages PKG_PYTHON_SETUPTOOLS_ENV = \ $(PKG_PYTHON_ENV) @@ -86,17 +59,24 @@ PKG_PYTHON_SETUPTOOLS_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) @@ -104,27 +84,66 @@ PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS = \ HOST_PKG_PYTHON_SETUPTOOLS_ENV = \ $(HOST_PKG_PYTHON_ENV) -HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ +HOST_PKG_PYTHON_SETUPTOOLS_BUILD_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_CMD) build + +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) \ @@ -135,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 \ @@ -143,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 @@ -170,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) -endif -else ifneq ($$(filter flit pep517,$$($(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) -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) -endif -else ifeq ($$($(2)_SETUP_TYPE),flit-bootstrap) -ifeq ($(4),target) +ifeq ($(4)-$$($(2)_SETUP_TYPE),target-flit-bootstrap) $$(error flit-bootstrap setup type only supported for host packages) +endif + +# 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)_DL_ENV = $$(PKG_CARGO_ENV) 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) +$(2)_DL_ENV = $$(HOST_PKG_CARGO_ENV) +endif +ifndef $(2)_CARGO_MANIFEST_PATH +ifdef $(3)_CARGO_MANIFEST_PATH +$(2)_DL_ENV += BR_CARGO_MANIFEST_PATH=$$($(3)_CARGO_MANIFEST_PATH) +else +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 @@ -232,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) +ifneq ($$(filter setuptools setuptools-rust,$$($(2)_SETUP_TYPE)),) $(2)_DEPENDENCIES += host-python-setuptools -else ifneq ($$(filter flit pep517,$$($(2)_SETUP_TYPE)),) +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 + +# Pyo3 based packages(setuptools-rust and maturin) will need rust +# toolchain dependencies for the host Python interpreter (both host +# and target). +# +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 -# Python interpreter to use for building the package. -# -$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/python - +ifeq ($(4),target) # # Build step. Only define it if not already defined by the package .mk # file. @@ -258,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 @@ -286,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 @@ -300,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 fdaddf08df..ccf78692e8 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 e4e3f3bb6c..4b993dd970 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 bdbdf20c23..723bbe4e24 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -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 \ + --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/poco/Config.in b/package/poco/Config.in index 820e631966..9bdef125ad 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 9a7981171a..0a1e900b3f 100644 --- a/package/poco/poco.hash +++ b/package/poco/poco.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 71ef96c35fced367d6da74da294510ad2c912563f12cd716ab02b6ed10a733ef poco-1.12.4.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 2d0233a8ce..233252c67b 100644 --- a/package/poco/poco.mk +++ b/package/poco/poco.mk @@ -4,7 +4,7 @@ # ################################################################################ -POCO_VERSION = 1.12.4 +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/policycoreutils/policycoreutils.mk b/package/policycoreutils/policycoreutils.mk index 61d91066d4..0e639760fa 100644 --- a/package/policycoreutils/policycoreutils.mk +++ b/package/policycoreutils/policycoreutils.mk @@ -11,7 +11,7 @@ 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 @@ -28,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 \ @@ -59,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/S50polkit b/package/polkit/S50polkit deleted file mode 100755 index f07e2d613b..0000000000 --- a/package/polkit/S50polkit +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh - -DAEMON="polkitd" -DAEMON_PATH="/usr/lib/polkit-1/${DAEMON}" -PIDFILE="/var/run/${DAEMON}.pid" -POLKITD_ARGS="--no-debug" - -# polkitd does not create a pidfile, so pass "-n" in the command line -# and use "-m" to instruct start-stop-daemon to create one. -start() { - printf 'Starting %s: ' "${DAEMON}" - # shellcheck disable=SC2086 # we need the word splitting - start-stop-daemon -bmSqp "$PIDFILE" -x ${DAEMON_PATH} -- ${POLKITD_ARGS} - status=$? - if [ "$status" -eq 0 ]; then - echo "OK" - else - echo "FAIL" - fi - return "$status" -} - -stop() { - printf 'Stopping %s: ' "${DAEMON}" - start-stop-daemon -Kqp "$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|reload) - "$1";; - reload) - # Restart, since there is no true "reload" feature. - restart;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac diff --git a/package/polkit/polkit.hash b/package/polkit/polkit.hash index ffdc2a7568..5eadc89753 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 dab5d542eb..e393672c1e 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/popt/popt.mk b/package/popt/popt.mk index 5cee8e9673..06bab375f6 100644 --- a/package/popt/popt.mk +++ b/package/popt/popt.mk @@ -9,7 +9,7 @@ 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_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) diff --git a/package/postgis/Config.in b/package/postgis/Config.in index 405c5c723a..7d42390677 100644 --- a/package/postgis/Config.in +++ b/package/postgis/Config.in @@ -2,7 +2,7 @@ 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_GCC_AT_LEAST_4_9 # libgeos depends on BR2_TOOLCHAIN_HAS_THREADS # libgeos, proj depends on BR2_USE_WCHAR # libgeos, proj depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 # 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 || \ +comment "postgis needs a toolchain w/ C++, threads, wchar, gcc >= 4.9, not binutils bug 27597" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 diff --git a/package/postgis/postgis.hash b/package/postgis/postgis.hash index 8550a57939..7e62e8e168 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 4148180adf..867aa4caea 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 0640f883a7..cf859e3505 100644 --- a/package/postgresql/postgresql.hash +++ b/package/postgresql/postgresql.hash @@ -1,4 +1,4 @@ -# From https://ftp.postgresql.org/pub/source/v15.4/postgresql-15.4.tar.bz2.sha256 -sha256 baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9 postgresql-15.4.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2.sha256 +sha256 ce3c4d85d19b0121fe0d3f8ef1fa601f71989e86f8a66f7dc3ad546dd5564fec postgresql-16.1.tar.bz2 # License file, Locally calculated sha256 1a7d13c3ab31961b91ba256f77d6e82e0b54bf992253060fe93bdb5466df416a COPYRIGHT diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index b951b14aa0..644f93d88a 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 15.4 +POSTGRESQL_VERSION = 16.1 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = https://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL @@ -15,6 +15,7 @@ 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) @@ -87,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 diff --git a/package/powerpc-utils/powerpc-utils.hash b/package/powerpc-utils/powerpc-utils.hash index b3c77fb223..32387014cc 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 19fa84946c..ddeb830b07 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 0000000000..01a030522d --- /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 75ed2d1c24..0000000000 --- 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 fd88a3d0eb..2f7ba2bb9d 100644 --- a/package/powertop/Config.in +++ b/package/powertop/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_POWERTOP 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 fc8f3cc52f..810b80a514 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 e035868fa9..aa7d251b90 100644 --- a/package/powertop/powertop.mk +++ b/package/powertop/powertop.mk @@ -4,21 +4,32 @@ # ################################################################################ -POWERTOP_VERSION = 2.13 -POWERTOP_SITE = https://01.org/sites/default/files/downloads +POWERTOP_VERSION = 2.15 +POWERTOP_SITE = $(call github,fenrus75,powertop,v$(POWERTOP_VERSION)) POWERTOP_LICENSE = GPL-2.0 POWERTOP_LICENSE_FILES = COPYING POWERTOP_DEPENDENCIES = \ + host-autoconf-archive \ host-pkgconf \ libnl \ ncurses \ $(if $(BR2_PACKAGE_PCIUTILS),pciutils) \ $(TARGET_NLS_DEPENDENCIES) -POWERTOP_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) -# 0001-dont-force-stack-smashing-protection.patch +# 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-Add-configure-check-to-see-if-we-have-struct-sockadd.patch b/package/pppd/0001-Add-configure-check-to-see-if-we-have-struct-sockadd.patch new file mode 100644 index 0000000000..9e41110400 --- /dev/null +++ b/package/pppd/0001-Add-configure-check-to-see-if-we-have-struct-sockadd.patch @@ -0,0 +1,44 @@ +From 9d6d326b2530cffb1414e4c401675117c42d43ce Mon Sep 17 00:00:00 2001 +From: Eivind Naess +Date: Sun, 23 Apr 2023 11:30:43 -0700 +Subject: [PATCH] Add configure check to see if we have struct sockaddr_ll + +Fixes issue #411. + +Signed-off-by: Eivind Naess + +Upstream: https://github.com/ppp-project/ppp/commit/9d6d326b2530cffb1414e4c401675117c42d43ce + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 3 ++- + pppd/plugins/pppoe/config.h.in | 2 ++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1180f64..38b24af 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -75,7 +75,8 @@ AM_COND_IF([LINUX], [ + linux/if_ether.h \ + linux/if_packet.h \ + netinet/if_ether.h \ +- netpacket/packet.h])]) ++ netpacket/packet.h]) ++ AC_CHECK_TYPES([struct sockaddr_ll], [], [], [#include ])]) + + AC_CHECK_SIZEOF(unsigned int) + AC_CHECK_SIZEOF(unsigned long) +diff --git a/pppd/plugins/pppoe/config.h.in b/pppd/plugins/pppoe/config.h.in +index d447f5e..d7d61c0 100644 +--- a/pppd/plugins/pppoe/config.h.in ++++ b/pppd/plugins/pppoe/config.h.in +@@ -69,3 +69,5 @@ + /* The size of `unsigned short', as computed by sizeof. */ + #undef SIZEOF_UNSIGNED_SHORT + ++/* Define to 1 if the system has the type `struct sockaddr_ll'. */ ++#undef HAVE_STRUCT_SOCKADDR_LL +-- +2.39.2 + 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 86d8b8f4e3..0000000000 --- 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-Closes-411-Fixing-up-parsing-in-radiusclient.conf.patch b/package/pppd/0002-Closes-411-Fixing-up-parsing-in-radiusclient.conf.patch new file mode 100644 index 0000000000..5fa3ded756 --- /dev/null +++ b/package/pppd/0002-Closes-411-Fixing-up-parsing-in-radiusclient.conf.patch @@ -0,0 +1,56 @@ +From 7f89208b860ea0c41636410bfdb6a609b2772f47 Mon Sep 17 00:00:00 2001 +From: Eivind Naess +Date: Sun, 23 Apr 2023 11:37:01 -0700 +Subject: [PATCH] Closes #411, Fixing up parsing in radiusclient.conf + +Adding curly braces to fix the code. + +Signed-off-by: Eivind Naess + +Upstream: https://github.com/ppp-project/ppp/commit/7f89208b860ea0c41636410bfdb6a609b2772f47 + +Signed-off-by: Bernd Kuhls +--- + pppd/plugins/radius/config.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/pppd/plugins/radius/config.c b/pppd/plugins/radius/config.c +index 39744fc..e1a4814 100644 +--- a/pppd/plugins/radius/config.c ++++ b/pppd/plugins/radius/config.c +@@ -235,24 +235,28 @@ int rc_read_config(char *filename) + + switch (option->type) { + case OT_STR: +- if (set_option_str(filename, line, option, p) < 0) ++ if (set_option_str(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_INT: +- if (set_option_int(filename, line, option, p) < 0) ++ if (set_option_int(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_SRV: +- if (set_option_srv(filename, line, option, p) < 0) ++ if (set_option_srv(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + case OT_AUO: +- if (set_option_auo(filename, line, option, p) < 0) ++ if (set_option_auo(filename, line, option, p) < 0) { + fclose(configfd); + return (-1); ++ } + break; + default: + fatal("rc_read_config: impossible case branch!"); +-- +2.39.2 + 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 aefdc5b7a4..0000000000 --- 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/0003-Fixes-issue-429-stray-include-of-an-openssl-header-w.patch b/package/pppd/0003-Fixes-issue-429-stray-include-of-an-openssl-header-w.patch new file mode 100644 index 0000000000..b5f9f319f9 --- /dev/null +++ b/package/pppd/0003-Fixes-issue-429-stray-include-of-an-openssl-header-w.patch @@ -0,0 +1,31 @@ +From cf7ac82a610bbfee57512cba345f7d49c02563a2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eivind=20N=C3=A6ss?= +Date: Wed, 14 Jun 2023 23:19:46 +0000 +Subject: [PATCH] Fixes issue #429, stray include of an openssl header was + removed +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Eivind Næss + +Upstream: https://github.com/ppp-project/ppp/pull/431 + +Signed-off-by: Bernd Kuhls +--- + pppd/crypto_ms.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/pppd/crypto_ms.c b/pppd/crypto_ms.c +index a9ddd5fda..ccf8129d4 100644 +--- a/pppd/crypto_ms.c ++++ b/pppd/crypto_ms.c +@@ -122,8 +122,6 @@ MakeKey(const unsigned char *key, unsigned char *des_key) + DES_set_odd_parity((DES_cblock *)des_key); + } + +-#include +- + int + DesEncrypt(const unsigned char *clear, const unsigned char *key, unsigned char *cipher) + { diff --git a/package/pppd/0004-pppd-ppp-sha1.c-use-uint32_t-instead-of-u_int32_t.patch b/package/pppd/0004-pppd-ppp-sha1.c-use-uint32_t-instead-of-u_int32_t.patch new file mode 100644 index 0000000000..bce7687b9e --- /dev/null +++ b/package/pppd/0004-pppd-ppp-sha1.c-use-uint32_t-instead-of-u_int32_t.patch @@ -0,0 +1,64 @@ +From 7eb0cc63e38a1fcaff24bc3ca146c13414a1420e Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 18 Jun 2023 15:53:43 +0200 +Subject: [PATCH] pppd/ppp-sha1.c: use uint32_t instead of u_int32_t + +Fixes build with musl-libc toolchains. + +Upstream: https://github.com/ppp-project/ppp/pull/432 + +Signed-off-by: Bernd Kuhls +--- + pppd/ppp-sha1.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/pppd/ppp-sha1.c b/pppd/ppp-sha1.c +index ab4dcd5..9ff3a24 100644 +--- a/pppd/ppp-sha1.c ++++ b/pppd/ppp-sha1.c +@@ -110,14 +110,14 @@ static void sha1_clean(PPP_MD_CTX *ctx) + #include /* htonl() */ + + typedef struct { +- u_int32_t state[5]; +- u_int32_t count[2]; ++ uint32_t state[5]; ++ uint32_t count[2]; + unsigned char buffer[64]; + } SHA1_CTX; + + + static void +-SHA1_Transform(u_int32_t[5], const unsigned char[64]); ++SHA1_Transform(uint32_t[5], const unsigned char[64]); + + #define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) + +@@ -138,12 +138,12 @@ SHA1_Transform(u_int32_t[5], const unsigned char[64]); + /* Hash a single 512-bit block. This is the core of the algorithm. */ + + static void +-SHA1_Transform(u_int32_t state[5], const unsigned char buffer[64]) ++SHA1_Transform(uint32_t state[5], const unsigned char buffer[64]) + { +- u_int32_t a, b, c, d, e; ++ uint32_t a, b, c, d, e; + typedef union { + unsigned char c[64]; +- u_int32_t l[16]; ++ uint32_t l[16]; + } CHAR64LONG16; + CHAR64LONG16 *block; + +@@ -236,7 +236,7 @@ SHA1_Update(SHA1_CTX *context, const unsigned char *data, unsigned int len) + static void + SHA1_Final(unsigned char digest[20], SHA1_CTX *context) + { +- u_int32_t i, j; ++ uint32_t i, j; + unsigned char finalcount[8]; + + for (i = 0; i < 8; i++) { +-- +2.39.2 + diff --git a/package/pppd/Config.in b/package/pppd/Config.in index 898d95f0ee..88c2180a9b 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 3d471695bb..9a293e7d8d 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 425a5b2df592f4b79e251e5b0d3af48265904162cb0906691a5d35ec355b426d pppd-2.5.0.tar.gz +sha256 5d588eb3b157d52112afea935c88a7ff9efddc1e2d95a42c25d3b96ad9055008 LICENSE.BSD +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL-2 diff --git a/package/pppd/pppd.mk b/package/pppd/pppd.mk index 25d017a84f..616b843e3d 100644 --- a/package/pppd/pppd.mk +++ b/package/pppd/pppd.mk @@ -4,119 +4,46 @@ # ################################################################################ -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 = 2.5.0 +PPPD_SITE = $(call github,ppp-project,ppp,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_MAKE_OPTS = HAVE_INET6=y +PPPD_AUTORECONF = YES +PPPD_INSTALL_STAGING = YES +PPPD_CONF_OPTS = --enable-multilink 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 +else +PPPD_CONF_OPTS += --without-pcap endif -# 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 +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +PPPD_CONF_OPTS += --enable-systemd +PPPD_DEPENDENCIES += systemd +else +PPPD_CONF_OPTS += --disable-systemd 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 -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 -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/prboom/prboom.mk b/package/prboom/prboom.mk index 36692d29a3..c1ba05ff70 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 0000000000..e04d191ce0 --- /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/procps-ng/procps-ng.mk b/package/procps-ng/procps-ng.mk index 46f75a48ef..ba8958d146 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 0000000000..946fa68c63 --- /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 0000000000..19832e3897 --- /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 0000000000..8567bf3da3 --- /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/proftpd.hash b/package/proftpd/proftpd.hash index f950f26b86..5a7d153a31 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 398155222d..0820822e17 100644 --- a/package/proftpd/proftpd.mk +++ b/package/proftpd/proftpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROFTPD_VERSION = 1.3.8 +PROFTPD_VERSION = 1.3.8b PROFTPD_SITE = ftp://ftp.proftpd.org/distrib/source PROFTPD_LICENSE = GPL-2.0+ PROFTPD_LICENSE_FILES = COPYING diff --git a/package/proj/proj.hash b/package/proj/proj.hash index 96d94e458e..22e6a43bf7 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 bc924b41fb..0e913fa335 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/protobuf-c/Config.in b/package/protobuf-c/Config.in index d96cd7b382..a438b32221 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 ec00442277..aafd98416a 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 0742a33db2..2b3e86a1bc 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/proxychains-ng/proxychains-ng.mk b/package/proxychains-ng/proxychains-ng.mk index beb8909088..3573cf1f09 100644 --- a/package/proxychains-ng/proxychains-ng.mk +++ b/package/proxychains-ng/proxychains-ng.mk @@ -9,7 +9,7 @@ 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) && \ diff --git a/package/psplash/psplash-start.service b/package/psplash/psplash-start.service index b97e883e54..74cbc33955 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 249aa54039..f89bc5f4fe 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/pugixml/pugixml.hash b/package/pugixml/pugixml.hash index b828e03561..2446788d89 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 415227a40a..3935526af6 100644 --- a/package/pugixml/pugixml.mk +++ b/package/pugixml/pugixml.mk @@ -4,11 +4,11 @@ # ################################################################################ -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 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 631cb7f016..0000000000 --- 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 fac441e7dd..0000000000 --- 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 e770927f54..0000000000 --- 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 acbb56a07d..67f6cc6ef2 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 89191db541..254e05348d 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 diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk index 138b05ebb4..b918c70930 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 0000000000..d2abcb64cf --- /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/putty.hash b/package/putty/putty.hash index c691a4f975..84569a31e5 100644 --- a/package/putty/putty.hash +++ b/package/putty/putty.hash @@ -1,7 +1,7 @@ -# Hashes from: http://the.earth.li/~sgtatham/putty/0.78/{sha1,sha256,sha512}sums -sha1 198f01db6bea708e480fb11dd23026eda7b3f49f putty-0.78.tar.gz -sha256 274e01bcac6bd155dfd647b2f18f791b4b17ff313753aa919fcae2e32d34614f putty-0.78.tar.gz -sha512 d7a3e2eabd5f1f65fc0f3f1ee0789c30fbe891b57f63ddeac0b92befcb6aecd4a748f04a21c76ee42d992deb77c2e1a0454a71cc620ef26fbf23af660bd84bb5 putty-0.78.tar.gz +# Hashes from: http://the.earth.li/~sgtatham/putty/0.80/{sha1,sha256,sha512}sums +sha1 9c4a96f63ee3e927472191c935cc89228693c03a putty-0.80.tar.gz +sha256 2013c83a721b1753529e9090f7c3830e8fe4c80a070ccce764539badb3f67081 putty-0.80.tar.gz +sha512 c8a6b6fa54ecd8bcf4ec274fef51343dd9996e6458b250b5555c4dc88ded25e87f97277da482c29858510e65635112d541f559ab683635bd950572d850129f90 putty-0.80.tar.gz # Locally calculated -sha256 7b10c93f0d582e820a9e6f8c6abbcff54192e41e60644f4d09b96b14fdbc74f8 LICENCE +sha256 7ede37f344ee03436c155a375ecb6cdb42a77105baa6e7804bf43260dc4a0c54 LICENCE diff --git a/package/putty/putty.mk b/package/putty/putty.mk index 82b7464bb4..bff6e78074 100644 --- a/package/putty/putty.mk +++ b/package/putty/putty.mk @@ -4,12 +4,13 @@ # ################################################################################ -PUTTY_VERSION = 0.78 +PUTTY_VERSION = 0.80 PUTTY_SITE = http://the.earth.li/~sgtatham/putty/$(PUTTY_VERSION) PUTTY_LICENSE = MIT PUTTY_LICENSE_FILES = LICENCE PUTTY_CPE_ID_VENDOR = putty PUTTY_DEPENDENCIES = host-pkgconf +PUTTY_CONF_OPTS = -DPUTTY_GSSAPI=OFF ifeq ($(BR2_PACKAGE_LIBGTK3),y) PUTTY_DEPENDENCIES += libgtk3 @@ -17,4 +18,8 @@ else ifeq ($(BR2_PACKAGE_LIBGTK2),y) PUTTY_DEPENDENCIES += libgtk2 endif +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 b3dd71f74b..ed4cc21d89 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 27060cf07e..f7243da8be 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 89925bb300..90b5ac63fa 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 40c0e55fc5..9c59804d6e 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 603fc66d0c..27f9e5cea6 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-aiocoap/python-aiocoap.hash b/package/python-aiocoap/python-aiocoap.hash index ab50ff0958..c9d73cda26 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 03ca0411b7401bfd6e9bdaefe09bd88a aiocoap-0.4.5.tar.gz -sha256 906c927822185c8acf04fdcc1dd98fd845f31dabf5d5e395c39137dcbd6ba1e3 aiocoap-0.4.5.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 92f47b7a4f..73a0d61eba 100644 --- a/package/python-aiocoap/python-aiocoap.mk +++ b/package/python-aiocoap/python-aiocoap.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_AIOCOAP_VERSION = 0.4.5 +PYTHON_AIOCOAP_VERSION = 0.4.7 PYTHON_AIOCOAP_SOURCE = aiocoap-$(PYTHON_AIOCOAP_VERSION).tar.gz -PYTHON_AIOCOAP_SITE = https://files.pythonhosted.org/packages/65/63/9051af6a2fc498f50b71f23bdbde0cc1d1f0a69eb767776dbf6d1411e240 +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 b8237ed76c..b52140cca5 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 0f7e4db85113d1ffdc5f0fa1dc0a37de aioconsole-0.6.2.tar.gz -sha256 bac11286f1062613d2523ceee1ba81c676cd269812b865b66b907448a7b5f63e aioconsole-0.6.2.tar.gz +md5 e8cb2e4dc434e20a3e75acb54d89bdf3 aioconsole-0.7.0.tar.gz +sha256 c702d24406378d37d9873f91e03ce71520bac503d5ab03f81d8b563ff010bd54 aioconsole-0.7.0.tar.gz # Locally computed sha256 checksums sha256 e1c0ad728983d8a57335e52cf1064f1affd1d454173d8cebd3ed8b4a72b48704 LICENSE diff --git a/package/python-aioconsole/python-aioconsole.mk b/package/python-aioconsole/python-aioconsole.mk index 602564c290..b109d8e358 100644 --- a/package/python-aioconsole/python-aioconsole.mk +++ b/package/python-aioconsole/python-aioconsole.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOCONSOLE_VERSION = 0.6.2 +PYTHON_AIOCONSOLE_VERSION = 0.7.0 PYTHON_AIOCONSOLE_SOURCE = aioconsole-$(PYTHON_AIOCONSOLE_VERSION).tar.gz -PYTHON_AIOCONSOLE_SITE = https://files.pythonhosted.org/packages/5f/14/e5c634fad6a95ffd602fbbd1aa107f05a8ffb79d33ec0d0477f3b137f8a9 +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 2cdedc6f95..bf65691b89 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 2318dcab3a..f5cbb65334 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 e7799c7ff7..3dc9281de7 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 d648a31366030470c97401741747065f aiofiles-23.1.0.tar.gz -sha256 edd247df9a19e0db16534d4baaf536d6609a43e1de5401d7a4c1c148753a1635 aiofiles-23.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 96bd636a4a..582f7908cd 100644 --- a/package/python-aiofiles/python-aiofiles.mk +++ b/package/python-aiofiles/python-aiofiles.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOFILES_VERSION = 23.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/40/a0/07be94aecba162ed5147359f9883e82afd2ac13aed33678a008fc8c36f8b +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 3cd9462d72..441574bbe2 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 319d20ffc5..8eb38e86cc 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-security/python-aiohttp-security.hash b/package/python-aiohttp-security/python-aiohttp-security.hash index 2c23df14d6..6a76070298 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 9ab3b16b30..274f60423f 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 35c162b948..0507106fe7 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 ec8334b193..542a46f032 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 4bb59a17563df9a692c64418224ade12 aiohttp-3.8.5.tar.gz -sha256 b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc aiohttp-3.8.5.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 50b8268070..315d68cb2e 100644 --- a/package/python-aiohttp/python-aiohttp.mk +++ b/package/python-aiohttp/python-aiohttp.mk @@ -4,13 +4,13 @@ # ################################################################################ -PYTHON_AIOHTTP_VERSION = 3.8.5 +PYTHON_AIOHTTP_VERSION = 3.9.3 PYTHON_AIOHTTP_SOURCE = aiohttp-$(PYTHON_AIOHTTP_VERSION).tar.gz -PYTHON_AIOHTTP_SITE = https://files.pythonhosted.org/packages/d6/12/6fc7c7dcc84e263940e87cbafca17c1ef28f39dae6c0b10f51e4ccc764ee +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 2dc4f3f955..0cdd1c106f 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 511953713b..baaa61b331 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 075d807d8b..9e4a55e13c 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 be1c40b714..de0ed820a0 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 435900ae32..9f3787f9b3 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 652702c479..f1c0e37667 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 a8860097d5..8eaddcbfa6 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 0000000000..c95c2b9510 --- /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 0000000000..e06061346c --- /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 0000000000..e513d53c02 --- /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 a53dde7f7f..33fe3c3682 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 c84c46c84c..1f752ebc7e 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 de9d9f92a49a5e3ae5a978018927f474 alembic-1.10.2.tar.gz -sha256 457eafbdc0769d855c2c92cbafe6b7f319f916c80cf4ed02b8f394f38b51b89d alembic-1.10.2.tar.gz +md5 29579d34ea694627280b52a3d3116664 alembic-1.13.1.tar.gz +sha256 4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595 alembic-1.13.1.tar.gz # Locally computed sha256 checksums sha256 b285268a86f4416eaf4d05b2ae3880c156f7c59a8f935a402bc056eafb33af08 LICENSE diff --git a/package/python-alembic/python-alembic.mk b/package/python-alembic/python-alembic.mk index 4f605b8f60..52e30e39ba 100644 --- a/package/python-alembic/python-alembic.mk +++ b/package/python-alembic/python-alembic.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ALEMBIC_VERSION = 1.10.2 +PYTHON_ALEMBIC_VERSION = 1.13.1 PYTHON_ALEMBIC_SOURCE = alembic-$(PYTHON_ALEMBIC_VERSION).tar.gz -PYTHON_ALEMBIC_SITE = https://files.pythonhosted.org/packages/d6/02/66ed327f944f3f85423096c438d7d290da5af21a7aecf9e5b9f09d9e34b2 +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 af3d0faad2..ab8b868b97 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 205bfdb86c..0692f4a8e9 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 0000000000..36525a526b --- /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 0000000000..1663bcb51f --- /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 0000000000..8bc617069d --- /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 0000000000..d843f37af0 --- /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 0000000000..e77d30249c --- /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 0000000000..32c2286157 --- /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/python-apispec.hash b/package/python-apispec/python-apispec.hash index f8a2350eaf..9c47a2c1a6 100644 --- a/package/python-apispec/python-apispec.hash +++ b/package/python-apispec/python-apispec.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/apispec/json -md5 d6cc7586754cf1c653ffb7ee83955d3a apispec-6.3.0.tar.gz -sha256 6cb08d92ce73ff0b3bf46cb2ea5c00d57289b0f279fb0256a3df468182ba5344 apispec-6.3.0.tar.gz +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 index 744fb76810..aee0e16840 100644 --- a/package/python-apispec/python-apispec.mk +++ b/package/python-apispec/python-apispec.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_APISPEC_VERSION = 6.3.0 +PYTHON_APISPEC_VERSION = 6.3.1 PYTHON_APISPEC_SOURCE = apispec-$(PYTHON_APISPEC_VERSION).tar.gz -PYTHON_APISPEC_SITE = https://files.pythonhosted.org/packages/3f/1e/207c3e61c805eef214d7e5c58106312f9af4733b07f470224e4e309dc65e +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 diff --git a/package/python-argh/python-argh.hash b/package/python-argh/python-argh.hash index abfcec98f3..bac9df42d6 100644 --- a/package/python-argh/python-argh.hash +++ b/package/python-argh/python-argh.hash @@ -1,6 +1,6 @@ -# md5 from https://pypi.python.org/pypi/argh/json -md5 d51d4ed7d82ce24a981169074f3e64e1 argh-0.28.1.tar.gz -sha256 b2093086f0e809a3ecc24b64a2145309ee8f56d034936cd59e57c558a357329d argh-0.28.1.tar.gz -# Locally computed +# 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 82cef822e9..0da3281d49 100644 --- a/package/python-argh/python-argh.mk +++ b/package/python-argh/python-argh.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ARGH_VERSION = 0.28.1 +PYTHON_ARGH_VERSION = 0.31.0 PYTHON_ARGH_SOURCE = argh-$(PYTHON_ARGH_VERSION).tar.gz -PYTHON_ARGH_SITE = https://files.pythonhosted.org/packages/bf/77/6758074453c83c7ac0456d397e95aaa91b33fbd2ec977dcf38be736ea177 +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 = COPYING COPYING.LESSER diff --git a/package/python-argon2-cffi/python-argon2-cffi.hash b/package/python-argon2-cffi/python-argon2-cffi.hash index 09da5855a3..e11195e1e2 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 0fb3e50ff3..238271f5f7 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 244956879c..4a43ef98a7 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 30fb88e8c0..6120069abf 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 1e34ef09c8..793cc2640f 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 26d8e78e47..7f3bca57c0 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 562ecd896dcbf5576db8c29cb1881ca4 asgiref-3.6.0.tar.gz -sha256 9567dfe7bd8d3c8c892227827c41cce860b368104c3431da67a0c5a65a949506 asgiref-3.6.0.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 bfd90f10e8..abd8962476 100644 --- a/package/python-asgiref/python-asgiref.mk +++ b/package/python-asgiref/python-asgiref.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ASGIREF_VERSION = 3.6.0 +PYTHON_ASGIREF_VERSION = 3.7.2 PYTHON_ASGIREF_SOURCE = asgiref-$(PYTHON_ASGIREF_VERSION).tar.gz -PYTHON_ASGIREF_SITE = https://files.pythonhosted.org/packages/78/2d/797c0537426266d6c9377a2ed6a4ac61e50c2d5b1ab4da101a4b9bfe26e2 +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/python-asttokens.hash b/package/python-asttokens/python-asttokens.hash index 6529e4db41..9042c3002d 100644 --- a/package/python-asttokens/python-asttokens.hash +++ b/package/python-asttokens/python-asttokens.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/asttokens/json -md5 a9ae6ae0f85398e511bcb9ec87695eed asttokens-2.2.1.tar.gz -sha256 4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3 asttokens-2.2.1.tar.gz +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 index 8a8ce1ddd9..4806d17915 100644 --- a/package/python-asttokens/python-asttokens.mk +++ b/package/python-asttokens/python-asttokens.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ASTTOKENS_VERSION = 2.2.1 +PYTHON_ASTTOKENS_VERSION = 2.4.1 PYTHON_ASTTOKENS_SOURCE = asttokens-$(PYTHON_ASTTOKENS_VERSION).tar.gz -PYTHON_ASTTOKENS_SITE = https://files.pythonhosted.org/packages/c8/e3/b0b4f32162621126fbdaba636c152c6b6baec486c99f48686e66343d638f +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 diff --git a/package/python-async-lru/python-async-lru.hash b/package/python-async-lru/python-async-lru.hash index c6f11aff1d..0a7cd03be9 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 825ff7d35d1cd76f1b1ae44f38bf69f5 async-lru-2.0.2.tar.gz -sha256 3b87ec4f2460c52cc7916a0138cc606b584c75d1ef7d661853c95d1d3acb869a async-lru-2.0.2.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 d707249e29..16c6a32ffd 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 = 2.0.2 +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/92/16/be197573adca3d584dbd64d508488e95e36324ea036d751564d2f88d74bf +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 0ecf1ef5ae..d46489396f 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 b3c5f79e45..9760b8ae25 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 0000000000..eef4478f3c --- /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 0000000000..f74cbe9c83 --- /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 0000000000..1f6b9d79a2 --- /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 0e94c7cef4..d8c6d147d5 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 6623fed7ffa22261ba25fccaf4d99539 attrs-23.1.0.tar.gz -sha256 6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015 attrs-23.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 0d704ea111..8a1236cc44 100644 --- a/package/python-attrs/python-attrs.mk +++ b/package/python-attrs/python-attrs.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ATTRS_VERSION = 23.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/97/90/81f95d5f705be17872843536b1868f351805acf6971251ff07c1b8334dbb +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 diff --git a/package/python-avro/python-avro.hash b/package/python-avro/python-avro.hash index 0d457a11fd..e57b6a722b 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 6193cbbd8e..4e9db9fefc 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 f2026cafb3..ab4e022564 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 9ac7d8aac42c17a1e6d922017058d2c8 Babel-2.12.1.tar.gz -sha256 cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455 Babel-2.12.1.tar.gz +md5 3bec3f4c842144c15d839bdde41a44d4 Babel-2.14.0.tar.gz +sha256 6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363 Babel-2.14.0.tar.gz # Locally computed sha256 checksums sha256 908e0ad72053ae27c1d17e3340bd14cff9bf935992ed56526d17c983ab6e7af7 LICENSE diff --git a/package/python-babel/python-babel.mk b/package/python-babel/python-babel.mk index 69c38c1a6e..eb39b9aef7 100644 --- a/package/python-babel/python-babel.mk +++ b/package/python-babel/python-babel.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BABEL_VERSION = 2.12.1 +PYTHON_BABEL_VERSION = 2.14.0 PYTHON_BABEL_SOURCE = Babel-$(PYTHON_BABEL_VERSION).tar.gz -PYTHON_BABEL_SITE = https://files.pythonhosted.org/packages/ba/42/54426ba5d7aeebde9f4aaba9884596eb2fe02b413ad77d62ef0b0422e205 +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 diff --git a/package/python-backcall/python-backcall.mk b/package/python-backcall/python-backcall.mk index 2ead3421a8..ea9ffb863c 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 1777563190..0387af8a65 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 428d2737d94d238b146081c03d3b2b87 beautifulsoup4-4.12.0.tar.gz -sha256 c5fceeaec29d09c84970e47c65f2f0efe57872f7cff494c9691a26ec0ff13234 beautifulsoup4-4.12.0.tar.gz +md5 b49a6696a762e946c2be97c36a5adaa8 beautifulsoup4-4.12.2.tar.gz +sha256 492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da beautifulsoup4-4.12.2.tar.gz # Locally computed sha256 checksums sha256 55b4d8d4b1e5bc86d10efac91b74c87bcb77526b0f5b9edaf8b9cd2adc7397b2 LICENSE diff --git a/package/python-beautifulsoup4/python-beautifulsoup4.mk b/package/python-beautifulsoup4/python-beautifulsoup4.mk index 7896dd0f39..4c8b996d07 100644 --- a/package/python-beautifulsoup4/python-beautifulsoup4.mk +++ b/package/python-beautifulsoup4/python-beautifulsoup4.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_BEAUTIFULSOUP4_VERSION = 4.12.0 +PYTHON_BEAUTIFULSOUP4_VERSION = 4.12.2 PYTHON_BEAUTIFULSOUP4_SOURCE = beautifulsoup4-$(PYTHON_BEAUTIFULSOUP4_VERSION).tar.gz -PYTHON_BEAUTIFULSOUP4_SITE = https://files.pythonhosted.org/packages/c5/4c/b5b7d6e1d4406973fb7f4e5df81c6f07890fa82548ac3b945deed1df9d48 -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-bitarray/Config.in b/package/python-bitarray/Config.in new file mode 100644 index 0000000000..38d685f4fd --- /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 0000000000..d91a28af20 --- /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 0000000000..f86320c112 --- /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 93d7682577..82d0bb29c6 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 f078cc7f14..1889983f47 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 11c9375707..983491303d 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 aae230dac2..8462e19d39 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 97e2987748f1def21e1910a258027c17 bleak-0.20.2.tar.gz -sha256 6c92a47abe34e6dea8ffc5cea9457cbff6e1be966854839dbc25cddb36b79ee4 bleak-0.20.2.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 9532774ae8..ed3c3f2f93 100644 --- a/package/python-bleak/python-bleak.mk +++ b/package/python-bleak/python-bleak.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BLEAK_VERSION = 0.20.2 +PYTHON_BLEAK_VERSION = 0.21.1 PYTHON_BLEAK_SOURCE = bleak-$(PYTHON_BLEAK_VERSION).tar.gz -PYTHON_BLEAK_SITE = https://files.pythonhosted.org/packages/87/95/a6f614fae12a6fe1cf517f8600004dd6abd4af0e0e1177c03164d0637e81 +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/python-blinker.hash b/package/python-blinker/python-blinker.hash index 28416d9fe2..e0c1d600eb 100644 --- a/package/python-blinker/python-blinker.hash +++ b/package/python-blinker/python-blinker.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/blinker/json -md5 1c7375d100a67ba368d9cde0ab2d8cfa blinker-1.6.2.tar.gz -sha256 4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213 blinker-1.6.2.tar.gz +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 index 6af0f811cb..234126a500 100644 --- a/package/python-blinker/python-blinker.mk +++ b/package/python-blinker/python-blinker.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BLINKER_VERSION = 1.6.2 +PYTHON_BLINKER_VERSION = 1.7.0 PYTHON_BLINKER_SOURCE = blinker-$(PYTHON_BLINKER_VERSION).tar.gz -PYTHON_BLINKER_SITE = https://files.pythonhosted.org/packages/e8/f9/a05287f3d5c54d20f51a235ace01f50620984bc7ca5ceee781dc645211c5 +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 diff --git a/package/python-bluezero/python-bluezero.hash b/package/python-bluezero/python-bluezero.hash index 6bedf62b27..e9ccb9133e 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 34efb6155c..8e078f1073 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 eae5081f34..02440a2960 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 212358fb8b9cbea44a63ab9185c628e8 boto3-1.26.115.tar.gz -sha256 2272a060005bf8299f7342cbf1344304eb44b7060cddba6784f676e3bc737bb8 boto3-1.26.115.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 78e410d804..52bb5bc3b1 100644 --- a/package/python-boto3/python-boto3.mk +++ b/package/python-boto3/python-boto3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BOTO3_VERSION = 1.26.115 +PYTHON_BOTO3_VERSION = 1.34.14 PYTHON_BOTO3_SOURCE = boto3-$(PYTHON_BOTO3_VERSION).tar.gz -PYTHON_BOTO3_SITE = https://files.pythonhosted.org/packages/78/a8/b07686bd9a56e2556708d562c6b8ade423f3cf4cb1b7c3cbc9ed6c24d022 +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 1f5e5c0d3b..47fb30f960 100644 --- a/package/python-botocore/python-botocore.hash +++ b/package/python-botocore/python-botocore.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/botocore/json -md5 efadef54dc1959898a42d4cae949572f botocore-1.31.20.tar.gz -sha256 485ef175cd011ebc965f4577d8cc02a226c46bd608dd2bb75ce6938328cff0fd botocore-1.31.20.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 b76d1c64d7..485e973135 100644 --- a/package/python-botocore/python-botocore.mk +++ b/package/python-botocore/python-botocore.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BOTOCORE_VERSION = 1.31.20 +PYTHON_BOTOCORE_VERSION = 1.34.14 PYTHON_BOTOCORE_SOURCE = botocore-$(PYTHON_BOTOCORE_VERSION).tar.gz -PYTHON_BOTOCORE_SITE = https://files.pythonhosted.org/packages/f9/0d/ec24cb66b7651268462d5eb5d9d3c140a99f487db3ed58a45617991b11e8 +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 tests/unit/auth/aws4_testsuite/LICENSE diff --git a/package/python-brotli/Config.in b/package/python-brotli/Config.in index c31315392b..ca493bfeff 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 de4964dd25..e8036d3bb8 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 ff78e6ab2c..865c4e363f 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 f053922ac0..5f7585af6a 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 67cf87c5d66fe389949a314849f68863 bsdiff4-1.2.3.tar.gz -sha256 1b95ce93b9f306846f6c91c9d0e3eb6590a4c85ac2bbe72b5f60d9db82ad2a1c bsdiff4-1.2.3.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 05fe1bef25..71d212fb28 100644 --- a/package/python-bsdiff4/python-bsdiff4.mk +++ b/package/python-bsdiff4/python-bsdiff4.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BSDIFF4_VERSION = 1.2.3 +PYTHON_BSDIFF4_VERSION = 1.2.4 PYTHON_BSDIFF4_SOURCE = bsdiff4-$(PYTHON_BSDIFF4_VERSION).tar.gz -PYTHON_BSDIFF4_SITE = https://files.pythonhosted.org/packages/a8/0e/a677b62d35e3a9d074eafb5b16b569d5d6870a6ead02e8c830e4d4e73db7 +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-cachetools/Config.in b/package/python-cachetools/Config.in new file mode 100644 index 0000000000..550e3d2560 --- /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 0000000000..7b6b939191 --- /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 0000000000..c841e0761f --- /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 0000000000..ebc054e617 --- /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 0000000000..2fd5468ed4 --- /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 68a9ffca71..a00c9263cf 100644 --- a/package/python-can/Config.in +++ b/package/python-can/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_PYTHON_CAN bool "python-can" - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime 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 73be230201..4e706519be 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 ba98337d5d..c7100e3dda 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 e6485e72f0..fc3668bc6c 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 d51443bdc8a55faea63c9da82196dd47 canopen-2.1.0.tar.gz -sha256 bc126bb1dcb62e3b34d8a12e38a07b5aa8319c17457c9bfe208f0bbbda90ff61 canopen-2.1.0.tar.gz +md5 2a757a6996f896d2e6afbf2bcf598df2 canopen-2.2.0.tar.gz +sha256 5f18651b9df6e4769b9882e969f934ae773ef24a45aabc3334b586982048d08c canopen-2.2.0.tar.gz # Locally computed sha256 checksums -sha256 d9035caf7b8b135899da92a2730e2ac2e9f5ae3220dc98bd661be18045fcf689 LICENSE.txt +sha256 0740d30978affcd91c0fc817b7cf942a332381bf0380fe17e60c6a0b377c6e0d LICENSE.txt diff --git a/package/python-canopen/python-canopen.mk b/package/python-canopen/python-canopen.mk index a0f5220ded..963c4ab801 100644 --- a/package/python-canopen/python-canopen.mk +++ b/package/python-canopen/python-canopen.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CANOPEN_VERSION = 2.1.0 +PYTHON_CANOPEN_VERSION = 2.2.0 PYTHON_CANOPEN_SOURCE = canopen-$(PYTHON_CANOPEN_VERSION).tar.gz -PYTHON_CANOPEN_SITE = https://files.pythonhosted.org/packages/29/d1/54462c949c384b1a9a2bd260143a8ec6f4259a18d119bd122e8f8a791b50 +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 70c35ca864..42ed828d53 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 a2fcd73b74..5040301867 100644 --- a/package/python-cbor2/python-cbor2.mk +++ b/package/python-cbor2/python-cbor2.mk @@ -4,9 +4,9 @@ # ################################################################################ -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 diff --git a/package/python-certifi/python-certifi.hash b/package/python-certifi/python-certifi.hash index fe0748adb8..48e25119e5 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 10a72845d3fc2c38d212b4b7b1872c76 certifi-2023.7.22.tar.gz -sha256 539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082 certifi-2023.7.22.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 9b5f853682..90aabaa1ac 100644 --- a/package/python-certifi/python-certifi.mk +++ b/package/python-certifi/python-certifi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CERTIFI_VERSION = 2023.7.22 +PYTHON_CERTIFI_VERSION = 2023.11.17 PYTHON_CERTIFI_SOURCE = certifi-$(PYTHON_CERTIFI_VERSION).tar.gz -PYTHON_CERTIFI_SITE = https://files.pythonhosted.org/packages/98/98/c2ff18671db109c9f10ed27f5ef610ae05b73bd876664139cf95bd1429aa +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 ae7f9a477f..0573d6ec06 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 c1fcfda5fe..1f83db079b 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 d25f8ffe31..785b05cac0 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 eaab5814a6..943712b3fd 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 727f403aaf..9186f07f17 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 7887dd769d..bf0ed47df6 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 42646aa513..16e5f303b6 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 05e52fe2a6..8ef0e3fed0 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 dbb8c5b745beddbaae67d06dce0b7c29 charset-normalizer-3.2.0.tar.gz -sha256 3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace charset-normalizer-3.2.0.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 46f8530b5f..914b96eb69 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.2.0 +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/2a/53/cf0a48de1bdcf6ff6e1c9a023f5f523dfe303e4024f216feac64b6eb7f67 +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 0000000000..837f2804d2 --- /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 bb9b4abbc3..4c907ff8c6 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 c3556109cd..d103eb6f96 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 f75065c7da..19aa7ae193 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 9b2f8ed833..0fc04d638a 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 d19686712c4a599bc8bf1f6f3ea7947d click-8.1.4.tar.gz -sha256 b97d0c74955da062a7d4ef92fadb583806a585b2ea81958a81bd72726cbb8e37 click-8.1.4.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 a6f2c3773c..0e29ff034e 100644 --- a/package/python-click/python-click.mk +++ b/package/python-click/python-click.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CLICK_VERSION = 8.1.4 +PYTHON_CLICK_VERSION = 8.1.7 PYTHON_CLICK_SOURCE = click-$(PYTHON_CLICK_VERSION).tar.gz -PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/77/88/b0cc5fe95c31c301e9823ea9b028f669c0dcfa205ff71111037a5ed4892c +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 diff --git a/package/python-colorlog/python-colorlog.hash b/package/python-colorlog/python-colorlog.hash index f4d0dd4c0e..9df94b19ba 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 12a1c8ec77..f96318ce5a 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 8fc38f61a6..e090501056 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 d0dd421e8d..3446a86e8d 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 8e646d82ba..7a246e882a 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 783d198d06..466c9bf455 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 f406d6739b..395de7a18b 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 3b0bb56106..46cae959ea 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 0000000000..313d270dda --- /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 0000000000..8f23d107ae --- /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 0000000000..f305793cb2 --- /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 9809f1ed84..86e6f2ecf2 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 1aab7f5084..c97f8808c1 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 d9519096df..10ba469d5a 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 0a71aa83eed18752c2850632d84cfd89 python-crontab-2.7.1.tar.gz -sha256 b21af4647c7bbb848fef2f020616c6b0289dcb9f94b4f991a55310ff9bec5749 python-crontab-2.7.1.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 1c2802ef61..21a9edef9b 100644 --- a/package/python-crontab/python-crontab.mk +++ b/package/python-crontab/python-crontab.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_CRONTAB_VERSION = 2.7.1 -PYTHON_CRONTAB_SITE = https://files.pythonhosted.org/packages/6a/b6/94d861e868698b8e3f288f7e4684e30535b0d9a6b38316ee0a3d4d31e6ae +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 0ff7cae21a..0000000000 --- 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 12027d779c..0000000000 --- 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 ab2d4709bd..0000000000 --- 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 aadcb2c360..0000000000 --- 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 4441578a29..0000000000 --- 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 aae61cd2e8..0000000000 --- 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.mk b/package/python-cryptography/python-cryptography.mk index 67aa20742d..07c88ec3da 100644 --- a/package/python-cryptography/python-cryptography.mk +++ b/package/python-cryptography/python-cryptography.mk @@ -7,36 +7,14 @@ PYTHON_CRYPTOGRAPHY_VERSION = 39.0.2 PYTHON_CRYPTOGRAPHY_SOURCE = cryptography-$(PYTHON_CRYPTOGRAPHY_VERSION).tar.gz PYTHON_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/fa/f3/f4b8c175ea9a1de650b0085858059050b7953a93d66c97ed89b93b232996 -PYTHON_CRYPTOGRAPHY_SETUP_TYPE = setuptools +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 cb989131a3..d93135a989 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 fff9e393f3..be5be30eee 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 cef416a86d..4c33c293a5 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 03155d7241..df7abdf927 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 dc75d098d3..08ad8f6d84 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 138dba31e20e178b431a2e403154f906 Cython-0.29.35.tar.gz -sha256 6e381fa0bf08b3c26ec2f616b19ae852c06f5750f4290118bf986b6f85c8c527 Cython-0.29.35.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 145e804bd7..47e105c065 100644 --- a/package/python-cython/python-cython.mk +++ b/package/python-cython/python-cython.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CYTHON_VERSION = 0.29.35 +PYTHON_CYTHON_VERSION = 0.29.36 PYTHON_CYTHON_SOURCE = Cython-$(PYTHON_CYTHON_VERSION).tar.gz -PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/da/a0/298340fb8412574a0b00a0d9856aa27e7038da429b9e31d6825173d1e6bd +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 005a969207..695b8fb9b3 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 aa8019f4be..f4d4205a31 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 3edec5cc8c..ee5644a7ff 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 0feef55310..6cac4f27e5 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/python-dbus-fast.hash b/package/python-dbus-fast/python-dbus-fast.hash index dce258c0f9..08d2675443 100644 --- a/package/python-dbus-fast/python-dbus-fast.hash +++ b/package/python-dbus-fast/python-dbus-fast.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dbus-fast/json -md5 1fc61ba29ed79162c651be4bae4a9dee dbus_fast-1.86.0.tar.gz -sha256 ca376a360f1bc2c3d59e9edfb5e4de5be389cca37e8c92f4539176ddf755341e dbus_fast-1.86.0.tar.gz +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 index 1456d5600d..b890177c74 100644 --- a/package/python-dbus-fast/python-dbus-fast.mk +++ b/package/python-dbus-fast/python-dbus-fast.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DBUS_FAST_VERSION = 1.86.0 +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/08/9d/ad27f451198724d6e5b4f0435a13f2b2f839716bbcdede2ccf6d99743ec5 +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 diff --git a/package/python-decouple/Config.in b/package/python-decouple/Config.in new file mode 100644 index 0000000000..528f43d0cb --- /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 0000000000..cf1290c90e --- /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 0000000000..c0d0cdb909 --- /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.mk b/package/python-dicttoxml/python-dicttoxml.mk index c26c16b72a..eb0049fd03 100644 --- a/package/python-dicttoxml/python-dicttoxml.mk +++ b/package/python-dicttoxml/python-dicttoxml.mk @@ -7,7 +7,7 @@ PYTHON_DICTTOXML_VERSION = 1.7.16 PYTHON_DICTTOXML_SOURCE = dicttoxml-$(PYTHON_DICTTOXML_VERSION).tar.gz PYTHON_DICTTOXML_SITE = https://files.pythonhosted.org/packages/ee/c9/3132427f9e64d572688e6a1cbe3d542d1a03f676b81fb600f3d1fd7d2ec5 -PYTHON_DICTTOXML_SETUP_TYPE = distutils +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 0000000000..1a14e6ba77 --- /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 0000000000..2eba3ae64f --- /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 3d3e4258de..7f8277896d 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 e079d8e265..05faab3888 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/python-django.hash b/package/python-django/python-django.hash index ee1776b44f..d5684a083c 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 3720c85a8c25cacbce2f95d345d0f5ad Django-4.1.10.tar.gz -sha256 56343019a9fd839e2e5bf203daf45f25af79d5bffa4c71d56eae4f4404d82ade Django-4.1.10.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 61dfd54dcd..258ff9e0c1 100644 --- a/package/python-django/python-django.mk +++ b/package/python-django/python-django.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 4.1.10 +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/70/d4/eded564fa5928f68771d082ec0eef4d023f9d19dfa1d2923305bc3e62afe +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 b43217edad..0000000000 --- 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 29441b41ea..77ffb5dedc 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 43030ae476..1459ec8881 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-docutils/python-docutils.hash b/package/python-docutils/python-docutils.hash index 6a36f362e9..2386cc2891 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 d06521d10f..2b496f0d46 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 89293baec6..26840e5f0c 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 0f3687de5f..d6301af9db 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 961d0e04b2..5baad45e64 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 734ff3f681..3e1dd22133 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 dbdf43160c..e1dd5009fd 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 d3d49c2520..321e87e0a3 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 3c28c44cc3..a34c7ad20e 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 db67e7a16d..e60d50f9d6 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 651226cc9c..c1b02350bc 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 388e669155..67092402b4 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 36243fa89e..4099957971 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 e1d3188658..490b4e7e9c 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 fbad6fb6024580fd2645331f92a74555 esptool-4.5.1.tar.gz -sha256 e3eb59836123e5ebf793ef639311f7d85645526487d8b1c2b51159b455106b9a esptool-4.5.1.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 34bdf6cc96..648748237d 100644 --- a/package/python-esptool/python-esptool.mk +++ b/package/python-esptool/python-esptool.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_ESPTOOL_VERSION = 4.5.1 +PYTHON_ESPTOOL_VERSION = 4.7.0 PYTHON_ESPTOOL_SOURCE = esptool-$(PYTHON_ESPTOOL_VERSION).tar.gz -PYTHON_ESPTOOL_SITE = https://files.pythonhosted.org/packages/04/80/8eb97d1793cfaf830a4c0a7ea1d8f0674ccba8c23b7d02dcce074b5f44ea +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-executing/python-executing.hash b/package/python-executing/python-executing.hash index 40fd43b5fd..e21418aae9 100644 --- a/package/python-executing/python-executing.hash +++ b/package/python-executing/python-executing.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/executing/json -md5 e6fa9a6abf00555ccc8a6b3524729238 executing-1.2.0.tar.gz -sha256 19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107 executing-1.2.0.tar.gz +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 index 4c968323ea..071e867941 100644 --- a/package/python-executing/python-executing.mk +++ b/package/python-executing/python-executing.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_EXECUTING_VERSION = 1.2.0 +PYTHON_EXECUTING_VERSION = 2.0.1 PYTHON_EXECUTING_SOURCE = executing-$(PYTHON_EXECUTING_VERSION).tar.gz -PYTHON_EXECUTING_SITE = https://files.pythonhosted.org/packages/8f/ac/89ff37d8594b0eef176b7cec742ac868fef853b8e18df0309e3def9f480b +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 diff --git a/package/python-falcon/python-falcon.hash b/package/python-falcon/python-falcon.hash index 497b5d2b57..2d54d27837 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 b5ebc399dc..6c96bf16eb 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 0000000000..a54b072f09 --- /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 0000000000..dd5e224bde --- /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 0000000000..abfb41b5b6 --- /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 0000000000..d4a527c601 --- /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 0000000000..c16b7d22de --- /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 0000000000..a2191c73b7 --- /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 4ef7afed00..3013cb6789 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 40eeb4a2963e1b07b8eab12b5db08418 filelock-3.9.0.tar.gz -sha256 7b319f24340b51f55a2bf7a12ac0755a9b03e718311dac567a0f4f7fabd2f5de filelock-3.9.0.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 02759935ad..a32517b1ad 100644 --- a/package/python-filelock/python-filelock.mk +++ b/package/python-filelock/python-filelock.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FILELOCK_VERSION = 3.9.0 +PYTHON_FILELOCK_VERSION = 3.13.1 PYTHON_FILELOCK_SOURCE = filelock-$(PYTHON_FILELOCK_VERSION).tar.gz -PYTHON_FILELOCK_SITE = https://files.pythonhosted.org/packages/0b/dc/eac02350f06c6ed78a655ceb04047df01b02c6b7ea3fc02d4df24ca87d24 +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 diff --git a/package/python-flask-babel/Config.in b/package/python-flask-babel/Config.in index 272d9ef1c1..1248783e80 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 eae77ff51d..b946561308 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-02f7b566-78ef-46b7-be0e-da35593e2dc2 -md5 ad0a1b69044dde430ad9319d3a2f7b47 flask_babel-3.1.0.tar.gz -sha256 be015772c5d7f046f3b99c508dcf618636eb93d21b713b356db79f3e79f69f39 flask_babel-3.1.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 34c9559d1c..b3ecdf6cf6 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 = 3.1.0 +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/35/83/f31a4ff688168f9c8a73d80ebfc785dcd7703474a0802b25a78d54edd07c +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 e2e84797f9..fc0908e870 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 94ec262db8..ced7d9dcea 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 d600157263..bfcaf63c64 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 901234762e..55a752bf22 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 c88b70f2d5..af034ae751 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 394fe197e3..ed10c98f5a 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/python-flask-smorest.hash b/package/python-flask-smorest/python-flask-smorest.hash index 2c9cf3a51a..b468c48fd8 100644 --- a/package/python-flask-smorest/python-flask-smorest.hash +++ b/package/python-flask-smorest/python-flask-smorest.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/flask-smorest/json -md5 d7f8b4f7c9c6c2607dfc68bd5bbbd52d flask-smorest-0.42.0.tar.gz -sha256 868421b29e060a602e3739c2caf7b97cfe21c3ac488f51a2b5e95e168dd3bec2 flask-smorest-0.42.0.tar.gz +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 index ac4ff188a5..6eb1abc6fa 100644 --- a/package/python-flask-smorest/python-flask-smorest.mk +++ b/package/python-flask-smorest/python-flask-smorest.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_SMOREST_VERSION = 0.42.0 +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/45/ec/9ceb51a4b8a20ae66bfc7e83ad6781f03a9f37cde6a4111a65aa6cb669a2 +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 diff --git a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash index 50ca14371d..637733d002 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 ca6fd0c793..2ee53d4b00 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 9d21ffab2f..f426757955 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 007c1ff973c63096dec0fa805412d8ad Flask-WTF-1.1.1.tar.gz -sha256 41c4244e9ae626d63bed42ae4785b90667b885b1535d5a4095e1f63060d12aa9 Flask-WTF-1.1.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 7b4d37ef56..8274585ad3 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.1.1 -PYTHON_FLASK_WTF_SOURCE = Flask-WTF-$(PYTHON_FLASK_WTF_VERSION).tar.gz -PYTHON_FLASK_WTF_SITE = https://files.pythonhosted.org/packages/80/55/5114035eb8f6200fbe838a4b9828409ac831408c4591bf7875aed299d5f8 +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 19b2f0ae7b..8dc2cef356 100644 --- a/package/python-flask/Config.in +++ b/package/python-flask/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_PYTHON_FLASK 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 37ff0d70a5..3b5afc48e7 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 a5d5fe05dff5c6e0d28ece3fb03ef5cd Flask-2.3.2.tar.gz -sha256 8c2f9abd47a9e8df7f0c3f091ce9497d011dc3b31effcf4c85a6e2b50f4114ef Flask-2.3.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 c9362a7258a11c84a8f7e825ccbbb5c425c6fc02368d3aee6494533fb99ba1f4 docs/license.rst diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk index b0a38488f8..1372d915c1 100644 --- a/package/python-flask/python-flask.mk +++ b/package/python-flask/python-flask.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_FLASK_VERSION = 2.3.2 -PYTHON_FLASK_SOURCE = Flask-$(PYTHON_FLASK_VERSION).tar.gz -PYTHON_FLASK_SITE = https://files.pythonhosted.org/packages/4d/00/ef81c18da32fdfcde6381c315f4b11597fb6691180a330418848efee0ae7 -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.mk b/package/python-flit-core/python-flit-core.mk index ea887a0258..34e58d03ca 100644 --- a/package/python-flit-core/python-flit-core.mk +++ b/package/python-flit-core/python-flit-core.mk @@ -13,7 +13,12 @@ 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 84119d3346..7476656410 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 34d9fb935c3eaf5d2bd3572d88613bd2 fonttools-4.41.1.tar.gz -sha256 e16a9449f21a93909c5be2f5ed5246420f2316e94195dbfccb5238aaa38f9751 fonttools-4.41.1.tar.gz +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 2fe7f50115..e2472aa184 100644 --- a/package/python-fonttools/python-fonttools.mk +++ b/package/python-fonttools/python-fonttools.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FONTTOOLS_VERSION = 4.41.1 +PYTHON_FONTTOOLS_VERSION = 4.47.0 PYTHON_FONTTOOLS_SOURCE = fonttools-$(PYTHON_FONTTOOLS_VERSION).tar.gz -PYTHON_FONTTOOLS_SITE = https://files.pythonhosted.org/packages/e5/55/86c43d626bbe12fb384e61152ded4f76a280d30a022968c471f850cdb0d5 +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 diff --git a/package/python-frozenlist/python-frozenlist.hash b/package/python-frozenlist/python-frozenlist.hash index 466dd6931b..40a87d2ec0 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 4a14df2fe30853d9e18f73002493a860 frozenlist-1.4.0.tar.gz -sha256 09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251 frozenlist-1.4.0.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 10c6bc6314..9333598808 100644 --- a/package/python-frozenlist/python-frozenlist.mk +++ b/package/python-frozenlist/python-frozenlist.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FROZENLIST_VERSION = 1.4.0 +PYTHON_FROZENLIST_VERSION = 1.4.1 PYTHON_FROZENLIST_SOURCE = frozenlist-$(PYTHON_FROZENLIST_VERSION).tar.gz -PYTHON_FROZENLIST_SITE = https://files.pythonhosted.org/packages/8c/1f/49c96ccc87127682ba900b092863ef7c20302a2144b3185412a08480ca22 +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-git/Config.in b/package/python-git/Config.in index 3c23f91c36..183b377c46 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 0c8c764bf3..a979871796 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 9b2771ca07..91d6b07ab1 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 7bc187cf53..c70c1aade9 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 91a17e24a7..424f37f8f4 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-gnupg/python-gnupg.hash b/package/python-gnupg/python-gnupg.hash index d52b634b8d..4a194ad41e 100644 --- a/package/python-gnupg/python-gnupg.hash +++ b/package/python-gnupg/python-gnupg.hash @@ -1,8 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-gnupg/json -# also checked PGP signature from: -# https://bitbucket.org/vinay.sajip/python-gnupg/downloads/python-gnupg-0.5.1.tar.gz.asc -# with key: 9147B477339A9B86 -md5 c5d99c5f0456f8cbf69324ec5e6acaff python-gnupg-0.5.1.tar.gz -sha256 5674bad4e93876c0b0d3197e314d7f942d39018bf31e2b833f6788a6813c3fb8 python-gnupg-0.5.1.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 f582f4cdb7..ddf2287f9b 100644 --- a/package/python-gnupg/python-gnupg.mk +++ b/package/python-gnupg/python-gnupg.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_GNUPG_VERSION = 0.5.1 -PYTHON_GNUPG_SITE = https://files.pythonhosted.org/packages/98/62/7737485f44bd4d7d904f4094372f4119195865b29f119fa51a98e121a13a +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-google-api-core/Config.in b/package/python-google-api-core/Config.in new file mode 100644 index 0000000000..689923a2f4 --- /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 0000000000..5a1cd7f1cb --- /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 0000000000..84042d8d7a --- /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 0000000000..eb5be9cda5 --- /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 0000000000..9c201391f4 --- /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 0000000000..02c8c1164f --- /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 0000000000..8f487f5ee6 --- /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 0000000000..1169e945e9 --- /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 0000000000..ca943a1cd3 --- /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/0001-Migrate-to-setup.cfg.patch b/package/python-gpiozero/0001-Migrate-to-setup.cfg.patch deleted file mode 100644 index 090bcbc4a3..0000000000 --- a/package/python-gpiozero/0001-Migrate-to-setup.cfg.patch +++ /dev/null @@ -1,855 +0,0 @@ -From d56ca0ee4fde7fa4ad82a532f9ea387f9f33d389 Mon Sep 17 00:00:00 2001 -From: Dave Jones -Date: Tue, 16 Mar 2021 17:52:49 +0000 -Subject: [PATCH] Migrate to setup.cfg - -(cherry picked from commit b167bef82c3bf2739707f062b35fcabbb9cc11ad) - -setup.cfg seems to be mandatory since (at least) setuptools 67.8.0 -otherwise gpiozero dependencies are not properly detected - -File "/builds/buildroot.org/buildroot/test-output/TestPythonPy3Gpiozero/host/lib/python3.11/site-packages/pkg_resources/__init__.py", -line 868, in _resolve_dist - raise DistributionNotFound(req, requirers) -pkg_resources.DistributionNotFound: The 'colorzero' distribution was not found -and is required by the application - -Upstream: https://github.com/gpiozero/gpiozero/commit/b167bef82c3bf2739707f062b35fcabbb9cc11ad - -See: -http://lists.busybox.net/pipermail/buildroot/2023-June/669207.html - -[Romain: rebase on 1.6.2] -Signed-off-by: Romain Naour ---- - MANIFEST.in | 4 -- - Makefile | 88 +++++--------------------------- - copyrights | 56 +++++++++++--------- - copyrights.cfg | 11 ---- - coverage.cfg | 18 ------- - docs/conf.py | 99 +++++++++++++++-------------------- - setup.cfg | 98 +++++++++++++++++++++++++++++++++++ - setup.py | 136 +++++-------------------------------------------- - 8 files changed, 196 insertions(+), 314 deletions(-) - delete mode 100644 MANIFEST.in - delete mode 100644 copyrights.cfg - delete mode 100644 coverage.cfg - create mode 100644 setup.cfg - -diff --git a/MANIFEST.in b/MANIFEST.in -deleted file mode 100644 -index bb562ea..0000000 ---- a/MANIFEST.in -+++ /dev/null -@@ -1,4 +0,0 @@ --include README.rst --recursive-include gpiozero/fonts *.txt --recursive-include tests *.py --include LICENSE.rst -diff --git a/Makefile b/Makefile -index c9ddd90..264a73c 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,44 +4,18 @@ - PYTHON=python - PIP=pip - PYTEST=py.test --COVERAGE=coverage - TWINE=twine - PYFLAGS= - DEST_DIR=/ - --# Horrid hack to ensure setuptools is installed in our python environment. This --# is necessary with Python 3.3's venvs which don't install it by default. --ifeq ($(shell python -c "import setuptools" 2>&1),) --SETUPTOOLS:= --else --SETUPTOOLS:=$(shell wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | $(PYTHON)) --endif -- - # Calculate the base names of the distribution, the location of all source, - # documentation, packaging, icon, and executable script files - NAME:=$(shell $(PYTHON) $(PYFLAGS) setup.py --name) - VER:=$(shell $(PYTHON) $(PYFLAGS) setup.py --version) --ifeq ($(shell lsb_release -si),Ubuntu) --DEB_SUFFIX:=ubuntu1 --else --DEB_SUFFIX:= --endif --DEB_ARCH:=$(shell dpkg --print-architecture) - PYVER:=$(shell $(PYTHON) $(PYFLAGS) -c "import sys; print('py%d.%d' % sys.version_info[:2])") - PY_SOURCES:=$(shell \ - $(PYTHON) $(PYFLAGS) setup.py egg_info >/dev/null 2>&1 && \ - grep -v "\.egg-info" $(NAME).egg-info/SOURCES.txt) --DEB_SOURCES:=debian/changelog \ -- debian/control \ -- debian/copyright \ -- debian/rules \ -- debian/docs \ -- $(wildcard debian/*.init) \ -- $(wildcard debian/*.default) \ -- $(wildcard debian/*.manpages) \ -- $(wildcard debian/*.docs) \ -- $(wildcard debian/*.doc-base) \ -- $(wildcard debian/*.desktop) - DOC_SOURCES:=docs/conf.py \ - $(wildcard docs/*.png) \ - $(wildcard docs/*.svg) \ -@@ -56,17 +30,6 @@ SUBDIRS:= - DIST_WHEEL=dist/$(NAME)-$(VER)-py2.py3-none-any.whl - DIST_TAR=dist/$(NAME)-$(VER).tar.gz - DIST_ZIP=dist/$(NAME)-$(VER).zip --DIST_DEB=dist/python-$(NAME)_$(VER)$(DEB_SUFFIX)_all.deb \ -- dist/python3-$(NAME)_$(VER)$(DEB_SUFFIX)_all.deb \ -- dist/python-$(NAME)-doc_$(VER)$(DEB_SUFFIX)_all.deb \ -- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_$(DEB_ARCH).build \ -- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_$(DEB_ARCH).buildinfo \ -- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_$(DEB_ARCH).changes --DIST_DSC=dist/$(NAME)_$(VER)$(DEB_SUFFIX).tar.xz \ -- dist/$(NAME)_$(VER)$(DEB_SUFFIX).dsc \ -- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_source.build \ -- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_source.buildinfo \ -- dist/$(NAME)_$(VER)$(DEB_SUFFIX)_source.changes - - - # Default target -@@ -76,10 +39,9 @@ all: - @echo "make test - Run tests" - @echo "make doc - Generate HTML and PDF documentation" - @echo "make source - Create source package" -- @echo "make egg - Generate a PyPI egg package" -+ @echo "make wheel - Generate a PyPI wheel package" - @echo "make zip - Generate a source zip package" - @echo "make tar - Generate a source tar package" -- @echo "make deb - Generate Debian packages" - @echo "make dist - Generate all packages" - @echo "make clean - Get rid of all generated files" - @echo "make release - Create and tag a new release" -@@ -102,9 +64,7 @@ zip: $(DIST_ZIP) - - tar: $(DIST_TAR) - --deb: $(DIST_DEB) $(DIST_DSC) -- --dist: $(DIST_WHEEL) $(DIST_DEB) $(DIST_DSC) $(DIST_TAR) $(DIST_ZIP) -+dist: $(DIST_WHEEL) $(DIST_TAR) $(DIST_ZIP) - - develop: - @# These have to be done separately to avoid a cockup... -@@ -113,18 +73,17 @@ develop: - $(PIP) install -e .[doc,test] - - test: -- $(COVERAGE) run --rcfile coverage.cfg -m $(PYTEST) tests -v -r sx -- $(COVERAGE) report --rcfile coverage.cfg -+ $(PYTEST) tests - - clean: -- dh_clean -- rm -fr dist/ $(NAME).egg-info/ tags -+ rm -fr dist/ build/ .pytest_cache/ .mypy_cache/ $(NAME).egg-info/ tags .coverage - for dir in $(SUBDIRS); do \ - $(MAKE) -C $$dir clean; \ - done -+ find $(CURDIR) -name "*.pyc" -delete - - tags: $(PY_SOURCES) -- ctags -R --exclude="build/*" --exclude="debian/*" --exclude="docs/*" --languages="Python" -+ ctags -R --exclude="build/*" --exclude="docs/*" --languages="Python" - - $(SUBDIRS): - $(MAKE) -C $@ -@@ -138,37 +97,14 @@ $(DIST_ZIP): $(PY_SOURCES) $(SUBDIRS) - $(DIST_WHEEL): $(PY_SOURCES) $(SUBDIRS) - $(PYTHON) $(PYFLAGS) setup.py bdist_wheel --universal - --$(DIST_DEB): $(PY_SOURCES) $(SUBDIRS) $(DEB_SOURCES) $(DIST_TAR) -- cp $(DIST_TAR) ../$(NAME)_$(VER).orig.tar.gz -- debuild -b -- mkdir -p dist/ -- for f in $(DIST_DEB); do cp ../$${f##*/} dist/; done -- --$(DIST_DSC): $(PY_SOURCES) $(SUBDIRS) $(DEB_SOURCES) $(DIST_TAR) -- cp $(DIST_TAR) ../$(NAME)_$(VER).orig.tar.gz -- debuild -S -- mkdir -p dist/ -- for f in $(DIST_DSC); do cp ../$${f##*/} dist/; done -- --copyrights: $(PY_SOURCES) $(DOC_SOURCES) -- ./copyrights -- --changelog: $(PY_SOURCES) $(DOC_SOURCES) $(DEB_SOURCES) -+release: - $(MAKE) clean -- # ensure there are no current uncommitted changes - test -z "$(shell git status --porcelain)" -- # update the debian changelog with new release information -- dch --newversion $(VER)$(DEB_SUFFIX) -- # commit the changes and add a new tag -- git commit debian/changelog -m "Updated changelog for release $(VER)" -- --release: $(DIST_DEB) $(DIST_DSC) $(DIST_TAR) $(DIST_WHEEL) - git tag -s v$(VER) -m "Release v$(VER)" -- git push --tags -- # build a source archive and upload to PyPI -+ git push origin v$(VER) -+ -+upload: $(DIST_TAR) $(DIST_WHEEL) -+ $(TWINE) check $(DIST_TAR) $(DIST_WHEEL) - $(TWINE) upload $(DIST_TAR) $(DIST_WHEEL) -- # build the deb source archive and upload to Raspbian -- dput raspberrypi dist/$(NAME)_$(VER)$(DEB_SUFFIX)_source.changes -- dput raspberrypi dist/$(NAME)_$(VER)$(DEB_SUFFIX)_$(DEB_ARCH).changes - --.PHONY: all install develop test doc source egg wheel zip tar deb dist clean tags release upload $(SUBDIRS) -+.PHONY: all install develop test doc source wheel zip tar dist clean tags release upload $(SUBDIRS) -diff --git a/copyrights b/copyrights -index b709fc8..2f14e78 100755 ---- a/copyrights -+++ b/copyrights -@@ -6,10 +6,13 @@ derives the authorship and copyright years information from the git history - of the project; hence, this script must be run within a git repository. - """ - -+from __future__ import annotations -+ - import os - import sys - assert sys.version_info >= (3, 6), 'Script requires Python 3.6+' - import tempfile -+import typing as t - from argparse import ArgumentParser, Namespace - from configparser import ConfigParser - from operator import attrgetter -@@ -18,14 +21,13 @@ from datetime import datetime - from subprocess import Popen, PIPE, DEVNULL - from pathlib import Path - from fnmatch import fnmatch --from typing import NamedTuple, Iterator, List, Tuple, Set, Union, Optional - - - SPDX_PREFIX = 'SPDX-License-Identifier:' - COPYRIGHT_PREFIX = 'Copyright (c)' - - --def main(args: List[str] = None): -+def main(args: t.List[str] = None): - if args is None: - args = sys.argv[1:] - config = get_config(args) -@@ -41,7 +43,7 @@ def main(args: List[str] = None): - target.write(chunk) - - --def get_config(args: List[str]) -> Namespace: -+def get_config(args: t.List[str]) -> Namespace: - config = ConfigParser( - defaults={ - 'include': '**/*', -@@ -52,10 +54,10 @@ def get_config(args: List[str]) -> Namespace: - 'spdx_prefix': SPDX_PREFIX, - 'copy_prefix': COPYRIGHT_PREFIX, - }, -- delimiters=('=',), default_section='settings', -+ delimiters=('=',), default_section='copyrights:settings', - empty_lines_in_values=False, interpolation=None, - converters={'list': lambda s: s.strip().splitlines() }) -- config.read('copyrights.cfg') -+ config.read('setup.cfg') - sect = config[config.default_section] - - parser = ArgumentParser(description=__doc__) -@@ -113,10 +115,10 @@ def get_config(args: List[str]) -> Namespace: - return ns - - --class Copyright(NamedTuple): -+class Copyright(t.NamedTuple): - author: str - email: str -- years: Set[int] -+ years: t.Set[int] - - def __str__(self): - if len(self.years) > 1: -@@ -126,8 +128,8 @@ class Copyright(NamedTuple): - return f'{years} {self.author} <{self.email}>' - - --def get_copyrights(include: Set[str], exclude: Set[str])\ -- -> Iterator[Tuple[Path, List[Copyright]]]: -+def get_copyrights(include: t.Set[str], exclude: t.Set[str])\ -+ -> t.Iterator[t.Tuple[Path, t.Container[Copyright]]]: - sorted_blame = sorted( - get_contributions(include, exclude), - key=lambda c: (c.path, c.author, c.email) -@@ -147,15 +149,15 @@ def get_copyrights(include: Set[str], exclude: Set[str])\ - yield path, copyrights - - --class Contribution(NamedTuple): -+class Contribution(t.NamedTuple): - author: str - email: str - year: int - path: Path - - --def get_contributions(include: Set[str], exclude: Set[str])\ -- -> Iterator[Contribution]: -+def get_contributions(include: t.Set[str], exclude: t.Set[str])\ -+ -> t.Iterator[Contribution]: - for path in get_source_paths(include, exclude): - blame = Popen( - ['git', 'blame', '--line-porcelain', 'HEAD', '--', str(path)], -@@ -186,7 +188,8 @@ def get_contributions(include: Set[str], exclude: Set[str])\ - assert blame.returncode == 0 - - --def get_source_paths(include: Set[str], exclude: Set[str]) -> Iterator[Path]: -+def get_source_paths(include: t.Set[str], exclude: t.Set[str])\ -+ -> t.Iterator[Path]: - ls_tree = Popen( - ['git', 'ls-tree', '-r', '--name-only', 'HEAD'], - stdout=PIPE, stderr=DEVNULL, universal_newlines=True) -@@ -203,9 +206,9 @@ def get_source_paths(include: Set[str], exclude: Set[str]) -> Iterator[Path]: - assert ls_tree.returncode == 0 - - --class License(NamedTuple): -- ident: Optional[str] -- text: List[str] -+class License(t.NamedTuple): -+ ident: t.Optional[str] -+ text: t.List[str] - - - def get_license(path: Path, *, spdx_prefix: str = SPDX_PREFIX) -> License: -@@ -253,20 +256,26 @@ class CopyWriter: - '.sql': '--', - } - -- def __init__(self, license='LICENSE.txt', preamble=(), -- spdx_prefix=SPDX_PREFIX, copy_prefix=COPYRIGHT_PREFIX): -+ def __init__(self, license: Path=Path('LICENSE.txt'), -+ preamble: t.List[str]=None, -+ spdx_prefix: str=SPDX_PREFIX, -+ copy_prefix: str=COPYRIGHT_PREFIX): -+ if preamble is None: -+ preamble = [] - self.license = get_license(license, spdx_prefix=spdx_prefix) - self.preamble = preamble - self.spdx_prefix = spdx_prefix - self.copy_prefix = copy_prefix - - @classmethod -- def from_config(cls, config): -+ def from_config(cls, config: Namespace) -> CopyWriter: - return cls( - config.license, config.preamble, - config.spdx_prefix, config.copy_prefix) - -- def transform(self, source, copyrights, *, comment_prefix=None): -+ def transform(self, source: t.TextIO, -+ copyrights: t.List[Copyright], *, -+ comment_prefix: str=None) -> t.Iterator[str]: - if comment_prefix is None: - comment_prefix = self.COMMENTS[Path(source.name).suffix] - license_start = self.license.text[0] -@@ -279,7 +288,7 @@ class CopyWriter: - yield line - empty = False - elif linenum < 3 and ( -- 'set fileencoding=' in line or '-*- coding:' in line): -+ 'fileencoding=' in line or '-*- coding:' in line): - yield line - empty = False - elif line.rstrip() == comment_prefix: -@@ -313,7 +322,8 @@ class CopyWriter: - elif state == 'body': - yield line - -- def _generate_header(self, copyrights, comment_prefix, empty): -+ def _generate_header(self, copyrights: t.Iterable[Copyright], -+ comment_prefix: str, empty: bool) -> t.Iterator[str]: - if not empty: - yield comment_prefix + '\n' - for line in self.preamble: -@@ -356,7 +366,7 @@ class AtomicReplaceFile: - If ``None`` (the default), the temporary file will be opened in binary - mode. Otherwise, this specifies the encoding to use with text mode. - """ -- def __init__(self, path: Union[str, Path], encoding: str = None): -+ def __init__(self, path: t.Union[str, Path], encoding: str = None): - if isinstance(path, str): - path = Path(path) - self._path = path -diff --git a/copyrights.cfg b/copyrights.cfg -deleted file mode 100644 -index de68dbe..0000000 ---- a/copyrights.cfg -+++ /dev/null -@@ -1,11 +0,0 @@ --[settings] --include= -- **/*.py -- **/*.rst --exclude= -- docs/examples/*.py -- docs/license.rst --license=LICENSE.rst --preamble= -- GPIO Zero: a library for controlling the Raspberry Pi's GPIO pins --strip-preamble=no -diff --git a/coverage.cfg b/coverage.cfg -deleted file mode 100644 -index e3f3349..0000000 ---- a/coverage.cfg -+++ /dev/null -@@ -1,18 +0,0 @@ --[run] --branch = True --include = gpiozero/* --;omit = */bar.py,*/baz.py -- --[report] --ignore_errors = True --show_missing = True --exclude_lines = -- pragma: no cover -- assert False -- raise AssertionError -- raise NotImplementedError -- pass -- if __name__ == .__main__.: -- --[html] --directory = coverage -diff --git a/docs/conf.py b/docs/conf.py -index 998ae91..626ae29 100644 ---- a/docs/conf.py -+++ b/docs/conf.py -@@ -11,62 +11,34 @@ - - import sys - import os -+from pathlib import Path - from datetime import datetime --sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) --on_rtd = os.environ.get('READTHEDOCS', None) == 'True' --import setup as _setup -- --# Mock out certain modules while building documentation --class Mock(object): -- __all__ = [] -- -- def __init__(self, *args, **kw): -- pass -- -- def __call__(self, *args, **kw): -- return Mock() -- -- def __mul__(self, other): -- return Mock() -- -- def __and__(self, other): -- return Mock() -+from setuptools.config import read_configuration - -- def __bool__(self): -- return False -- -- def __nonzero__(self): -- return False -- -- @classmethod -- def __getattr__(cls, name): -- if name in ('__file__', '__path__'): -- return '/dev/null' -- else: -- return Mock() -- --sys.modules['RPi'] = Mock() --sys.modules['RPi.GPIO'] = sys.modules['RPi'].GPIO --sys.modules['lgpio'] = Mock() --sys.modules['RPIO'] = Mock() --sys.modules['RPIO.PWM'] = sys.modules['RPIO'].PWM --sys.modules['RPIO.Exceptions'] = sys.modules['RPIO'].Exceptions --sys.modules['pigpio'] = Mock() --sys.modules['w1thermsensor'] = Mock() --sys.modules['spidev'] = Mock() --sys.modules['colorzero'] = Mock() -+on_rtd = os.environ.get('READTHEDOCS', None) == 'True' -+config = read_configuration(str(Path(__file__).parent / '..' / 'setup.cfg')) -+info = config['metadata'] - - # -- General configuration ------------------------------------------------ - - extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinx.ext.intersphinx'] -+if on_rtd: -+ needs_sphinx = '1.4.0' -+ extensions.append('sphinx.ext.imgmath') -+ imgmath_image_format = 'svg' -+ tags.add('rtd') -+else: -+ extensions.append('sphinx.ext.mathjax') -+ mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS_HTML' -+ - templates_path = ['_templates'] - source_suffix = '.rst' - #source_encoding = 'utf-8-sig' - master_doc = 'index' --project = 'GPIO Zero' --copyright = '2015-%s %s' % (datetime.now().year, _setup.__author__) --version = _setup.__version__ --release = _setup.__version__ -+project = info['name'] -+copyright = '2015-{now:%Y} {info[author]}'.format(now=datetime.now(), info=info) -+version = info['version'] -+#release = None - #language = None - #today_fmt = '%B %d, %Y' - exclude_patterns = ['_build'] -@@ -82,6 +54,15 @@ pygments_style = 'sphinx' - # -- Autodoc configuration ------------------------------------------------ - - autodoc_member_order = 'groupwise' -+autodoc_mock_imports = [ -+ 'RPi', -+ 'lgpio', -+ 'RPIO', -+ 'pigpio', -+ 'w1thermsensor', -+ 'spidev', -+ 'colorzero', -+] - - # -- Intersphinx configuration -------------------------------------------- - -@@ -94,7 +75,7 @@ intersphinx_mapping = { - # -- Options for HTML output ---------------------------------------------- - - html_theme = 'sphinx_rtd_theme' --html_title = '%s %s Documentation' % (project, version) -+html_title = '{info[name]} {info[version]} Documentation'.format(info=info) - #html_theme_path = [] - #html_short_title = None - #html_logo = None -@@ -112,7 +93,7 @@ html_static_path = ['_static'] - #html_show_copyright = True - #html_use_opensearch = '' - #html_file_suffix = None --htmlhelp_basename = '%sdoc' % _setup.__project__ -+htmlhelp_basename = '{info[name]}doc'.format(info=info) - - # Hack to make wide tables work properly in RTD - # See https://github.com/snide/sphinx_rtd_theme/issues/117 for details -@@ -131,12 +112,12 @@ latex_elements = { - - latex_documents = [ - ( -- 'index', # source start file -- '%s.tex' % _setup.__project__, # target filename -- '%s Documentation' % project, # title -- _setup.__author__, # author -- 'manual', # documentclass -- True, # documents ref'd from toctree only -+ 'index', # source start file -+ project + '.tex', # target filename -+ html_title, # title -+ info['author'], # author -+ 'manual', # documentclass -+ True, # documents ref'd from toctree only - ), - ] - -@@ -149,11 +130,11 @@ latex_show_urls = 'footnote' - - # -- Options for epub output ---------------------------------------------- - --epub_basename = _setup.__project__ -+epub_basename = project - #epub_theme = 'epub' - #epub_title = html_title --epub_author = _setup.__author__ --epub_identifier = 'https://gpiozero.readthedocs.io/' -+epub_author = info['author'] -+epub_identifier = 'https://{info[name]}.readthedocs.io/'.format(info=info) - #epub_tocdepth = 3 - epub_show_urls = 'no' - #epub_use_index = True -@@ -161,8 +142,8 @@ epub_show_urls = 'no' - # -- Options for manual page output --------------------------------------- - - man_pages = [ -- ('cli_pinout', 'pinout', 'GPIO Zero pinout tool', [_setup.__author__], 1), -- ('remote_gpio', 'remote-gpio', 'GPIO Zero remote GPIO guide', [_setup.__author__], 7), -+ ('cli_pinout', 'pinout', 'GPIO Zero pinout tool', [info['author']], 1), -+ ('remote_gpio', 'remote-gpio', 'GPIO Zero remote GPIO guide', [info['author']], 7), - ] - - man_show_urls = True -diff --git a/setup.cfg b/setup.cfg -new file mode 100644 -index 0000000..db0cfa4 ---- /dev/null -+++ b/setup.cfg -@@ -0,0 +1,98 @@ -+[metadata] -+name = gpiozero -+version = 1.6.2 -+description = A simple interface to GPIO devices with Raspberry Pi -+long_description = file:README.rst -+author = Ben Nuttall -+author_email = ben@bennuttall.com -+url = https://gpiozero.readthedocs.io/ -+project_urls = -+ Documentation = https://gpiozero.readthedocs.io/ -+ Source Code = https://github.com/gpiozero/gpiozero -+ Issue Tracker = https://github.com/gpiozero/gpiozero/issues -+keywords = raspberrypi gpio -+license = BSD-3-Clause -+classifiers = -+ Development Status :: 5 - Production/Stable -+ Intended Audience :: Education -+ Intended Audience :: Developers -+ Topic :: Education -+ Topic :: System :: Hardware -+ License :: OSI Approved :: BSD License -+ Programming Language :: Python :: 2 -+ Programming Language :: Python :: 2.7 -+ Programming Language :: Python :: 3 -+ Programming Language :: Python :: 3.5 -+ Programming Language :: Python :: 3.6 -+ Programming Language :: Python :: 3.7 -+ Programming Language :: Python :: 3.8 -+ Programming Language :: Python :: 3.9 -+ Programming Language :: Python :: Implementation :: PyPy -+ -+[options] -+packages = find: -+install_requires = -+ colorzero -+ -+[options.package_data] -+gpiozero = -+ fonts/*.txt -+ -+[options.extras_require] -+test = -+ pytest -+ pytest-cov -+doc = -+ sphinx -+ sphinx-rtd-theme -+ -+[options.entry_points] -+console_scripts = -+ pinout = gpiozerocli.pinout:main -+gpiozero_pin_factories = -+ pigpio = gpiozero.pins.pigpio:PiGPIOFactory -+ lgpio = gpiozero.pins.lgpio:LGPIOFactory -+ rpigpio = gpiozero.pins.rpigpio:RPiGPIOFactory -+ rpio = gpiozero.pins.rpio:RPIOFactory -+ native = gpiozero.pins.native:NativeFactory -+ mock = gpiozero.pins.mock:MockFactory -+ PiGPIOPin = gpiozero.pins.pigpio:PiGPIOFactory -+ RPiGPIOPin = gpiozero.pins.rpigpio:RPiGPIOFactory -+ RPIOPin = gpiozero.pins.rpio:RPIOFactory -+ NativePin = gpiozero.pins.native:NativeFactory -+gpiozero_mock_pin_classes = -+ mockpin = gpiozero.pins.mock:MockPin -+ mockpwmpin = gpiozero.pins.mock:MockPWMPin -+ mockchargingpin = gpiozero.pins.mock:MockChargingPin -+ mocktriggerpin = gpiozero.pins.mock:MockTriggerPin -+ -+[tools:pytest] -+addopts = -rsx --cov --tb=short -+testpaths = tests -+ -+[coverage:run] -+source = gpiozero -+branch = true -+ -+[coverage:report] -+ignore_errors = true -+show_missing = true -+exclude_lines = -+ pragma: no cover -+ assert False -+ raise AssertionError -+ raise NotImplementedError -+ pass -+ if __name__ == .__main__.: -+ -+[copyrights:settings] -+include = -+ **/*.py -+ **/*.rst -+exclude = -+ docs/examples/*.py -+ docs/license.rst -+license = LICENSE.rst -+preamble = -+ GPIO Zero: a library for controlling the Raspberry Pi's GPIO pins -+strip-preamble = false -diff --git a/setup.py b/setup.py -index 621398a..fc644b6 100644 ---- a/setup.py -+++ b/setup.py -@@ -1,139 +1,29 @@ --"A simple interface to GPIO devices with Raspberry Pi." -+from __future__ import ( -+ unicode_literals, -+ absolute_import, -+) -+str = type('') - - import io - import os --import sys - import errno --from setuptools import setup, find_packages -+from setuptools import setup, config - --if sys.version_info[0] == 2: -- if not sys.version_info >= (2, 7): -- raise ValueError('This package requires Python 2.7 or above') --elif sys.version_info[0] == 3: -- if not sys.version_info >= (3, 2): -- raise ValueError('This package requires Python 3.2 or above') --else: -- raise ValueError('Unrecognized major version of Python') -- --HERE = os.path.abspath(os.path.dirname(__file__)) -- --# Workaround --try: -- import multiprocessing --except ImportError: -- pass -- --__project__ = 'gpiozero' --__version__ = '1.6.2' --__author__ = 'Ben Nuttall' --__author_email__ = 'ben@bennuttall.com' --__url__ = 'https://github.com/gpiozero/gpiozero' --__platforms__ = 'ALL' -- --__classifiers__ = [ -- "Development Status :: 5 - Production/Stable", -- "Intended Audience :: Education", -- "Intended Audience :: Developers", -- "Topic :: Education", -- "Topic :: System :: Hardware", -- "License :: OSI Approved :: BSD License", -- "Programming Language :: Python :: 2", -- "Programming Language :: Python :: 2.7", -- "Programming Language :: Python :: 3", -- "Programming Language :: Python :: 3.5", -- "Programming Language :: Python :: 3.6", -- "Programming Language :: Python :: 3.7", -- "Programming Language :: Python :: 3.8", -- "Programming Language :: Python :: 3.9", -- "Programming Language :: Python :: Implementation :: PyPy", --] -- --__keywords__ = [ -- 'raspberrypi', -- 'gpio', --] -- --__requires__ = [ -- 'colorzero', --] -- --__extra_requires__ = { -- 'doc': ['sphinx', 'sphinx_rtd_theme'], -- 'test': ['pytest', 'coverage', 'mock'], --} -- --if sys.version_info[:2] == (3, 2): -- # Particular versions are required for Python 3.2 compatibility -- __extra_requires__['doc'].extend([ -- 'Jinja2<2.7', -- 'MarkupSafe<0.16', -- ]) -- __extra_requires__['test'][0] = 'pytest<3.0dev' -- __extra_requires__['test'][1] = 'coverage<4.0dev' --elif sys.version_info[:2] == (3, 3): -- __extra_requires__['test'][0] = 'pytest<3.3dev' --elif sys.version_info[:2] == (3, 4): -- __extra_requires__['test'][0] = 'pytest<5.0dev' -+cfg = config.read_configuration( -+ os.path.join(os.path.dirname(__file__), 'setup.cfg')) - - try: - # If we're executing on a Raspberry Pi, install all GPIO libraries for - # testing (except RPIO which doesn't work on the multi-core models yet) - with io.open('/proc/device-tree/model', 'r') as f: - if f.read().startswith('Raspberry Pi'): -- __extra_requires__['test'].append('RPi.GPIO') -- __extra_requires__['test'].append('pigpio') -+ cfg['options']['extras_require']['test'].append('RPI.GPIO') -+ cfg['options']['extras_require']['test'].append('pigpio') - except IOError as e: - if e.errno != errno.ENOENT: - raise - --__entry_points__ = { -- 'gpiozero_pin_factories': [ -- 'pigpio = gpiozero.pins.pigpio:PiGPIOFactory', -- 'lgpio = gpiozero.pins.lgpio:LGPIOFactory', -- 'rpigpio = gpiozero.pins.rpigpio:RPiGPIOFactory', -- 'rpio = gpiozero.pins.rpio:RPIOFactory', -- 'native = gpiozero.pins.native:NativeFactory', -- 'mock = gpiozero.pins.mock:MockFactory', -- # Backwards compatible names -- 'PiGPIOPin = gpiozero.pins.pigpio:PiGPIOFactory', -- 'RPiGPIOPin = gpiozero.pins.rpigpio:RPiGPIOFactory', -- 'RPIOPin = gpiozero.pins.rpio:RPIOFactory', -- 'NativePin = gpiozero.pins.native:NativeFactory', -- ], -- 'gpiozero_mock_pin_classes': [ -- 'mockpin = gpiozero.pins.mock:MockPin', -- 'mockpwmpin = gpiozero.pins.mock:MockPWMPin', -- 'mockchargingpin = gpiozero.pins.mock:MockChargingPin', -- 'mocktriggerpin = gpiozero.pins.mock:MockTriggerPin', -- ], -- 'console_scripts': [ -- 'pinout = gpiozerocli.pinout:main', -- ] --} -- -- --def main(): -- import io -- with io.open(os.path.join(HERE, 'README.rst'), 'r') as readme: -- setup( -- name = __project__, -- version = __version__, -- description = __doc__, -- long_description = readme.read(), -- classifiers = __classifiers__, -- author = __author__, -- author_email = __author_email__, -- url = __url__, -- license = 'BSD-3-Clause', -- keywords = __keywords__, -- packages = find_packages(), -- include_package_data = True, -- platforms = __platforms__, -- install_requires = __requires__, -- extras_require = __extra_requires__, -- entry_points = __entry_points__, -- ) -- -+opts = cfg['metadata'] -+opts.update(cfg['options']) - --if __name__ == '__main__': -- main() -+setup(**opts) --- -2.41.0 - diff --git a/package/python-gpiozero/python-gpiozero.hash b/package/python-gpiozero/python-gpiozero.hash index 7359f6405e..d019b54346 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 a68c39db1f..bce7644a34 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/python-greenlet.hash b/package/python-greenlet/python-greenlet.hash index f378436beb..61e7f05346 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 e6637d59015cba7e86f2111e6aa8168b greenlet-2.0.2.tar.gz -sha256 e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0 greenlet-2.0.2.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 40f05f667e..1af104519b 100644 --- a/package/python-greenlet/python-greenlet.mk +++ b/package/python-greenlet/python-greenlet.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_GREENLET_VERSION = 2.0.2 +PYTHON_GREENLET_VERSION = 3.0.3 PYTHON_GREENLET_SOURCE = greenlet-$(PYTHON_GREENLET_VERSION).tar.gz -PYTHON_GREENLET_SITE = https://files.pythonhosted.org/packages/1e/1e/632e55a04d732c8184201238d911207682b119c35cecbb9a573a6c566731 +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 0000000000..1cdd0d3f67 --- /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 0000000000..c816a65b50 --- /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 0000000000..9ffd73d424 --- /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 0000000000..a0ca35c286 --- /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 0000000000..d17087d4bb --- /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 0000000000..b3d2fdffa8 --- /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 0000000000..9657ccb6ed --- /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 0000000000..39366f576e --- /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 0000000000..3d264de4af --- /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 18f0c034ba..a670dd4814 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 cff4915b72..bd4dc1b3ca 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 fb747bc00e..effa93e5ef 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-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.hash b/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.hash index 1b287072b7..e3a6363eb7 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 f28721181a..2a26892388 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 6e5fe1de13..55cd3b3e5a 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 ef5f6541cd..46e59f8aa0 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 154c1fdcac..e1798e882c 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 5a6e2fd0c877feea7e71b9d72bbdbed9 hatchling-1.12.2.tar.gz -sha256 8a6d719d96653a0f3901072b12710c9c3cc934f9061b443775c6789b45333495 hatchling-1.12.2.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 61aa1a6c23..d1ed4d23c2 100644 --- a/package/python-hatchling/python-hatchling.mk +++ b/package/python-hatchling/python-hatchling.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HATCHLING_VERSION = 1.12.2 +PYTHON_HATCHLING_VERSION = 1.21.0 PYTHON_HATCHLING_SOURCE = hatchling-$(PYTHON_HATCHLING_VERSION).tar.gz -PYTHON_HATCHLING_SITE = https://files.pythonhosted.org/packages/f5/ea/3ed5a7ecdd8a8f7e84cffd3b5ec24279a09ce2694c218ff922c35c6f1a77 +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/python-hiredis.hash b/package/python-hiredis/python-hiredis.hash index 372f2f50ae..ad33295ad7 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 670a932c2972cbd88f910c2b29f85c3c hiredis-2.2.3.tar.gz -sha256 e75163773a309e56a9b58165cf5a50e0f84b755f6ff863b2c01a38918fe92daa hiredis-2.2.3.tar.gz +md5 8823961dc3ba19a6e63ab6329b3b852f hiredis-2.3.2.tar.gz +sha256 733e2456b68f3f126ddaf2cd500a33b25146c3676b97ea843665717bda0c5d43 hiredis-2.3.2.tar.gz # Locally computed sha256 checksums -sha256 65d467915fa36249f60e6942c9d44dfe54d75882e6b66e94fc6c3971fcde1722 LICENSE +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 5aceb15ae1..d86fb109dc 100644 --- a/package/python-hiredis/python-hiredis.mk +++ b/package/python-hiredis/python-hiredis.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_HIREDIS_VERSION = 2.2.3 +PYTHON_HIREDIS_VERSION = 2.3.2 PYTHON_HIREDIS_SOURCE = hiredis-$(PYTHON_HIREDIS_VERSION).tar.gz -PYTHON_HIREDIS_SITE = https://files.pythonhosted.org/packages/b0/04/dab6792584fc548803ffa50b5bb2b99f01d3ab04d7c7f64e85f1a22fb847 +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 = MIT, BSD-3-Clause PYTHON_HIREDIS_LICENSE_FILES = LICENSE vendor/hiredis/COPYING $(eval $(python-package)) diff --git a/package/python-hpack/python-hpack.mk b/package/python-hpack/python-hpack.mk index 3cf534d055..4b581c1001 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 84229eabd0..320ef01c7a 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 0000000000..d8c9083da8 --- /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 0000000000..1623573b65 --- /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 0000000000..f1b3b810d7 --- /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 4da8f26e43..cfbf55a4b0 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 1093ecab39..9d7061cfac 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 0000000000..592cd559cd --- /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 0000000000..26e39fcc6d --- /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 0000000000..cbc9c9298b --- /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/python-hwdata.hash b/package/python-hwdata/python-hwdata.hash index 0c7ca31476..57c2dd0003 100644 --- a/package/python-hwdata/python-hwdata.hash +++ b/package/python-hwdata/python-hwdata.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/hwdata/json -md5 dccf3b28d06fb9c6f56875e148356c24 hwdata-2.3.7.tar.gz -sha256 9e5c96be38d9218ffde40834d4ca03344b8dfaed29c8c5afe0030125ea03db03 hwdata-2.3.7.tar.gz -# Locally computed +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 index 8eeec6efa8..c277eebccc 100644 --- a/package/python-hwdata/python-hwdata.mk +++ b/package/python-hwdata/python-hwdata.mk @@ -4,20 +4,11 @@ # ################################################################################ -PYTHON_HWDATA_VERSION = 2.3.7 +PYTHON_HWDATA_VERSION = 2.4.1 PYTHON_HWDATA_SOURCE = hwdata-$(PYTHON_HWDATA_VERSION).tar.gz -PYTHON_HWDATA_SITE = https://files.pythonhosted.org/packages/15/26/f5bc1b42129fbcbd1c99c29714af1685fc89e2cf37680a9930d4fcac1808 -PYTHON_HWDATA_SETUP_TYPE = distutils +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 -# There is no LICENSE file in the PyPi tarball, but it is available in -# upstream git repository: -PYTHON_HWDATA_EXTRA_DOWNLOADS = https://raw.githubusercontent.com/xsuchy/python-hwdata/python-hwdata-$(PYTHON_HWDATA_VERSION)-1/LICENSE - -define PYTHON_HWDATA_ADD_LICENSE_FILE - cp $(PYTHON_HWDATA_DL_DIR)/LICENSE $(@D) -endef -PYTHON_HWDATA_POST_EXTRACT_HOOKS += PYTHON_HWDATA_ADD_LICENSE_FILE - $(eval $(python-package)) diff --git a/package/python-idna/python-idna.hash b/package/python-idna/python-idna.hash index 3a758a6eac..5e6ac716a2 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 3976cb1518..eb92432bd3 100644 --- a/package/python-idna/python-idna.mk +++ b/package/python-idna/python-idna.mk @@ -4,9 +4,9 @@ # ################################################################################ -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 = flit diff --git a/package/python-iowait/python-iowait.mk b/package/python-iowait/python-iowait.mk index e327053e8e..028001d7f3 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/python-ipdb.hash b/package/python-ipdb/python-ipdb.hash index 1e8a45fbd6..041df3b249 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 e624221cbc9261f68f412b748179d5e2 ipdb-0.13.11.tar.gz -sha256 c23b6736f01fd4586cc2ecbebdf79a5eb454796853e1cd8f2ed3b7b91d4a3e93 ipdb-0.13.11.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 151a3d45a4..71f70be5d4 100644 --- a/package/python-ipdb/python-ipdb.mk +++ b/package/python-ipdb/python-ipdb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IPDB_VERSION = 0.13.11 +PYTHON_IPDB_VERSION = 0.13.13 PYTHON_IPDB_SOURCE = ipdb-$(PYTHON_IPDB_VERSION).tar.gz -PYTHON_IPDB_SITE = https://files.pythonhosted.org/packages/23/b2/c972cc266b0ba8508b42dab7f5dea1be03ea32213258441bf1b00baca555 +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 0000000000..2a4de3daf2 --- /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 ee5f765fba..1b7c9e9324 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 9cb4285ec3..d01545d8b2 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 diff --git a/package/python-ipy/python-ipy.mk b/package/python-ipy/python-ipy.mk index 2a01daf4ca..ec03adcb60 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 4e8cc287fe..08a0b8ba9a 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 c217efcfd1..87cc3969b0 100644 --- a/package/python-ipython/Config.in +++ b/package/python-ipython/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_PYTHON_IPYTHON 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 diff --git a/package/python-ipython/python-ipython.hash b/package/python-ipython/python-ipython.hash index f11ad1e18c..33f70885b3 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 a1ea9b6e43c5568e5031974eb3a6acb0 ipython-8.8.0.tar.gz -sha256 f3bf2c08505ad2c3f4ed5c46ae0331a8547d36bf4b21a451e8ae80c0791db95b ipython-8.8.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 aa274314eb..d3c2c05a05 100644 --- a/package/python-ipython/python-ipython.mk +++ b/package/python-ipython/python-ipython.mk @@ -4,15 +4,13 @@ # ################################################################################ -PYTHON_IPYTHON_VERSION = 8.8.0 +PYTHON_IPYTHON_VERSION = 8.20.0 PYTHON_IPYTHON_SOURCE = ipython-$(PYTHON_IPYTHON_VERSION).tar.gz -PYTHON_IPYTHON_SITE = https://files.pythonhosted.org/packages/f5/39/89664d8c3e4dfb0a73862cbbff8eb4028a1e3d4305da80ab0a493848ed9b +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 PYTHON_IPYTHON_CPE_ID_PRODUCT = ipython -# Affects only Windows. Can be dropped once we update to >= 8.10.0 -PYTHON_IPYTHON_IGNORE_CVES += CVE-2023-24816 PYTHON_IPYTHON_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-iso8601/python-iso8601.hash b/package/python-iso8601/python-iso8601.hash index 7c6d3f3ded..fe643ce8b7 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 68bf69933a..ce25a2fb28 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 05c11237ab..6d79062a18 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 0e170d58d1..701aa07b83 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 4790516330..45950556b0 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 a7cbb3daf1..97db6b75fb 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 8f64c4687e..5637b75629 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 dee8810e89..99034d20bb 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 40de61f0e8..5d54642a07 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 0000000000..700176e12f --- /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 0000000000..31a5bac183 --- /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 0000000000..ac4c0283a8 --- /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-jsonschema-specifications/Config.in b/package/python-jsonschema-specifications/Config.in new file mode 100644 index 0000000000..31453a12ea --- /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 0000000000..aa919681ac --- /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 0000000000..40879898c9 --- /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 d9508c3705..66d2417adc 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 f710576461..645a6657fe 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 16fc660ec9..512c92aa77 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 6b33686cbe..6c03317f61 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 837743f5c2..50ac3df342 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 a0640ab7525b4fe58061b5999cca5026 keyring-23.13.1.tar.gz -sha256 ba2e15a9b35e21908d0aaf4e0a47acc52d6ae33444df0da2b49d41a46ef6d678 keyring-23.13.1.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 766139f525..87b51a8960 100644 --- a/package/python-keyring/python-keyring.mk +++ b/package/python-keyring/python-keyring.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_KEYRING_VERSION = 23.13.1 +PYTHON_KEYRING_VERSION = 24.2.0 PYTHON_KEYRING_SOURCE = keyring-$(PYTHON_KEYRING_VERSION).tar.gz -PYTHON_KEYRING_SITE = https://files.pythonhosted.org/packages/55/fe/282f4c205add8e8bb3a1635cbbac59d6def2e0891b145aa553a0e40dd2d0 +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 7f2e263a5b..900027a88b 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 2c5db26dbc..04a0779b37 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 0000000000..244baee3a0 --- /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 0000000000..b838914c19 --- /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 0000000000..6164b0f1eb --- /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 6e192684a8..9ea778c8da 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 c08fc2cabd..9cb30abb65 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-libusb1/python-libusb1.hash b/package/python-libusb1/python-libusb1.hash index 86dea08c89..effecd8531 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 48a0b1dea3..39fd7e40d3 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 c8137ce4c0..ad176d5d21 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 071106605f..7906d388ae 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 d77acad76e..8761945de6 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 8f02e9b945..e47e78d26e 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 a78b6e6590..6cdbe2009b 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 72df6d0278..a23cdcec9e 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 2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67 lxml-4.9.2.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 657622a962..519a9a77ac 100644 --- a/package/python-lxml/python-lxml.mk +++ b/package/python-lxml/python-lxml.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_LXML_VERSION = 4.9.2 -PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/06/5a/e11cad7b79f2cf3dd2ff8f81fa8ca667e7591d3d8451768589996b65dec1 +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/0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch b/package/python-m2crypto/0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch deleted file mode 100644 index 68200b7d9b..0000000000 --- a/package/python-m2crypto/0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 84c53958def0f510e92119fca14d74f94215827a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= -Date: Tue, 28 Jun 2022 21:17:01 +0200 -Subject: [PATCH] Mitigate the Bleichenbacher timing attacks in the RSA - decryption API (CVE-2020-25657) - -Fixes #282 - -[Retrieved from: -https://gitlab.com/m2crypto/m2crypto/-/commit/84c53958def0f510e92119fca14d74f94215827a] -Signed-off-by: Fabrice Fontaine ---- - src/SWIG/_m2crypto_wrap.c | 20 ++++++++++++-------- - src/SWIG/_rsa.i | 20 ++++++++++++-------- - tests/test_rsa.py | 15 +++++++-------- - 3 files changed, 31 insertions(+), 24 deletions(-) - -diff --git a/src/SWIG/_m2crypto_wrap.c b/src/SWIG/_m2crypto_wrap.c -index aba9eb6d..a9f30da9 100644 ---- a/src/SWIG/_m2crypto_wrap.c -+++ b/src/SWIG/_m2crypto_wrap.c -@@ -7040,9 +7040,10 @@ PyObject *rsa_private_encrypt(RSA *rsa, PyObject *from, int padding) { - tlen = RSA_private_encrypt(flen, (unsigned char *)fbuf, - (unsigned char *)tbuf, rsa, padding); - if (tlen == -1) { -- m2_PyErr_Msg(_rsa_err); -+ ERR_clear_error(); -+ PyErr_Clear(); - PyMem_Free(tbuf); -- return NULL; -+ Py_RETURN_NONE; - } - - ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); -@@ -7070,9 +7071,10 @@ PyObject *rsa_public_decrypt(RSA *rsa, PyObject *from, int padding) { - tlen = RSA_public_decrypt(flen, (unsigned char *)fbuf, - (unsigned char *)tbuf, rsa, padding); - if (tlen == -1) { -- m2_PyErr_Msg(_rsa_err); -+ ERR_clear_error(); -+ PyErr_Clear(); - PyMem_Free(tbuf); -- return NULL; -+ Py_RETURN_NONE; - } - - ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); -@@ -7097,9 +7099,10 @@ PyObject *rsa_public_encrypt(RSA *rsa, PyObject *from, int padding) { - tlen = RSA_public_encrypt(flen, (unsigned char *)fbuf, - (unsigned char *)tbuf, rsa, padding); - if (tlen == -1) { -- m2_PyErr_Msg(_rsa_err); -+ ERR_clear_error(); -+ PyErr_Clear(); - PyMem_Free(tbuf); -- return NULL; -+ Py_RETURN_NONE; - } - - ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); -@@ -7124,9 +7127,10 @@ PyObject *rsa_private_decrypt(RSA *rsa, PyObject *from, int padding) { - tlen = RSA_private_decrypt(flen, (unsigned char *)fbuf, - (unsigned char *)tbuf, rsa, padding); - if (tlen == -1) { -- m2_PyErr_Msg(_rsa_err); -+ ERR_clear_error(); -+ PyErr_Clear(); - PyMem_Free(tbuf); -- return NULL; -+ Py_RETURN_NONE; - } - ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); - -diff --git a/src/SWIG/_rsa.i b/src/SWIG/_rsa.i -index bc714e01..1377b8be 100644 ---- a/src/SWIG/_rsa.i -+++ b/src/SWIG/_rsa.i -@@ -239,9 +239,10 @@ PyObject *rsa_private_encrypt(RSA *rsa, PyObject *from, int padding) { - tlen = RSA_private_encrypt(flen, (unsigned char *)fbuf, - (unsigned char *)tbuf, rsa, padding); - if (tlen == -1) { -- m2_PyErr_Msg(_rsa_err); -+ ERR_clear_error(); -+ PyErr_Clear(); - PyMem_Free(tbuf); -- return NULL; -+ Py_RETURN_NONE; - } - - ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); -@@ -269,9 +270,10 @@ PyObject *rsa_public_decrypt(RSA *rsa, PyObject *from, int padding) { - tlen = RSA_public_decrypt(flen, (unsigned char *)fbuf, - (unsigned char *)tbuf, rsa, padding); - if (tlen == -1) { -- m2_PyErr_Msg(_rsa_err); -+ ERR_clear_error(); -+ PyErr_Clear(); - PyMem_Free(tbuf); -- return NULL; -+ Py_RETURN_NONE; - } - - ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); -@@ -296,9 +298,10 @@ PyObject *rsa_public_encrypt(RSA *rsa, PyObject *from, int padding) { - tlen = RSA_public_encrypt(flen, (unsigned char *)fbuf, - (unsigned char *)tbuf, rsa, padding); - if (tlen == -1) { -- m2_PyErr_Msg(_rsa_err); -+ ERR_clear_error(); -+ PyErr_Clear(); - PyMem_Free(tbuf); -- return NULL; -+ Py_RETURN_NONE; - } - - ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); -@@ -323,9 +326,10 @@ PyObject *rsa_private_decrypt(RSA *rsa, PyObject *from, int padding) { - tlen = RSA_private_decrypt(flen, (unsigned char *)fbuf, - (unsigned char *)tbuf, rsa, padding); - if (tlen == -1) { -- m2_PyErr_Msg(_rsa_err); -+ ERR_clear_error(); -+ PyErr_Clear(); - PyMem_Free(tbuf); -- return NULL; -+ Py_RETURN_NONE; - } - ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); - -diff --git a/tests/test_rsa.py b/tests/test_rsa.py -index 7bb3af75..5e75d681 100644 ---- a/tests/test_rsa.py -+++ b/tests/test_rsa.py -@@ -109,8 +109,9 @@ class RSATestCase(unittest.TestCase): - # The other paddings. - for padding in self.s_padding_nok: - p = getattr(RSA, padding) -- with self.assertRaises(RSA.RSAError): -- priv.private_encrypt(self.data, p) -+ # Exception disabled as a part of mitigation against CVE-2020-25657 -+ # with self.assertRaises(RSA.RSAError): -+ priv.private_encrypt(self.data, p) - # Type-check the data to be encrypted. - with self.assertRaises(TypeError): - priv.private_encrypt(self.gen_callback, RSA.pkcs1_padding) -@@ -127,10 +128,12 @@ class RSATestCase(unittest.TestCase): - self.assertEqual(ptxt, self.data) - - # no_padding -- with six.assertRaisesRegex(self, RSA.RSAError, 'data too small'): -- priv.public_encrypt(self.data, RSA.no_padding) -+ # Exception disabled as a part of mitigation against CVE-2020-25657 -+ # with six.assertRaisesRegex(self, RSA.RSAError, 'data too small'): -+ priv.public_encrypt(self.data, RSA.no_padding) - - # Type-check the data to be encrypted. -+ # Exception disabled as a part of mitigation against CVE-2020-25657 - with self.assertRaises(TypeError): - priv.public_encrypt(self.gen_callback, RSA.pkcs1_padding) - -@@ -146,10 +149,6 @@ class RSATestCase(unittest.TestCase): - b'\000\000\000\003\001\000\001') # aka 65537 aka 0xf4 - with self.assertRaises(RSA.RSAError): - setattr(rsa, 'e', '\000\000\000\003\001\000\001') -- with self.assertRaises(RSA.RSAError): -- rsa.private_encrypt(1) -- with self.assertRaises(RSA.RSAError): -- rsa.private_decrypt(1) - assert rsa.check_key() - - def test_loadpub_bad(self): --- -GitLab - diff --git a/package/python-m2crypto/python-m2crypto.hash b/package/python-m2crypto/python-m2crypto.hash index 879f232565..782837081e 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 3c28fa3b0d..69a0c28df5 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 @@ -15,7 +15,4 @@ PYTHON_M2CRYPTO_CPE_ID_PRODUCT = m2crypto PYTHON_M2CRYPTO_DEPENDENCIES = openssl host-swig PYTHON_M2CRYPTO_BUILD_OPTS = --openssl=$(STAGING_DIR)/usr -# 0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch -PYTHON_M2CRYPTO_IGNORE_CVES += CVE-2020-25657 - $(eval $(python-package)) 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 0000000000..3152f1aae7 --- /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-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 0000000000..51cecd138a --- /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/0001-Update-versioneer-to-0.29.patch b/package/python-magic-wormhole/0001-Update-versioneer-to-0.29.patch new file mode 100644 index 0000000000..54b5fe8b1d --- /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 index e8429d203b..c92af7a957 100644 --- a/package/python-magic-wormhole/Config.in +++ b/package/python-magic-wormhole/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE bool "python-magic-wormhole" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-autobahn -> python-cryptography + 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_HKDF # 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 diff --git a/package/python-magic-wormhole/python-magic-wormhole.hash b/package/python-magic-wormhole/python-magic-wormhole.hash index 5e880d5427..5a3ffab732 100644 --- a/package/python-magic-wormhole/python-magic-wormhole.hash +++ b/package/python-magic-wormhole/python-magic-wormhole.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/magic-wormhole/json -md5 ca190d92f56fe32ec8dfd4fc5aab8337 magic-wormhole-0.12.0.tar.gz -sha256 1b0fd8a334da978f3dd96b620fa9b9348cabedf26a87f74baac7a37052928160 magic-wormhole-0.12.0.tar.gz +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 index 91f0f826d5..3349bfd4e1 100644 --- a/package/python-magic-wormhole/python-magic-wormhole.mk +++ b/package/python-magic-wormhole/python-magic-wormhole.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MAGIC_WORMHOLE_VERSION = 0.12.0 +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/d4/62/5e4a86f7c4b111e016577f1b304063ebe604f430db15465ac58b13993608 +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 diff --git a/package/python-mako/python-mako.hash b/package/python-mako/python-mako.hash index a010e8d8f6..03651cf956 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 313fbfcab2..2eba772b26 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 66208067cc..21f0c28bac 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 1b9b556201..b491660f24 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 f8582ba5b8..0a76499185 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 b1c162e12f..a78e6ea0d8 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-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.hash b/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.hash index d3d1b3876f..3194513dfc 100644 --- a/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.hash +++ b/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/marshmallow-sqlalchemy/json -md5 e1b2858be2f0ce6dead48e67080631c4 marshmallow-sqlalchemy-0.29.0.tar.gz -sha256 3523a774390ef0c1c0f7c708a7519809c5396cf608720f14f55c36f74ff5bbec marshmallow-sqlalchemy-0.29.0.tar.gz +md5 61e46e0ad5fabd0e9e11f895e1243bc3 marshmallow-sqlalchemy-0.30.0.tar.gz +sha256 29ad0a4fd1b4a1e52dcb07f9673d284a6b0795141916cc2169d4ee9a5d007347 marshmallow-sqlalchemy-0.30.0.tar.gz # Locally computed sha256 checksums -sha256 625df8e2758a271b4bc90525c0b6161814e0f72cb3504b03ab5206b7abf50072 LICENSE +sha256 5f6cd082e01dda8a7c157687e196be98d68224cf41c0cee1968eb5c08e0c076a LICENSE diff --git a/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.mk b/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.mk index 8f176feb4d..a95e53022b 100644 --- a/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.mk +++ b/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MARSHMALLOW_SQLALCHEMY_VERSION = 0.29.0 +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/fa/0d/4dd275732213cefb4e49a86c60443cb1e3e0d0bd605625aed3fa7bb22fdd +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 diff --git a/package/python-marshmallow/python-marshmallow.hash b/package/python-marshmallow/python-marshmallow.hash index dc277d16e5..cb60216a26 100644 --- a/package/python-marshmallow/python-marshmallow.hash +++ b/package/python-marshmallow/python-marshmallow.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/marshmallow/json -md5 3cf5c42917509a199c3105466435c425 marshmallow-3.19.0.tar.gz -sha256 90032c0fd650ce94b6ec6dc8dfeb0e3ff50c144586462c389b81a07205bedb78 marshmallow-3.19.0.tar.gz +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 index ba6da6b29c..afd4068f44 100644 --- a/package/python-marshmallow/python-marshmallow.mk +++ b/package/python-marshmallow/python-marshmallow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MARSHMALLOW_VERSION = 3.19.0 +PYTHON_MARSHMALLOW_VERSION = 3.20.1 PYTHON_MARSHMALLOW_SOURCE = marshmallow-$(PYTHON_MARSHMALLOW_VERSION).tar.gz -PYTHON_MARSHMALLOW_SITE = https://files.pythonhosted.org/packages/5e/59/dd465e5ab0ccb879c410f88c75189a19fd437b12cd9a03b31579aef58709 +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 diff --git a/package/python-matplotlib-inline/Config.in b/package/python-matplotlib-inline/Config.in new file mode 100644 index 0000000000..2ea9f4d966 --- /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 0000000000..7382fc3406 --- /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 0000000000..c9c22605ca --- /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 8a9281b8e7..b3d84e2b43 100644 --- a/package/python-matplotlib/Config.in +++ b/package/python-matplotlib/Config.in @@ -3,10 +3,14 @@ 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 @@ -36,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 0d7117811c..c2fb907e2c 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 650aac9bd9..4fd2b5f432 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 698b763a55..be6167afea 100644 --- a/package/python-maturin/python-maturin.hash +++ b/package/python-maturin/python-maturin.hash @@ -1,5 +1,5 @@ # Locally calculated after vendoring -sha256 4f8ce543728abfd83885935452d2189f8847445ead501cd8609f74c8a2b1ae0e maturin-1.1.0.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 4ff11e820c..91507468a2 100644 --- a/package/python-maturin/python-maturin.mk +++ b/package/python-maturin/python-maturin.mk @@ -4,21 +4,12 @@ # ################################################################################ -PYTHON_MATURIN_VERSION = 1.1.0 +PYTHON_MATURIN_VERSION = 1.4.0 PYTHON_MATURIN_SOURCE = maturin-$(PYTHON_MATURIN_VERSION).tar.gz -PYTHON_MATURIN_SITE = https://files.pythonhosted.org/packages/7b/78/2814bc0e46a96861aab337fd0404e7937acdb4ce187da239224ab4560d35 -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 dd2f412bee..2943ef293f 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 f875e4d71d..566420a60e 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 0000000000..537353bad2 --- /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 0000000000..64d5de4ba9 --- /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-minimalmodbus/python-minimalmodbus.hash b/package/python-minimalmodbus/python-minimalmodbus.hash index b29e83773b..635090fae7 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 b463cf9ffe..cb8a0d8cc9 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 161f2ed6ff..7dee76cfa2 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 1e4bb71903..ac900c82ba 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 0000000000..58c218b214 --- /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-pybind, 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 0000000000..53bfacb528 --- /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 0000000000..676137ecf1 --- /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 c486e49715..c7f4ac2dd4 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 30056bb207..d8552e57a6 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 c12d3f5623..4d119cb203 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 734d87e057..98b499c3c0 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 cfe5a7c0c0..0e5d9206a1 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 f083c107b28525bb4c2580140861d86e python-mpd2-3.1.0.tar.gz -sha256 f33c2cdb0d6baa74a36724f38c1c4a099a7ce2c8ec4a2bb7192150a5855df476 python-mpd2-3.1.0.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 124ff57db0..2d2784e89d 100644 --- a/package/python-mpd2/python-mpd2.mk +++ b/package/python-mpd2/python-mpd2.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_MPD2_VERSION = 3.1.0 -PYTHON_MPD2_SITE = https://files.pythonhosted.org/packages/59/32/e57725251ce3117d2ed2a7b76d9722ea9bea26f54b2cc8981d03350e4103 +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 9f5bfe4804..2517afbb48 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 4100a912b2..8565c2210e 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 9a2ec9c9f3..50462db8db 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 da12a9f0a65a803ec005219f6095d0a3 msgpack-1.0.5.tar.gz -sha256 c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c msgpack-1.0.5.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 785fec9f00..3ee7c54ce1 100644 --- a/package/python-msgpack/python-msgpack.mk +++ b/package/python-msgpack/python-msgpack.mk @@ -4,11 +4,18 @@ # ################################################################################ -PYTHON_MSGPACK_VERSION = 1.0.5 +PYTHON_MSGPACK_VERSION = 1.0.7 PYTHON_MSGPACK_SOURCE = msgpack-$(PYTHON_MSGPACK_VERSION).tar.gz -PYTHON_MSGPACK_SITE = https://files.pythonhosted.org/packages/dc/a1/eba11a0d4b764bc62966a565b470f8c6f38242723ba3057e9b5098678c30 +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-multipart/Config.in b/package/python-multipart/Config.in new file mode 100644 index 0000000000..07002e1018 --- /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 0000000000..9b2b6d3d82 --- /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 0000000000..7ffb05fa92 --- /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/python-munch.hash b/package/python-munch/python-munch.hash index 7e32282833..a895bc9185 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 85f6803f07..c2941aa0b5 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 2e1a588936..b2d846e7b1 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 07ac9542c6..d42ed27e49 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 3ffe9d6880..8b6c718c56 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 cd8ae35234..a99005ba7c 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 ffe850d7bd..5e3763bd63 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 26dc329a37..494a03ac2c 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 d55390aad3..f969aeecfc 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 e3ffe4e85b..79e55a739f 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/python-networkx.hash b/package/python-networkx/python-networkx.hash index 96ef9777da..b9fe50fd9c 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 1bfbb5cd184b486feae8345f541a5e50 networkx-3.0.tar.gz -sha256 9a9992345353618ae98339c2b63d8201c381c2944f38a2ab49cb45a4c667e412 networkx-3.0.tar.gz +md5 e81583dcb3d929b60660721912f3faed networkx-3.2.1.tar.gz +sha256 9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6 networkx-3.2.1.tar.gz # Locally computed sha256 checksums sha256 50b5a27cb43f7a20cede7aa7b9ab2033552e0412c9a1fde51d38885c1417e95f LICENSE.txt diff --git a/package/python-networkx/python-networkx.mk b/package/python-networkx/python-networkx.mk index d369df1a04..e463dca40a 100644 --- a/package/python-networkx/python-networkx.mk +++ b/package/python-networkx/python-networkx.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_NETWORKX_VERSION = 3.0 +PYTHON_NETWORKX_VERSION = 3.2.1 PYTHON_NETWORKX_SOURCE = networkx-$(PYTHON_NETWORKX_VERSION).tar.gz -PYTHON_NETWORKX_SITE = https://files.pythonhosted.org/packages/99/f9/d45c9ecf50a6b67a200e0bbd324201b5cd777dfc0e6c8f6d1620ce5a7ada +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 diff --git a/package/python-numpy/Config.in b/package/python-numpy/Config.in index 132c3f7a82..c27baec3b3 100644 --- a/package/python-numpy/Config.in +++ b/package/python-numpy/Config.in @@ -19,6 +19,7 @@ config BR2_PACKAGE_PYTHON_NUMPY 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. @@ -28,7 +29,8 @@ config BR2_PACKAGE_PYTHON_NUMPY http://www.numpy.org/ -comment "python-numpy needs a glibc or musl toolchain w/ C++" +comment "python-numpy 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-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash index 9ac9280c78..6629cebbce 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 812bfdae4a..200fac20a1 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 1e49487d6a..eb0ccbf46f 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 e5b8623f0d..139238b5e9 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 21b5794ebf..f5856019a5 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 52c5d5117e..226b9bbc21 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 773fb14568..0e9b93f311 100644 --- a/package/python-orjson/python-orjson.hash +++ b/package/python-orjson/python-orjson.hash @@ -1,5 +1,5 @@ # Locally calculated after vendoring -sha256 048938fd9153f37eaf7a08b748de94ff87b2488dd3bd9f96c3ae784527a961b3 orjson-3.9.2.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 f5d4ad1046..a2e8a50468 100644 --- a/package/python-orjson/python-orjson.mk +++ b/package/python-orjson/python-orjson.mk @@ -4,19 +4,12 @@ # ################################################################################ -PYTHON_ORJSON_VERSION = 3.9.2 +PYTHON_ORJSON_VERSION = 3.9.10 PYTHON_ORJSON_SOURCE = orjson-$(PYTHON_ORJSON_VERSION).tar.gz -PYTHON_ORJSON_SITE = https://files.pythonhosted.org/packages/30/a4/96bcb52da0de9ccfcd99a60719b995c9b9c3aaa3a70701f0790ce856c10d -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/python-outcome.hash b/package/python-outcome/python-outcome.hash index 43796e89ac..476da60766 100644 --- a/package/python-outcome/python-outcome.hash +++ b/package/python-outcome/python-outcome.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/outcome/json -md5 58612ee4407901985f85ad3869dd83b8 outcome-1.2.0.tar.gz -sha256 6f82bd3de45da303cf1f771ecafa1633750a358436a8bb60e06a1ceb745d2672 outcome-1.2.0.tar.gz +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 diff --git a/package/python-outcome/python-outcome.mk b/package/python-outcome/python-outcome.mk index 27d7fdede3..aa8a6cbf38 100644 --- a/package/python-outcome/python-outcome.mk +++ b/package/python-outcome/python-outcome.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_OUTCOME_VERSION = 1.2.0 +PYTHON_OUTCOME_VERSION = 1.3.0.post0 PYTHON_OUTCOME_SOURCE = outcome-$(PYTHON_OUTCOME_VERSION).tar.gz -PYTHON_OUTCOME_SITE = https://files.pythonhosted.org/packages/dd/91/741e1626e89fdc3664169e16300c59eefa4b23540cc6d6c70450f885098f +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 diff --git a/package/python-packaging/python-packaging.hash b/package/python-packaging/python-packaging.hash index 0e339ea573..df75c3505c 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 f7d5c39c6f92cc2dfa1293ba8f6c097c packaging-23.1.tar.gz -sha256 a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f packaging-23.1.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 aac4d76ee2..3e0f85c00a 100644 --- a/package/python-packaging/python-packaging.mk +++ b/package/python-packaging/python-packaging.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PACKAGING_VERSION = 23.1 +PYTHON_PACKAGING_VERSION = 23.2 PYTHON_PACKAGING_SOURCE = packaging-$(PYTHON_PACKAGING_VERSION).tar.gz -PYTHON_PACKAGING_SITE = https://files.pythonhosted.org/packages/b9/6c/7c6658d258d7971c5eb0d9b69fa9265879ec9a9158031206d47800ae2213 +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 b327a6b8a9..893aac074e 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 621176ed41..8d921486c7 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 5eb76cb5f9..15283e3ac2 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 e88bce231f..c4cb34b4c3 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 0000000000..a5bc240cea --- /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 828236304e..4442d82ac1 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 6ca8c0f2ad..243f541892 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 4ca503e976..cfeef9419d 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 99f0101e19..aaea80d389 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-periphery/python-periphery.hash b/package/python-periphery/python-periphery.hash index 24e104d3ad..a758fa7a4d 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 2c533fa2c2..7a49f305a5 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 a38c8d5a03..617428feb1 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 3efda26825..469144aa60 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 bca66a7436..001fb62676 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 2a8f327ba2250aad26ed101337c8fa56 Pillow-10.0.0.tar.gz -sha256 9c82b5b3e043c7af0d95792d0d20ccf68f61a1fec6b3530e718b688422727396 Pillow-10.0.0.tar.gz +md5 13de96f9f98bc1c26439d64576a48ac6 pillow-10.2.0.tar.gz +sha256 e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e pillow-10.2.0.tar.gz # Locally computed sha256 checksums -sha256 0fdb68ffb39062553be40be4e6eaea9700b4f5e870a720ae86b8925d67613ddd LICENSE +sha256 e706384c6f299d1b6fa782ae657740b372b4bd7938a1a318bf94ac249114758a LICENSE diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index 95a67f304e..10939d8467 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 10.0.0 -PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/0f/8b/2ebaf9adcf4260c00f842154865f8730cf745906aa5dd499141fb6063e26 -PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz +PYTHON_PILLOW_VERSION = 10.2.0 +PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/f8/3e/32cbd0129a28686621434cbf17bb64bf1458bfb838f1f668262fefce145c +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 b41ce47d4c..d2cc649b01 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 996f58a94fe0b8b82b6795c42bd171ba pip-22.3.1.tar.gz -sha256 65fd48317359f3af8e593943e6ae1506b66325085ea64b706a998c6e83eeaf38 pip-22.3.1.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 040767930e..552b47eb7d 100644 --- a/package/python-pip/python-pip.mk +++ b/package/python-pip/python-pip.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PIP_VERSION = 22.3.1 +PYTHON_PIP_VERSION = 23.3.2 PYTHON_PIP_SOURCE = pip-$(PYTHON_PIP_VERSION).tar.gz -PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/a3/50/c4d2727b99052780aad92c7297465af5fe6eec2dbae490aa9763273ffdc1 +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 diff --git a/package/python-pluggy/python-pluggy.hash b/package/python-pluggy/python-pluggy.hash index 39f172a82b..74790a51a0 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 6dc6f970ea..2b7ac04f02 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 6af3b77792..98e196bec8 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 4322121e9b..5415198ffb 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-prompt-toolkit/python-prompt-toolkit.hash b/package/python-prompt-toolkit/python-prompt-toolkit.hash index 62ba0c3cfe..1821d4d65c 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 426fa41e0b..31c0d9783f 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-psutil/python-psutil.hash b/package/python-psutil/python-psutil.hash index 15927562b1..c5f4f39fe0 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 e764d1accc..e83193f20f 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 58f98f9d84..6659c6cef8 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 fa23c2814f..0149b8d185 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 d077fbb779..5266019562 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 06f1b20c26..2bdd689121 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 1ae15ad8a6..08afc67b76 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 a357c34c44..ff13efb773 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-pyaes/python-pyaes.mk b/package/python-pyaes/python-pyaes.mk index a738d3c76a..77ec100058 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 cc5e2ec9a0..1661fe47b4 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 6aff4d935b..cb486d33ae 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 2305596585..6f4bb6faf0 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 9933a63aa7..41987028fc 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-pycairo/python-pycairo.hash b/package/python-pycairo/python-pycairo.hash index 98bb7f2802..f44afe6fc4 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 f9933df187..eb60293ff8 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 7cdd93dd93..fa24c1ec66 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 b1c7dcef50..fe6916445d 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/python-pycrate.hash b/package/python-pycrate/python-pycrate.hash index fd41274369..94ec99b738 100644 --- a/package/python-pycrate/python-pycrate.hash +++ b/package/python-pycrate/python-pycrate.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pycrate/json -md5 d51fd27d99481990ff85a1e418b1c938 pycrate-0.6.0.tar.gz -sha256 b49738c02a3f93ba9f76c0dac82b689a5341882814b36c714e9600e9f560daf7 pycrate-0.6.0.tar.gz +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 index 2f947ab807..1645eaf52c 100644 --- a/package/python-pycrate/python-pycrate.mk +++ b/package/python-pycrate/python-pycrate.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYCRATE_VERSION = 0.6.0 +PYTHON_PYCRATE_VERSION = 0.7.0 PYTHON_PYCRATE_SOURCE = pycrate-$(PYTHON_PYCRATE_VERSION).tar.gz -PYTHON_PYCRATE_SITE = https://files.pythonhosted.org/packages/fb/7f/5f354100270a5d41350e9806dc9950a33e00a30eb3a7ab5fc9db86326856 +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+ diff --git a/package/python-pycryptodomex/python-pycryptodomex.hash b/package/python-pycryptodomex/python-pycryptodomex.hash index 954f4a8938..10447fd800 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 3b8d868cef13ea41cb3bfeab66a7707c pycryptodomex-3.18.0.tar.gz -sha256 3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e pycryptodomex-3.18.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 3790aa4787..d969e600a3 100644 --- a/package/python-pycryptodomex/python-pycryptodomex.mk +++ b/package/python-pycryptodomex/python-pycryptodomex.mk @@ -4,14 +4,19 @@ # ################################################################################ -PYTHON_PYCRYPTODOMEX_VERSION = 3.18.0 +PYTHON_PYCRYPTODOMEX_VERSION = 3.19.1 PYTHON_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON_PYCRYPTODOMEX_VERSION).tar.gz -PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/40/92/efd675dba957315d705f792b28d900bddc36f39252f6713961b4221ee9af +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 41da3641a0..bf61400afe 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/python-pydal.hash b/package/python-pydal/python-pydal.hash index 8ed25084d1..9f2ab55508 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 47f0425745bcd1bb413aa9208cd06b3c pydal-20230521.1.tar.gz -sha256 10478a61e627c5b8cb7691f7f7ebf7210845485316493d37d740c297fb6d1845 pydal-20230521.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 1cc7e90b11..245383f244 100644 --- a/package/python-pydal/python-pydal.mk +++ b/package/python-pydal/python-pydal.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYDAL_VERSION = 20230521.1 +PYTHON_PYDAL_VERSION = 20231114.3 PYTHON_PYDAL_SOURCE = pydal-$(PYTHON_PYDAL_VERSION).tar.gz -PYTHON_PYDAL_SITE = https://files.pythonhosted.org/packages/68/b4/15dc227f965cc0525ca7f432368706cc4087ad6d587a5a05b251d133023e +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 0000000000..3eeb1844a2 --- /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 0000000000..817595ba8c --- /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 0000000000..8b6e0053e4 --- /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 41ec43adf4..e9cd2e6780 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 88b17f4575..75ecb23053 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 f0e286c32f40ec45aba9603742739cd6 pydantic-1.10.8.tar.gz -sha256 1410275520dfa70effadf4c21811d755e7ef9bb1f1d077a21958153a92c8d9ca pydantic-1.10.8.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 b800426d22..0cce5a153f 100644 --- a/package/python-pydantic/python-pydantic.mk +++ b/package/python-pydantic/python-pydantic.mk @@ -4,11 +4,16 @@ # ################################################################################ -PYTHON_PYDANTIC_VERSION = 1.10.8 +PYTHON_PYDANTIC_VERSION = 2.5.3 PYTHON_PYDANTIC_SOURCE = pydantic-$(PYTHON_PYDANTIC_VERSION).tar.gz -PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/23/65/2aa13873e9e0084ecaec00fbe6c6096b65e1ab99ba66bdbf7e4e7c4cc915 -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 4e52429dfe..b2dac04516 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 52a772655c1398e7b60d22e930e13094 pydyf-0.7.0.tar.gz -sha256 a5a88cb06e5beb64a1ef2147ee879b0e5139f5fdb827fda2fcf14a018c7b11e6 pydyf-0.7.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 d941a00a9f..e9b7d229c7 100644 --- a/package/python-pydyf/python-pydyf.mk +++ b/package/python-pydyf/python-pydyf.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYDYF_VERSION = 0.7.0 +PYTHON_PYDYF_VERSION = 0.8.0 PYTHON_PYDYF_SOURCE = pydyf-$(PYTHON_PYDYF_VERSION).tar.gz -PYTHON_PYDYF_SITE = https://files.pythonhosted.org/packages/28/ec/b6b327f2a249a83022501b2f57844ca05b2b26e0cadf28648ea5c0f72aa6 +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 7cffe2d646..70af8104b9 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 7566f24895..0e52c0b885 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 46b5ae6336..7b5dabdfdc 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 bd1ada8125..da101083b6 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 57eb020742..0000000000 --- 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 c0496515e2..0000000000 --- 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 600dd9e743..0000000000 --- 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 9714fd2ea0..a742a05e52 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 e40631bb812bbd15954027c23b23013a Pygments-2.15.1.tar.gz -sha256 8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c Pygments-2.15.1.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 f151f0061b..e42f613cf1 100644 --- a/package/python-pygments/python-pygments.mk +++ b/package/python-pygments/python-pygments.mk @@ -4,13 +4,14 @@ # ################################################################################ -PYTHON_PYGMENTS_VERSION = 2.15.1 -PYTHON_PYGMENTS_SOURCE = Pygments-$(PYTHON_PYGMENTS_VERSION).tar.gz -PYTHON_PYGMENTS_SITE = https://files.pythonhosted.org/packages/89/6b/2114e54b290824197006e41be3f9bbe1a26e9c39d1f5fa20a6d62945a0b3 +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 c2a4dc06f7..27224cdbf1 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 176079e0f5..ba230d3a07 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 de5295e964..6631ff1d6a 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/python-pyicu.hash b/package/python-pyicu/python-pyicu.hash index 395d2fe47b..01d4bf7fdf 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 f13ffa91014efde6962c4c1ed6ee7a3c PyICU-2.11.tar.gz -sha256 3ab531264cfe9132b3d2ac5d708da9a4649d25f6e6813730ac88cf040a08a844 PyICU-2.11.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 213c099d07..50962f601e 100644 --- a/package/python-pyicu/python-pyicu.mk +++ b/package/python-pyicu/python-pyicu.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYICU_VERSION = 2.11 +PYTHON_PYICU_VERSION = 2.12 PYTHON_PYICU_SOURCE = PyICU-$(PYTHON_PYICU_VERSION).tar.gz -PYTHON_PYICU_SITE = https://files.pythonhosted.org/packages/03/1b/800fce0236be0b8a99b3ccbb797786dd178028960b3fd65544e2d8bad5ac +PYTHON_PYICU_SITE = https://files.pythonhosted.org/packages/c8/25/38a2104fd48373cfd4eac5104f104ef486f61527e48d627de74794354a2c PYTHON_PYICU_LICENSE = MIT PYTHON_PYICU_LICENSE_FILES = LICENSE PYTHON_PYICU_DEPENDENCIES = icu diff --git a/package/python-pyjwt/python-pyjwt.hash b/package/python-pyjwt/python-pyjwt.hash index 249f0e478e..06b91bc14a 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 228adbf1f9d2bcd42bbfb6d3b43dc48a PyJWT-2.7.0.tar.gz -sha256 bd6ca4a3c4285c1a2d4349e5a035fdf8fb94e04ccd0fcbe6ba289dae9cc3e074 PyJWT-2.7.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 982bc758df..d4cf226941 100644 --- a/package/python-pyjwt/python-pyjwt.mk +++ b/package/python-pyjwt/python-pyjwt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYJWT_VERSION = 2.7.0 +PYTHON_PYJWT_VERSION = 2.8.0 PYTHON_PYJWT_SOURCE = PyJWT-$(PYTHON_PYJWT_VERSION).tar.gz -PYTHON_PYJWT_SITE = https://files.pythonhosted.org/packages/e0/f0/9804c72e9a314360c135f42c434eb42eaabb5e7ebad760cbd8fc7023be38 +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-pylibftdi/0001-do-not-use-find-library.patch b/package/python-pylibftdi/0001-do-not-use-find-library.patch index 192ed43e54..19dabebffe 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 ee0ba127ca..5d8a19647f 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 34040b72ac..7dca37e416 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-pymysql/python-pymysql.hash b/package/python-pymysql/python-pymysql.hash index dd81bdab7e..641d5dba97 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 3703572f35..c600fe515c 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 f9b1e4a86b..fb5f75db96 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 1be2c02bf3c0c4e5e7c51b9ac90ebd72 pyOpenSSL-23.0.0.tar.gz -sha256 c1cc5f86bcacefc84dada7d31175cae1b1518d5f60d3d0bb595a67822a868a6f pyOpenSSL-23.0.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 1d89f5b696..9865f2bb00 100644 --- a/package/python-pyopenssl/python-pyopenssl.mk +++ b/package/python-pyopenssl/python-pyopenssl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYOPENSSL_VERSION = 23.0.0 +PYTHON_PYOPENSSL_VERSION = 23.3.0 PYTHON_PYOPENSSL_SOURCE = pyOpenSSL-$(PYTHON_PYOPENSSL_VERSION).tar.gz -PYTHON_PYOPENSSL_SITE = https://files.pythonhosted.org/packages/af/6e/0706d5e0eac08fcff586366f5198c9bf0a8b46f0f45b1858324e0d94c295 +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 9da56f9f68..6941f2c012 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 742e7cd0a67455c1df90061b42088bd2 build-0.10.0.tar.gz -sha256 d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269 build-0.10.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 d7c03323b7..266720a555 100644 --- a/package/python-pypa-build/python-pypa-build.mk +++ b/package/python-pypa-build/python-pypa-build.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYPA_BUILD_VERSION = 0.10.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/de/1c/fb62f81952f0e74c3fbf411261d1adbdd2d615c89a24b42d0fe44eb4bcf3 +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 = flit-bootstrap diff --git a/package/python-pyparsing/python-pyparsing.hash b/package/python-pyparsing/python-pyparsing.hash index 0a41a4033a..4514e2d402 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 93b2b40f3d1ffa5c3dd795aad8f5829e pyparsing-3.1.0.tar.gz -sha256 edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea pyparsing-3.1.0.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 a7d6ea30d2..0538c8df0a 100644 --- a/package/python-pyparsing/python-pyparsing.mk +++ b/package/python-pyparsing/python-pyparsing.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYPARSING_VERSION = 3.1.0 +PYTHON_PYPARSING_VERSION = 3.1.1 PYTHON_PYPARSING_SOURCE = pyparsing-$(PYTHON_PYPARSING_VERSION).tar.gz -PYTHON_PYPARSING_SITE = https://files.pythonhosted.org/packages/4f/13/28e88033cab976721512e7741000fb0635fa078045e530a91abb25aea0c0 +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 60f54a5484..430bf204a1 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-pypng/Config.in b/package/python-pypng/Config.in new file mode 100644 index 0000000000..952b46c2c5 --- /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 0000000000..0f55eef702 --- /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 0000000000..07ad16b67b --- /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-metadata/python-pyproject-metadata.hash b/package/python-pyproject-metadata/python-pyproject-metadata.hash new file mode 100644 index 0000000000..51a3e4b85b --- /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 0000000000..6fac22abee --- /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 055fb3049c..6429729a7b 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 bac8809f2d..87693d028b 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 fb4a1cbe5d..023b8e7c44 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 d5c9a22656..780a7f09d9 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 761266eab1f9dc9280cdb0a6d2dedb08 pyrsistent-0.19.3.tar.gz -sha256 1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440 pyrsistent-0.19.3.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 f3457feebe..6c52d7dbc8 100644 --- a/package/python-pyrsistent/python-pyrsistent.mk +++ b/package/python-pyrsistent/python-pyrsistent.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYRSISTENT_VERSION = 0.19.3 +PYTHON_PYRSISTENT_VERSION = 0.20.0 PYTHON_PYRSISTENT_SOURCE = pyrsistent-$(PYTHON_PYRSISTENT_VERSION).tar.gz -PYTHON_PYRSISTENT_SITE = https://files.pythonhosted.org/packages/bf/90/445a7dbd275c654c268f47fa9452152709134f61f09605cf776407055a89 +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 0000000000..737f194fd4 --- /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 0000000000..952d14c351 --- /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 0000000000..b98c08602d --- /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 0000000000..b38c47f0c8 --- /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-pyspnego/python-pyspnego.hash b/package/python-pyspnego/python-pyspnego.hash index 0ae6cf1d4e..dc808d4204 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 93ab1a088d65e6a7c97efdb567ba37b0 pyspnego-0.7.0.tar.gz -sha256 da78096fd7c9f40e716f6fbe3e30d913103d75fd676f839f98fc3a6fee92fbe3 pyspnego-0.7.0.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 2fbb779d98..740e6eec15 100644 --- a/package/python-pyspnego/python-pyspnego.mk +++ b/package/python-pyspnego/python-pyspnego.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYSPNEGO_VERSION = 0.7.0 +PYTHON_PYSPNEGO_VERSION = 0.10.2 PYTHON_PYSPNEGO_SOURCE = pyspnego-$(PYTHON_PYSPNEGO_VERSION).tar.gz -PYTHON_PYSPNEGO_SITE = https://files.pythonhosted.org/packages/97/f3/bdf3cd5f4c5a1bf9e1d4bb771c133850ee08241c18cafd90a6d872937a9f +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 889cb79820..00be18510f 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 041c30eb6c..e0252625cd 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 f082542dfb..d4432ee121 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 d865a89330..d8bc3615dd 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 6198a46608..29a38c7dc7 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 805da62a533c75a9bccadee485f98c27 pytest-asyncio-0.21.0.tar.gz -sha256 2b38a496aef56f56b0e87557ec313e11e1ab9276fc3863f6a7be0f1d0e415e1b pytest-asyncio-0.21.0.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 6bf7e33577..8464c70f5f 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.21.0 +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/85/c7/9db0c6215f12f26b590c24acc96d048e03989315f198454540dff95109cd +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 c8f9a6eb5b..b42457e67d 100644 --- a/package/python-pytest/Config.in +++ b/package/python-pytest/Config.in @@ -4,7 +4,6 @@ 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_PYTHON3_PYEXPAT # runtime select BR2_PACKAGE_PYTHON3_ZLIB # runtime help diff --git a/package/python-pytest/python-pytest.hash b/package/python-pytest/python-pytest.hash index c648a85c04..e710003535 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 67e2aa27bb98e5af13b45a1b2e67b144 pytest-7.3.2.tar.gz -sha256 ee990a3cc55ba808b80795a79944756f315c67c12b56abd3ac993a7b8c17030b pytest-7.3.2.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 27277163d2..3170a1a9db 100644 --- a/package/python-pytest/python-pytest.mk +++ b/package/python-pytest/python-pytest.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTEST_VERSION = 7.3.2 +PYTHON_PYTEST_VERSION = 7.4.4 PYTHON_PYTEST_SOURCE = pytest-$(PYTHON_PYTEST_VERSION).tar.gz -PYTHON_PYTEST_SITE = https://files.pythonhosted.org/packages/58/2a/07c65fdc40846ecb8a9dcda2c38fcb5a06a3e39d08d4a4960916431951cb +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 2dfc445b2f..a46825c933 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 3090288af50566af75cb058d1878aaad pythran-0.13.1.tar.gz -sha256 8aad08162f010e5425a7b254dd68d83311b430bb29f9252dce2eff3ba39497dd pythran-0.13.1.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 25735ad95a..43853a514d 100644 --- a/package/python-pythran/python-pythran.mk +++ b/package/python-pythran/python-pythran.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTHRAN_VERSION = 0.13.1 +PYTHON_PYTHRAN_VERSION = 0.15.0 PYTHON_PYTHRAN_SOURCE = pythran-$(PYTHON_PYTHRAN_VERSION).tar.gz -PYTHON_PYTHRAN_SITE = https://files.pythonhosted.org/packages/8d/d8/b27e8dc3f3a03dcd317d40d9df0ae07ebbd85444585973ceba07716934d0 +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 861f9d6f35..be6f0e976b 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 fe54c8f8a1544b4e78b523b264ab071b pytz-2023.3.tar.gz -sha256 1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588 pytz-2023.3.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 4754efe41a..182d8156fc 100644 --- a/package/python-pytz/python-pytz.mk +++ b/package/python-pytz/python-pytz.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTZ_VERSION = 2023.3 +PYTHON_PYTZ_VERSION = 2023.3.post1 PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).tar.gz -PYTHON_PYTZ_SITE = https://files.pythonhosted.org/packages/5e/32/12032aa8c673ee16707a9b6cdda2b09c0089131f35af55d443b6a9c69c1d +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 e0da067cc2..aa98c2cc61 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 014bf20933..72eb323e1f 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 5d48cd4f7c..53d60572a8 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 6555ed80b6..0000000000 --- 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 f24cd42e5a..0000000000 --- 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 6af10b51e7..0000000000 --- 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-pyzmq/python-pyzmq.hash b/package/python-pyzmq/python-pyzmq.hash index efbc91d83c..3c91d25995 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 5792957eaf..1d9a7d01cb 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 9a17cc1f08..6e63d83e41 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 1ab84dd355..48b2d7b2b0 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 23e7dd3b88..97b181a1e1 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 4143e1f1c1..e22959cf7b 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 e27f87bd50..2d9df87a10 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 ad365234df634680d15294ddc87c42de redis-4.5.5.tar.gz -sha256 dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880 redis-4.5.5.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 186702dc83..067a754352 100644 --- a/package/python-redis/python-redis.mk +++ b/package/python-redis/python-redis.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REDIS_VERSION = 4.5.5 +PYTHON_REDIS_VERSION = 5.0.1 PYTHON_REDIS_SOURCE = redis-$(PYTHON_REDIS_VERSION).tar.gz -PYTHON_REDIS_SITE = https://files.pythonhosted.org/packages/53/30/128c5599bc3fa61488866be0228326b3e486be34480126f70e572043adf8 +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 fdafc89f49..c1729f0aeb 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 2a7fd42a05..66e85fb40a 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 0000000000..273c42543e --- /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 0000000000..2880a47477 --- /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 0000000000..27d1452e91 --- /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 5f582d085a..89ead69c04 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 11a5765e41..7454db99bb 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 81bd460ecc..6b1938bc0c 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 ba2b95152e..7d5b4b65c2 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 28abf2c628..12bc58131d 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 8c141e3aa9..d0bcb1bb21 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-rpds-py/python-rpds-py.hash b/package/python-rpds-py/python-rpds-py.hash index e42dfbd948..4650d9c385 100644 --- a/package/python-rpds-py/python-rpds-py.hash +++ b/package/python-rpds-py/python-rpds-py.hash @@ -1,4 +1,4 @@ # Locally calculated after vendoring -sha256 3b1087c3c7d55b8730dfaa539147646292074819295812267832ce5b64a0034c rpds_py-0.9.2.tar.gz +sha256 760b05720269195d86071ac7cf627b3a4ab9366680d8d449a6a63b84d96a5bc0 rpds_py-0.17.1.tar.gz # Locally computed sha256 checksums -sha256 8bcb72c82ea8ae74802293c41d93ad7d51434001b0ae45a603a5af0f507aee0a LICENSE +sha256 314e4e91be3baa93c0fb4bccc9e4e97cd643eb839b065af921782c2175fe9909 LICENSE diff --git a/package/python-rpds-py/python-rpds-py.mk b/package/python-rpds-py/python-rpds-py.mk index 2b5530f237..80670f2e4f 100644 --- a/package/python-rpds-py/python-rpds-py.mk +++ b/package/python-rpds-py/python-rpds-py.mk @@ -4,19 +4,11 @@ # ################################################################################ -PYTHON_RPDS_PY_VERSION = 0.9.2 +PYTHON_RPDS_PY_VERSION = 0.17.1 PYTHON_RPDS_PY_SOURCE = rpds_py-$(PYTHON_RPDS_PY_VERSION).tar.gz -PYTHON_RPDS_PY_SITE = https://files.pythonhosted.org/packages/da/3c/fa2701bfc5d67f4a23f1f0f4347284c51801e9dbc24f916231c2446647df -PYTHON_RPDS_PY_SETUP_TYPE = pep517 +PYTHON_RPDS_PY_SITE = https://files.pythonhosted.org/packages/b7/0a/e3bdcc977e6db3bf32a3f42172f583adfa7c3604091a03d512333e0161fe +PYTHON_RPDS_PY_SETUP_TYPE = maturin PYTHON_RPDS_PY_LICENSE = MIT PYTHON_RPDS_PY_LICENSE_FILES = LICENSE -PYTHON_RPDS_PY_DEPENDENCIES = host-python-maturin -PYTHON_RPDS_PY_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_RPDS_PY_DOWNLOAD_POST_PROCESS = cargo -PYTHON_RPDS_PY_DOWNLOAD_DEPENDENCIES = host-rustc -PYTHON_RPDS_PY_DL_ENV = $(PKG_CARGO_ENV) $(eval $(python-package)) diff --git a/package/python-rsa/python-rsa.mk b/package/python-rsa/python-rsa.mk index 01b5c49b50..d84ba8b431 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 04d22ed1a4..59f17d9d62 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 9afe8c0315..16f9dea573 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 3c2e39fffd..39c390edb2 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 09bde874f0..6396d26a3f 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 16f0face72..48be6b3a8b 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 60a72da729..6fae824862 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-schedule/python-schedule.hash b/package/python-schedule/python-schedule.hash index 3d67be0f5e..59c84c2002 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 fc6081cf22..11be2e49d4 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 229b5997ad..aa7eefd44d 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 0274679c43..bee5d698a0 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 a8c23c6c88..6626826e33 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 1b0f2276dc..4e250eee95 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 0000000000..e6080fd417 --- /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 0000000000..58142c184f --- /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 0000000000..2c230ee26b --- /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/python-selenium.hash b/package/python-selenium/python-selenium.hash index 03a9683a21..ef1c34bfd3 100644 --- a/package/python-selenium/python-selenium.hash +++ b/package/python-selenium/python-selenium.hash @@ -1,3 +1,3 @@ # md5, sha256 from https://pypi.org/pypi/selenium/json -md5 02404033a10b2b29aa098f50503c0a1a selenium-4.9.1.tar.gz -sha256 3444f4376321530c36ce8355b6b357d8cf4a7d588ce5cf772183465930bbed0e selenium-4.9.1.tar.gz +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 index d59a16a57d..0428cefa46 100644 --- a/package/python-selenium/python-selenium.mk +++ b/package/python-selenium/python-selenium.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SELENIUM_VERSION = 4.9.1 +PYTHON_SELENIUM_VERSION = 4.16.0 PYTHON_SELENIUM_SOURCE = selenium-$(PYTHON_SELENIUM_VERSION).tar.gz -PYTHON_SELENIUM_SITE = https://files.pythonhosted.org/packages/fd/e2/0e5bee6762a7bf7852b47a79c5b12f9e526e6962958dbb9719fa490ba24c +PYTHON_SELENIUM_SITE = https://files.pythonhosted.org/packages/16/fd/a0ef793383077dd6296e4637acc82d1e9893e9a49a47f56e96996909e427 PYTHON_SELENIUM_SETUP_TYPE = setuptools PYTHON_SELENIUM_LICENSE = Apache-2.0 diff --git a/package/python-semver/Config.in b/package/python-semver/Config.in index 4af2bbf449..db83d8edc4 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 10cb0a8464..1e06167610 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 d3a905754f..29d7ba46b1 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 38ae3380a8..2534a48221 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 ea2d728c847879f66c3d24cfbade2026 sentry-sdk-1.12.1.tar.gz -sha256 5bbe4b72de22f9ac1e67f2a4e6efe8fbd595bb59b7b223443f50fe5802a5551c sentry-sdk-1.12.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 c3092a5184..f1c5648f07 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.12.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/32/03/496a7c8313658dec419303e8add969f314b7538c29f4ec5ebe6d86fb8ce2 +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 278900971e..3bb5c08c6f 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 f648918dbd..32d8f21ad4 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 e4ae8e6889..6e61dd951b 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 ac8fed986a..f60595bf6c 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 7055920c08..ca2d0ffbc6 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 f8282277a1..a83288e43a 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 f7a1602f3c34e9a5bb82603d4d80c9e3 setuptools-rust-1.6.0.tar.gz -sha256 c86e734deac330597998bfbc08da45187e6b27837e23bd91eadb320732392262 setuptools-rust-1.6.0.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 a3e4d7a9d3..f07263becf 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.6.0 +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/0e/c9/6f9de9f7a8404416d5d22484ccdeb138f469cc1e11bbd62a2bd26d5c1385 +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-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 40b4b0e7f7..0000000000 --- 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 278fc972e5..0000000000 --- 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 8cfe07d1d9..1a884dbbbf 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 158dc741637fb4fa4b955c62bd2c08be setuptools_scm-7.1.0.tar.gz -sha256 6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27 setuptools_scm-7.1.0.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 5a35c35a1f..4cbf914690 100644 --- a/package/python-setuptools-scm/python-setuptools-scm.mk +++ b/package/python-setuptools-scm/python-setuptools-scm.mk @@ -4,15 +4,16 @@ # ################################################################################ -PYTHON_SETUPTOOLS_SCM_VERSION = 7.1.0 -PYTHON_SETUPTOOLS_SCM_SOURCE = setuptools_scm-$(PYTHON_SETUPTOOLS_SCM_VERSION).tar.gz -PYTHON_SETUPTOOLS_SCM_SITE = https://files.pythonhosted.org/packages/98/12/2c1e579bb968759fc512391473340d0661b1a8c96a59fb7c65b02eec1321 +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-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 b688745ce4..d93298e118 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/python-setuptools.hash b/package/python-setuptools/python-setuptools.hash index 45413af27e..7f13ac3896 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 c5e4ff6557d99204464aa300c0bad7d4 setuptools-68.0.0.tar.gz -sha256 baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235 setuptools-68.0.0.tar.gz +# 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 39ead10f55..0aea3c6cfa 100644 --- a/package/python-setuptools/python-setuptools.mk +++ b/package/python-setuptools/python-setuptools.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SETUPTOOLS_VERSION = 68.0.0 +PYTHON_SETUPTOOLS_VERSION = 69.0.3 PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).tar.gz -PYTHON_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/dc/98/5f896af066c128669229ff1aa81553ac14cfb3e5e74b6b44594132b8540e +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 diff --git a/package/python-sh/python-sh.hash b/package/python-sh/python-sh.hash index a31aacdee1..c0d3f62f12 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 781de88ab1..af4da3f6c9 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 a8b946b2c4..9f96f99bf4 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 ecd07fca7a7fa0bcc9acdf9d82e41eb1 simplejson-3.18.1.tar.gz -sha256 746086e3ef6d74b53599df31b491d88a355abf2e31c837137dd90f8c4561cafa simplejson-3.18.1.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 5782626387..d5ba3948b7 100644 --- a/package/python-simplejson/python-simplejson.mk +++ b/package/python-simplejson/python-simplejson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIMPLEJSON_VERSION = 3.18.1 +PYTHON_SIMPLEJSON_VERSION = 3.19.2 PYTHON_SIMPLEJSON_SOURCE = simplejson-$(PYTHON_SIMPLEJSON_VERSION).tar.gz -PYTHON_SIMPLEJSON_SITE = https://files.pythonhosted.org/packages/0f/a0/79d2bec499cb53678bc20d41f9706ca02777f0876efa9b29a69fb3d55dfd +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 81501c9e83..d650439dce 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 06edbfab3d..8060437718 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 ea60cefc16..d8efe23a6c 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 0000000000..17c3e05314 --- /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 2db3932216..4a0d1a7e1c 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 a46f9f635b..b9d5f74999 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 17c2b17dbc..ece0744252 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-socketio/python-socketio.hash b/package/python-socketio/python-socketio.hash index abdcc3a5b7..a7756eb39d 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 aecff55ef4..dc0c24fef5 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 cf348d441f..278c7d1b0c 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 ebf2ada7ac..581df7e787 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 0000000000..3b5db5342c --- /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-sqlalchemy/Config.in b/package/python-sqlalchemy/Config.in index f7ec3a6ad4..974393bb5c 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 9f479d8f7b..7951a32978 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 a94b9eca92..400ad92f63 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 102a615765..3097102100 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 d5fe6e7af1..7fe8ee925d 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 c399ebd6f6..4b224048f9 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 c78fd2edc3..0b7c14d9ae 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 23b1338e49..3f99eb6476 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/python-stack-data.hash b/package/python-stack-data/python-stack-data.hash index 6decd3ca8e..b155a77c81 100644 --- a/package/python-stack-data/python-stack-data.hash +++ b/package/python-stack-data/python-stack-data.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/stack_data/json -md5 bf86c3c81a0158e1e7f3979da5a0033b stack_data-0.6.2.tar.gz -sha256 32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815 stack_data-0.6.2.tar.gz +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 index 494ce8f454..7c38d2c4eb 100644 --- a/package/python-stack-data/python-stack-data.mk +++ b/package/python-stack-data/python-stack-data.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_STACK_DATA_VERSION = 0.6.2 +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/db/18/aa7f2b111aeba2cd83503254d9133a912d7f61f459a0c8561858f0d72a56 -PYTHON_STACK_DATA_SETUP_TYPE = setuptools +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 0000000000..90f590689a --- /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 0000000000..03d77cf5be --- /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 0000000000..9d137f5f5a --- /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 789b48590d..6cc6639218 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 3ccfd57ce5..fdc5d7e278 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 9947f41af6..3ee3057a39 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 3613589ae0..19fd4ea9c5 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 48f544b115..43e22d45d1 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 0000000000..e3e9058483 --- /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 0000000000..cf5ca0e5f3 --- /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 0000000000..5c42320c17 --- /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 508cbae3f3..3f4481422a 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 ac6483b77f..ff7093394f 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 87fc0d99edd557323e61a16017707a8b tempora-5.2.0.tar.gz -sha256 af82eb016decda8daf566d1e4836f94f7f8ba8c7153637460156e081aadc64df tempora-5.2.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 3074ad0de2..d1b333ec0a 100644 --- a/package/python-tempora/python-tempora.mk +++ b/package/python-tempora/python-tempora.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TEMPORA_VERSION = 5.2.0 +PYTHON_TEMPORA_VERSION = 5.5.0 PYTHON_TEMPORA_SOURCE = tempora-$(PYTHON_TEMPORA_VERSION).tar.gz -PYTHON_TEMPORA_SITE = https://files.pythonhosted.org/packages/97/70/5cf5031a83ca6d0431a53459b2a98aa387ba23d06710a5e48d681ff3956f +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 9be0ad00c8..ed69ab06d1 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 ba0af4ee713cd0030c2d436091af4241 termcolor-2.2.0.tar.gz -sha256 dfc8ac3f350788f23b2947b3e6cfa5a53b630b612e6cd8965a015a776020b99a termcolor-2.2.0.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 5cbedfb396..c242cfa474 100644 --- a/package/python-termcolor/python-termcolor.mk +++ b/package/python-termcolor/python-termcolor.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TERMCOLOR_VERSION = 2.2.0 +PYTHON_TERMCOLOR_VERSION = 2.4.0 PYTHON_TERMCOLOR_SOURCE = termcolor-$(PYTHON_TERMCOLOR_VERSION).tar.gz -PYTHON_TERMCOLOR_SITE = https://files.pythonhosted.org/packages/e5/4e/b2a54a21092ad2d5d70b0140e4080811bee06a39cc8481651579fe865c89 +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 0000000000..ef21ac58de --- /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 0000000000..1fae4fdeef --- /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 0000000000..fd3c601496 --- /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-trafaret/Config.in b/package/python-trafaret/Config.in new file mode 100644 index 0000000000..73c7216b1e --- /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 0000000000..d0d54c9ff2 --- /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 0000000000..74d87a3d13 --- /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-trove-classifiers/python-trove-classifiers.hash b/package/python-trove-classifiers/python-trove-classifiers.hash new file mode 100644 index 0000000000..26b813eded --- /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 0000000000..d0d79d297c --- /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-types-python-dateutil/Config.in b/package/python-types-python-dateutil/Config.in new file mode 100644 index 0000000000..e2a8bb6341 --- /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 0000000000..ef5e9380cf --- /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 0000000000..b230394120 --- /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 fedb9e0446..778b2d5771 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 06e7fff4b1d51f8dc6f49b16e71de54e typing_extensions-4.7.1.tar.gz -sha256 b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2 typing_extensions-4.7.1.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 3b2f81fe21d181c499c59a256c8e1968455d6689d269aa85373bfb6af41da3bf LICENSE diff --git a/package/python-typing-extensions/python-typing-extensions.mk b/package/python-typing-extensions/python-typing-extensions.mk index 9d41b0a6a5..89ed75bda7 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.7.1 +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/3c/8b/0111dd7d6c1478bf83baa1cab85c686426c7a6274119aceb2bd9d35395ad +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-urllib3/python-urllib3.hash b/package/python-urllib3/python-urllib3.hash index 2da7abdf29..209cfe277e 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 5d541b944febe50221e24c31cd6e887d urllib3-2.0.4.tar.gz -sha256 8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11 urllib3-2.0.4.tar.gz +md5 5a264ef3ae827e5842bbc80536a343dd urllib3-2.0.7.tar.gz +sha256 c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84 urllib3-2.0.7.tar.gz # Locally computed sha256 checksums sha256 130e3a64d5fdd5d096a752694634a7d9df284469de86e5732100268041e3d686 LICENSE.txt diff --git a/package/python-urllib3/python-urllib3.mk b/package/python-urllib3/python-urllib3.mk index 7ff58d9a4a..ba041082db 100644 --- a/package/python-urllib3/python-urllib3.mk +++ b/package/python-urllib3/python-urllib3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_URLLIB3_VERSION = 2.0.4 +PYTHON_URLLIB3_VERSION = 2.0.7 PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz -PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/31/ab/46bec149bbd71a4467a3063ac22f4486ecd2ceb70ae8c70d5d8e4c2a7946 +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 diff --git a/package/python-urwid-readline/Config.in b/package/python-urwid-readline/Config.in new file mode 100644 index 0000000000..a8046fc25b --- /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 0000000000..75220e937b --- /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 0000000000..782c425b65 --- /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 0000000000..c84f54781f --- /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 0000000000..c7feaf3bfe --- /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 0000000000..502cc06ad8 --- /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/python-uvloop.hash b/package/python-uvloop/python-uvloop.hash index 69834d5243..481dbd0569 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 147062cf7b..285884a2bb 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 8a2ddb49fb..6eb6913ab6 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 4f4e1c21f8..3682850cb3 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 731aca11f6..09ccbe6ab7 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 0000000000..44cbeb1593 --- /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 0000000000..5dbf0dd1c2 --- /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-weasyprint/Config.in b/package/python-weasyprint/Config.in index 18d72d742e..65210fb1eb 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-web2py/python-web2py.hash b/package/python-web2py/python-web2py.hash index c0ce0cc352..1b4d8f5632 100644 --- a/package/python-web2py/python-web2py.hash +++ b/package/python-web2py/python-web2py.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 f4066d76290b333bc1bb1cf4c23b612eebde712b7112e90a72e7609a14690d2c python-web2py-2.23.1.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 2a666cae17..fe7774fc2b 100644 --- a/package/python-web2py/python-web2py.mk +++ b/package/python-web2py/python-web2py.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_WEB2PY_VERSION = 2.23.1 +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-werkzeug/python-werkzeug.hash b/package/python-werkzeug/python-werkzeug.hash index 07b6f2f40d..34adc67088 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 de26f240d6f95689a8d15170c2d958b6 Werkzeug-2.3.6.tar.gz -sha256 98c774df2f91b05550078891dee5f0eb0cb797a522c757a2452b9cee5b202330 Werkzeug-2.2.3.tar.gz +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 3b7c663437..e8ef32bb1b 100644 --- a/package/python-werkzeug/python-werkzeug.mk +++ b/package/python-werkzeug/python-werkzeug.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WERKZEUG_VERSION = 2.3.6 -PYTHON_WERKZEUG_SOURCE = Werkzeug-$(PYTHON_WERKZEUG_VERSION).tar.gz -PYTHON_WERKZEUG_SITE = https://files.pythonhosted.org/packages/d1/7e/c35cea5749237d40effc50ed1a1c7518d9f2e768fcf30b4e9ea119e74975 +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.mk b/package/python-wheel/python-wheel.mk index 159598fd1e..320995521e 100644 --- a/package/python-wheel/python-wheel.mk +++ b/package/python-wheel/python-wheel.mk @@ -10,5 +10,7 @@ PYTHON_WHEEL_SITE = https://files.pythonhosted.org/packages/fc/ef/0335f7217dd1e8 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 b388c3cc7c..9991f8f454 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 ce41d431ff..1f63aa5c40 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-zlmdb/Config.in b/package/python-zlmdb/Config.in index 8eba2d7946..007ca72723 100644 --- a/package/python-zlmdb/Config.in +++ b/package/python-zlmdb/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_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 @@ -18,7 +19,8 @@ config BR2_PACKAGE_PYTHON_ZLMDB https://github.com/crossbario/zlmdb -comment "python-zlmdb needs a glibc or musl toolchain w/ C++" +comment "python-zlmdb 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/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 0000000000..4d5afeb3cb --- /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.host b/package/python3/Config.in.host index 77d608bdc0..88c286c55b 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 39a16c1f71..962d32b5d9 100644 --- a/package/python3/python3.hash +++ b/package/python3/python3.hash @@ -1,5 +1,5 @@ -# From https://www.python.org/downloads/release/python-3116/ -md5 d0c5a1a31efe879723e51addf56dd206 Python-3.11.6.tar.xz +# From https://www.python.org/downloads/release/python-3118/ +md5 b353b8433e560e1af2b130f56dfbd973 Python-3.11.8.tar.xz # Locally computed -sha256 0fab78fa7f133f4f38210c6260d90d7c0d5c7198446419ce057ec7ac2e6f5f38 Python-3.11.6.tar.xz +sha256 9e06008c8901924395bc1da303eac567a729ae012baa182ab39269f650383bb3 Python-3.11.8.tar.xz sha256 3b2f81fe21d181c499c59a256c8e1968455d6689d269aa85373bfb6af41da3bf LICENSE diff --git a/package/python3/python3.mk b/package/python3/python3.mk index b9c5054a21..5d9d77af50 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).6 +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 @@ -22,7 +22,6 @@ HOST_PYTHON3_CONF_OPTS += \ --disable-sqlite3 \ --disable-tk \ --with-expat=system \ - --disable-curses \ --disable-codecs-cjk \ --disable-nis \ --enable-unicodedata \ @@ -55,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/qdecoder/qdecoder.mk b/package/qdecoder/qdecoder.mk index c465617e26..9544dcf5e1 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/0003-meson-install-keyboard-maps-only-if-necessary.patch b/package/qemu/0003-meson-install-keyboard-maps-only-if-necessary.patch deleted file mode 100644 index 8ba7f3cf15..0000000000 --- a/package/qemu/0003-meson-install-keyboard-maps-only-if-necessary.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 9d9b74f806f5dbca53df6630c1a0591eaedd4500 Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Sun, 1 Jan 2023 21:00:57 -0300 -Subject: [PATCH] meson: install keyboard maps only if necessary - -They are required only for system emulation (i.e. have_system is true). - -Upstream: https://patchwork.kernel.org/project/qemu-devel/patch/20230327172147.196607-1-casantos@redhat.com/ -Signed-off-by: Carlos Santos -Signed-off-by: Carlos Santos ---- - pc-bios/keymaps/meson.build | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build -index 158a3b410c..bff3083313 100644 ---- a/pc-bios/keymaps/meson.build -+++ b/pc-bios/keymaps/meson.build -@@ -47,7 +47,7 @@ if native_qemu_keymap.found() - build_by_default: true, - output: km, - command: [native_qemu_keymap, '-f', '@OUTPUT@', args.split()], -- install: true, -+ install: have_system, - install_dir: qemu_datadir / 'keymaps') - endforeach - -@@ -56,4 +56,6 @@ else - install_data(keymaps.keys(), install_dir: qemu_datadir / 'keymaps') - endif - --install_data(['sl', 'sv'], install_dir: qemu_datadir / 'keymaps') -+if have_system -+ install_data(['sl', 'sv'], install_dir: qemu_datadir / 'keymaps') -+endif --- -2.31.1 - diff --git a/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch b/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch new file mode 100644 index 0000000000..36bdaa4978 --- /dev/null +++ b/package/qemu/0004-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 6fb34a0dae..8d53ced300 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -106,6 +106,15 @@ config BR2_PACKAGE_QEMU_FDT Say 'y' here to have QEMU capable of constructing Device Trees, and passing them to the VMs. +config BR2_PACKAGE_QEMU_TRACING + bool "Enable tracing" + help + 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" diff --git a/package/qemu/qemu.hash b/package/qemu/qemu.hash index e71742c243..61e51a923f 100644 --- a/package/qemu/qemu.hash +++ b/package/qemu/qemu.hash @@ -1,4 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 ecf4d32cbef9d397bfc8cc50e4d1e92a1b30253bf32e8ee73c7a8dcf9a232b09 qemu-8.0.3.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 b341d0220d..ef406dc8e9 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -6,9 +6,10 @@ # When updating the version, check whether the list of supported targets # needs to be updated. -QEMU_VERSION = 8.0.3 +QEMU_VERSION = 8.1.1 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz 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; @@ -16,6 +17,12 @@ 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. @@ -26,6 +33,7 @@ QEMU_DEPENDENCIES = \ host-meson \ host-pkgconf \ host-python3 \ + host-python-distlib \ libglib2 \ zlib @@ -159,6 +167,12 @@ 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 @@ -234,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 @@ -272,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 \ @@ -313,7 +334,7 @@ define QEMU_CONFIGURE_CMDS --enable-attr \ --enable-kvm \ --enable-vhost-net \ - --with-git-submodules=ignore \ + --disable-download \ --disable-hexagon-idef-parser \ $(QEMU_OPTS) endef @@ -339,6 +360,7 @@ HOST_QEMU_DEPENDENCIES = \ host-pixman \ host-pkgconf \ host-python3 \ + host-python-distlib \ host-slirp \ host-zlib @@ -458,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 \ @@ -476,6 +498,7 @@ define HOST_QEMU_CONFIGURE_CMDS --disable-netmap \ --disable-oss \ --disable-pa \ + --disable-pipewire \ --disable-sdl \ --disable-selinux \ --disable-vde \ diff --git a/package/qoriq-fm-ucode/Config.in b/package/qoriq-fm-ucode/Config.in new file mode 100644 index 0000000000..b9855f4526 --- /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 0000000000..5c664356c0 --- /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 0000000000..5dfdf1e8f8 --- /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/qpdf/qpdf.mk b/package/qpdf/qpdf.mk index a58781f4f1..d479515789 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/qt5.mk b/package/qt5/qt5.mk index b55accacf1..a43b36dd51 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).10 +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 b876f1948e..6e6a7cf984 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 4efc8fa172..ffc474f49e 100644 --- a/package/qt5/qt5base/qt5base.hash +++ b/package/qt5/qt5base/qt5base.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 5622a9053154af9a353b8e8be217104c6af068b5b5aba8b07ef4fea2dc79fded qtbase-e44097b63d17ba3178a637df7fac51ddc51cb48b.tar.bz2 +sha256 935d01f5c34903ad9e979431cec7a8a59332ed3fc539e639f5ba87e8d6989b9d qtbase-da6e958319e95fe564d3b30c931492dd666bfaff.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index 028236d2ed..e173639cca 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -4,9 +4,11 @@ # ################################################################################ -QT5BASE_VERSION = e44097b63d17ba3178a637df7fac51ddc51cb48b +QT5BASE_VERSION = da6e958319e95fe564d3b30c931492dd666bfaff QT5BASE_SITE = $(QT5_SITE)/qtbase/-/archive/$(QT5BASE_VERSION) QT5BASE_SOURCE = qtbase-$(QT5BASE_VERSION).tar.bz2 +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)) diff --git a/package/qt5/qt5charts/qt5charts.hash b/package/qt5/qt5charts/qt5charts.hash index 0688f64615..fec54c86b1 100644 --- a/package/qt5/qt5charts/qt5charts.hash +++ b/package/qt5/qt5charts/qt5charts.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 9d2ad94a054bd7df08e5d11bc77b6422ccecbf99ea8dd6f06908bafc72ea869d qtcharts-841083c263f16f8acb81e4915bf24bbed0461c9a.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 fa69263be4..bfc6021289 100644 --- a/package/qt5/qt5charts/qt5charts.mk +++ b/package/qt5/qt5charts/qt5charts.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5CHARTS_VERSION = 841083c263f16f8acb81e4915bf24bbed0461c9a +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/qt5connectivity/qt5connectivity.hash b/package/qt5/qt5connectivity/qt5connectivity.hash index 1252a73247..776448502b 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 72797de1a0..dc5e647e0b 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 0e7978dc58..3db5c94458 100644 --- a/package/qt5/qt5declarative/qt5declarative.hash +++ b/package/qt5/qt5declarative/qt5declarative.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 dbe0cdf84767564a56abf9d0d867c9cfcc754827169357a0f8162309c11882b5 qtdeclarative-b3aaf1482c48bbc0ca4f7c7934597c055afe4b6a.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 18c1608fca..99c88e7d06 100644 --- a/package/qt5/qt5declarative/qt5declarative.mk +++ b/package/qt5/qt5declarative/qt5declarative.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5DECLARATIVE_VERSION = b3aaf1482c48bbc0ca4f7c7934597c055afe4b6a +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/qt5graphicaleffects/qt5graphicaleffects.hash b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash index 95567b2476..e5fdaf67bf 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 de41af344889d35252fec9a6b6c78e1f67b7a7be15a5d3986b2ec20e2fcafadc qtgraphicaleffects-e6e1e58ec28fd0f2e6426e6962cc4ccddb493349.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 f829c67122..ddf805303b 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5GRAPHICALEFFECTS_VERSION = e6e1e58ec28fd0f2e6426e6962cc4ccddb493349 +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 9d821672b3..779db8d109 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.hash +++ b/package/qt5/qt5imageformats/qt5imageformats.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 8bf646d4db7d0099dd49b7c049a64fb585a3e180d73fc2b6edf22a1384529d1d qtimageformats-9044695f4b1acdd7ec24e7b01f6a6ca61f982a75.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 0ce6e4ffb4..27ef05777d 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.mk +++ b/package/qt5/qt5imageformats/qt5imageformats.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5IMAGEFORMATS_VERSION = 9044695f4b1acdd7ec24e7b01f6a6ca61f982a75 +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/qt5location/qt5location.hash b/package/qt5/qt5location/qt5location.hash index f73053f388..0188f51c83 100644 --- a/package/qt5/qt5location/qt5location.hash +++ b/package/qt5/qt5location/qt5location.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 90b57a335d8c7311a86865a56b2b9cd944a8a1cafa6a7499de5b35a105c5b247 qt5location-ebdf5b38da6e3fe0a183702bcca395c589c459ed-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 904d31a983..88bf3d289c 100644 --- a/package/qt5/qt5location/qt5location.mk +++ b/package/qt5/qt5location/qt5location.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5LOCATION_VERSION = ebdf5b38da6e3fe0a183702bcca395c589c459ed +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 cbd94fd111..642625753c 100644 --- a/package/qt5/qt5lottie/qt5lottie.hash +++ b/package/qt5/qt5lottie/qt5lottie.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 82336dd063f8bedc28e9545cc8c0123053434d6c681e470434c80ad3908ca4b0 qtlottie-d40b67401afe7156b03c62c9a4d517b07555fe64.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 42a920582a..d4ad3afc63 100644 --- a/package/qt5/qt5lottie/qt5lottie.mk +++ b/package/qt5/qt5lottie/qt5lottie.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5LOTTIE_VERSION = d40b67401afe7156b03c62c9a4d517b07555fe64 +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/qt5multimedia/qt5multimedia.hash b/package/qt5/qt5multimedia/qt5multimedia.hash index 4803ef9230..7925c4fe05 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.hash +++ b/package/qt5/qt5multimedia/qt5multimedia.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 842c5be64dafe7a68d2b120e24faffd14af6e4d9d8e9c0aa8bbf4330b3491aa3 qtmultimedia-76f84c545429a1b988b79f971734ef4bc3e6643f.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 0d0f5dd53d..7a56d238f2 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.mk +++ b/package/qt5/qt5multimedia/qt5multimedia.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5MULTIMEDIA_VERSION = 76f84c545429a1b988b79f971734ef4bc3e6643f +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 05a021e8b2..219dc8d588 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 e2c7bc6346a8eb4c21510f8fbf7e752648f68a0c5af8525a784e64503570f72c qtquickcontrols-e62b8b6d2f45a79652238b33f4bbe23023004ae7.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 25c1a74f5c..86792ddd8e 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5QUICKCONTROLS_VERSION = e62b8b6d2f45a79652238b33f4bbe23023004ae7 +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 88777a5cc3..91fb31a7b7 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 53caea73e6bdf234cb445067be3bc4e07ed59af7da967638ac598188b719958e qtquickcontrols2-74e8db97fdb9b55c4b4614b83f4bf17e00df55e9.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 1732921203..a2503eb9a3 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5QUICKCONTROLS2_VERSION = 74e8db97fdb9b55c4b4614b83f4bf17e00df55e9 +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 a8acf3c5a2..1c9f436b1b 100644 --- a/package/qt5/qt5quicktimeline/qt5quicktimeline.hash +++ b/package/qt5/qt5quicktimeline/qt5quicktimeline.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 d22637609c4afcc7560d92c894eb55d4afa01706bb5c86499bf56f7c8723a605 qtquicktimeline-87ad61716a7cba5a070d8a7b1756c8b2b48d5d53.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 de94bd0375..3a8542ab1b 100644 --- a/package/qt5/qt5quicktimeline/qt5quicktimeline.mk +++ b/package/qt5/qt5quicktimeline/qt5quicktimeline.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5QUICKTIMELINE_VERSION = 87ad61716a7cba5a070d8a7b1756c8b2b48d5d53 +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 1b41ab675f..a931ce09cb 100644 --- a/package/qt5/qt5remoteobjects/qt5remoteobjects.hash +++ b/package/qt5/qt5remoteobjects/qt5remoteobjects.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ef8e1f64911f7e03da6306693031fdf953af00d453ec154497178bb7ceab1aa2 qtremoteobjects-aa705010da0f658b78c1155babce7091ae44529a.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 3160d37ad7..5fea3487a5 100644 --- a/package/qt5/qt5remoteobjects/qt5remoteobjects.mk +++ b/package/qt5/qt5remoteobjects/qt5remoteobjects.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5REMOTEOBJECTS_VERSION = aa705010da0f658b78c1155babce7091ae44529a +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/qt5scxml/qt5scxml.hash b/package/qt5/qt5scxml/qt5scxml.hash index f4d52b8a52..0f13743f45 100644 --- a/package/qt5/qt5scxml/qt5scxml.hash +++ b/package/qt5/qt5scxml/qt5scxml.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 a0113f54d9df14ebae15dd85530f87f093a284372ee8237d1ccceb02e6a4607b qtscxml-631fd7bcc34802b7650c2b1dc73691463954d982.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 f6ccb9298e..32ef425e97 100644 --- a/package/qt5/qt5scxml/qt5scxml.mk +++ b/package/qt5/qt5scxml/qt5scxml.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SCXML_VERSION = 631fd7bcc34802b7650c2b1dc73691463954d982 +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 d43fa8ba65..37a23516df 100644 --- a/package/qt5/qt5sensors/qt5sensors.hash +++ b/package/qt5/qt5sensors/qt5sensors.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 8325826a259189fc7dea66651df4022a92a73664e953f86bce5bf5946ebacdf5 qtsensors-35eb5ac7eaef4745a38958c3ca780d7baa2e4f30.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 40bb72e038..29e257fdda 100644 --- a/package/qt5/qt5sensors/qt5sensors.mk +++ b/package/qt5/qt5sensors/qt5sensors.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SENSORS_VERSION = 35eb5ac7eaef4745a38958c3ca780d7baa2e4f30 +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 01ffd7c215..1d1861a4a3 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.hash +++ b/package/qt5/qt5serialbus/qt5serialbus.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 fe08415d2348797429dc09722478630ceee3d7477652a2712460e79127b7291b qtserialbus-f9f7eee60adac72fcf6617d164e3bf61222bb5c5.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 c718414932..3315ef5be7 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.mk +++ b/package/qt5/qt5serialbus/qt5serialbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SERIALBUS_VERSION = f9f7eee60adac72fcf6617d164e3bf61222bb5c5 +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 58461430c7..e95392b880 100644 --- a/package/qt5/qt5serialport/qt5serialport.hash +++ b/package/qt5/qt5serialport/qt5serialport.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 6d49d0da174632f51291b0190f6f1db2397a3b339cf293514252766f8a20c63b qtserialport-c9abfcd5d88cb43c2a7c1d5ddecbff4cdd320694.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 7d00bd2ab7..462d1dd7b9 100644 --- a/package/qt5/qt5serialport/qt5serialport.mk +++ b/package/qt5/qt5serialport/qt5serialport.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SERIALPORT_VERSION = c9abfcd5d88cb43c2a7c1d5ddecbff4cdd320694 +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/qt5speech.hash b/package/qt5/qt5speech/qt5speech.hash index 595aac9f22..3be66a77fe 100644 --- a/package/qt5/qt5speech/qt5speech.hash +++ b/package/qt5/qt5speech/qt5speech.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 6d0794ab9d5286d04fbac2db44c00ed3306e569c876f84cfd91ac0e79c834b1e qtspeech-d32f4a479d38a11f547598004b975f4356424a16.tar.bz2 +sha256 4be0161595806cfc5c9c3160a83d0379269a2813dd4b3ffe2e2a1328f23d8fbc qtspeech-214dcefc7c408e11a3e9fe9d221e4a384e2eaca1.tar.bz2 # Hashes for license files: sha256 6c3f3c31b93985f1b93bfbb35fb609d37281697d0efc220c9f91cf4b59eaabde LICENSE.GPLv2 diff --git a/package/qt5/qt5speech/qt5speech.mk b/package/qt5/qt5speech/qt5speech.mk index 8cf6fe19c1..c8054431df 100644 --- a/package/qt5/qt5speech/qt5speech.mk +++ b/package/qt5/qt5speech/qt5speech.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SPEECH_VERSION = d32f4a479d38a11f547598004b975f4356424a16 +QT5SPEECH_VERSION = 214dcefc7c408e11a3e9fe9d221e4a384e2eaca1 QT5SPEECH_SITE = $(QT5_SITE)/qtspeech/-/archive/$(QT5SPEECH_VERSION) QT5SPEECH_SOURCE = qtspeech-$(QT5SPEECH_VERSION).tar.bz2 QT5SPEECH_INSTALL_STAGING = YES diff --git a/package/qt5/qt5svg/qt5svg.hash b/package/qt5/qt5svg/qt5svg.hash index 4816206d64..f3e47da5de 100644 --- a/package/qt5/qt5svg/qt5svg.hash +++ b/package/qt5/qt5svg/qt5svg.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 063ee53515b934c00a65838fe8521142e4a9161b07c8e19b5bb0ea26a0ce9ab3 qtsvg-a9752b00a03438de8e5b080073816e12409404b7.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 2a39ed18fe..c1d019000b 100644 --- a/package/qt5/qt5svg/qt5svg.mk +++ b/package/qt5/qt5svg/qt5svg.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SVG_VERSION = a9752b00a03438de8e5b080073816e12409404b7 +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/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash index d603598257..d4ea0dc047 100644 --- a/package/qt5/qt5tools/qt5tools.hash +++ b/package/qt5/qt5tools/qt5tools.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 b6eebbd61dcde981d63ce6de39b3c957bad8f11b0140585ba4d57d166c4dd79d qttools-32912a06aadfc3dcbc34e0a668ce2c78351eee6e.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 a01a336584..98f3948d17 100644 --- a/package/qt5/qt5tools/qt5tools.mk +++ b/package/qt5/qt5tools/qt5tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5TOOLS_VERSION = 32912a06aadfc3dcbc34e0a668ce2c78351eee6e +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 60d51fa5fe..89559b63f2 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 e1e356e81f3a3fb5da6f6739aa475c15aab15090e202de6704441a3bf41c335b qtvirtualkeyboard-9fbb837b55887bec5d73fad142c853ef68db35b3.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 49ce71b75e..5657d78c30 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5VIRTUALKEYBOARD_VERSION = 9fbb837b55887bec5d73fad142c853ef68db35b3 +QT5VIRTUALKEYBOARD_VERSION = 817378aa10176fd26eed36542bc657e48d9dd42e QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)/qtvirtualkeyboard/-/archive/$(QT5VIRTUALKEYBOARD_VERSION) QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-$(QT5VIRTUALKEYBOARD_VERSION).tar.bz2 QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5declarative qt5svg diff --git a/package/qt5/qt5wayland/qt5wayland.hash b/package/qt5/qt5wayland/qt5wayland.hash index c9d7f3434c..f4a1663add 100644 --- a/package/qt5/qt5wayland/qt5wayland.hash +++ b/package/qt5/qt5wayland/qt5wayland.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 c881745403a7c3639ee928f64ac9e7252d7a941cb62ef682a7ee83ccf3ae0a60 qtwayland-8faf74a7966b520f0ac3eb4d88235f8ec63b31b8.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 aeca1b0381..4ce89fc46a 100644 --- a/package/qt5/qt5wayland/qt5wayland.mk +++ b/package/qt5/qt5wayland/qt5wayland.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5WAYLAND_VERSION = 8faf74a7966b520f0ac3eb4d88235f8ec63b31b8 +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 b5e9f1a043..7f2a357dbb 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 54e6a70ddb..8ba81383d1 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/Config.in b/package/qt5/qt5webengine/Config.in index 542f212dfc..99a2980a25 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 038446a9f4..e0447c70b1 100644 --- a/package/qt5/qt5webengine/qt5webengine.hash +++ b/package/qt5/qt5webengine/qt5webengine.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 4a3456df42e1c1b859232b3ee1d58360e629d55daf6e5ad308871142c1b0c2fa qtwebengine-v5.15.10-lts.tar.bz2 +sha256 e7c9534453472311c06605f2892e038e9920bf10ca3a0dad99b46955ea124618 qtwebengine-v5.15.11-lts.tar.bz2 # Locally calculated sha256 f34787ef0342c614b667186a6ec2f5d6b9d650e30142a2788a589a89743e88e9 LICENSE.Chromium diff --git a/package/qt5/qt5webkit-examples/Config.in b/package/qt5/qt5webkit-examples/Config.in deleted file mode 100644 index 47bbcbaa68..0000000000 --- a/package/qt5/qt5webkit-examples/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_QT5WEBKIT_EXAMPLES - bool "qt5webkit-examples" - depends on BR2_PACKAGE_QT5WEBKIT - help - Qt is a cross-platform application and UI framework for - developers using C++. - - This package contains examples for the qt5webkit module. - - http://qt.io diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples.hash b/package/qt5/qt5webkit-examples/qt5webkit-examples.hash deleted file mode 100644 index ea64f6f14e..0000000000 --- a/package/qt5/qt5webkit-examples/qt5webkit-examples.hash +++ /dev/null @@ -1,8 +0,0 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz.mirrorlist -sha256 e4ce4de6b468243abad2baabbe8ddfb05d25b186529bfe88cb8662fc983f54d0 qtwebkit-examples-opensource-src-5.9.1.tar.xz - -# Hashes for license files: -sha256 a3db6c7f3027aa27489c25a2fa259185cdee945780c32e01c60cbfabf4743b6c LICENSE.LGPLv21 -sha256 04505ee290cbe7b29b3766e00ff81987e84658f620cb43bd6e7bb52ee4234e1b LICENSE.LGPLv3 -sha256 6c3f3c31b93985f1b93bfbb35fb609d37281697d0efc220c9f91cf4b59eaabde LICENSE.GPLv2 -sha256 d3d9052b838761dbe00067168ed9ebc437734d53ebf71dea1c8e9f7532a5333b LICENSE.GPLv3 diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples.mk b/package/qt5/qt5webkit-examples/qt5webkit-examples.mk deleted file mode 100644 index 84bc291739..0000000000 --- a/package/qt5/qt5webkit-examples/qt5webkit-examples.mk +++ /dev/null @@ -1,26 +0,0 @@ -################################################################################ -# -# qt5webkit-examples -# -################################################################################ - -QT5WEBKIT_EXAMPLES_VERSION = 5.9.1 -QT5WEBKIT_EXAMPLES_SITE = https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules -QT5WEBKIT_EXAMPLES_SOURCE = qtwebkit-examples-opensource-src-$(QT5WEBKIT_VERSION).tar.xz -QT5WEBKIT_EXAMPLES_DEPENDENCIES = qt5webkit - -QT5WEBKIT_EXAMPLES_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv2 LICENSE.GPLv3 - -QT5WEBKIT_EXAMPLES_LICENSE = LGPL-2.1 with exception or LGPL-3 or GPL-2 or GPL-3 -# Source files contain references to LGPL_EXCEPTION.txt but it is not included -# in the archive. - -ifeq ($(BR2_PACKAGE_QT5XMLPATTERNS),y) -QT5WEBKIT_EXAMPLES_DEPENDENCIES += qt5xmlpatterns -endif - -ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y) -QT5WEBKIT_EXAMPLES_DEPENDENCIES += qt5declarative -endif - -$(eval $(qmake-package)) diff --git a/package/qt5/qt5websockets/qt5websockets.hash b/package/qt5/qt5websockets/qt5websockets.hash index 72fbb4a599..fa3cc48995 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 4eafb0b212..bb96fefe82 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 d928c7cdce..00525dbad2 100644 --- a/package/qt5/qt5webview/qt5webview.hash +++ b/package/qt5/qt5webview/qt5webview.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 38f6c0a2863e9144632286b0ef43db506b8631eeff0f8facae14b0da86ca0491 qtwebview-87577dde04ed219bda776dabca86176149736331.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 a55fd8ae74..01a377c27b 100644 --- a/package/qt5/qt5webview/qt5webview.mk +++ b/package/qt5/qt5webview/qt5webview.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5WEBVIEW_VERSION = 87577dde04ed219bda776dabca86176149736331 +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 87dac8625e..132c28dd96 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.hash +++ b/package/qt5/qt5x11extras/qt5x11extras.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 cf9124f3d35f1c8db4e9e47943cb1ec86834abf2be38d70412d0452e64462906 qtx11extras-982f20eb585d77e5b5c721e05a466d7161f7f2d1.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 80c5498518..a6fade0135 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.mk +++ b/package/qt5/qt5x11extras/qt5x11extras.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5X11EXTRAS_VERSION = 982f20eb585d77e5b5c721e05a466d7161f7f2d1 +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 353dfc8485..9be7bb7831 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 067b801049f6fada8e7ebcfbce0530db6217a1a94b8ed34c99c530be4129889d qtxmlpatterns-30e6c84fe2752cde8b53aff9d38c2095cd7c8761.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 803c36cf04..2126d3c915 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5XMLPATTERNS_VERSION = 30e6c84fe2752cde8b53aff9d38c2095cd7c8761 +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 3788caa6a3..276a0217ab 100644 --- a/package/qt6/Config.in +++ b/package/qt6/Config.in @@ -44,6 +44,7 @@ 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" diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in index f9fb2a2ad0..3b15d40c83 100644 --- a/package/qt6/qt6base/Config.in +++ b/package/qt6/qt6base/Config.in @@ -43,6 +43,16 @@ config BR2_PACKAGE_QT6BASE_GUI 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" @@ -180,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 diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk index e6cf4f14bb..6857725ef5 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,7 +41,6 @@ QT6BASE_DEPENDENCIES = \ QT6BASE_INSTALL_STAGING = YES QT6BASE_CONF_OPTS = \ - -GNinja \ -DQT_HOST_PATH=$(HOST_DIR) \ -DFEATURE_concurrent=OFF \ -DFEATURE_xml=OFF \ @@ -76,26 +78,12 @@ QT6BASE_CONF_OPTS += \ -DFEATURE_avx512vl=OFF \ -DFEATURE_vaes=OFF -define QT6BASE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(QT6BASE_BUILDDIR) -endef - -define QT6BASE_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(QT6BASE_BUILDDIR) -endef - -define QT6BASE_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(QT6BASE_BUILDDIR) -endef - 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 \ @@ -110,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. @@ -149,6 +129,13 @@ QT6BASE_CONF_OPTS += \ -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 @@ -326,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 @@ -381,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 0000000000..9d9e087601 --- /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 0000000000..0735df3af2 --- /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 0000000000..0b6d9369cb --- /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/qt6serialbus.mk b/package/qt6/qt6serialbus/qt6serialbus.mk index 0717736387..631531e14f 100644 --- a/package/qt6/qt6serialbus/qt6serialbus.mk +++ b/package/qt6/qt6serialbus/qt6serialbus.mk @@ -10,6 +10,8 @@ QT6SERIALBUS_SOURCE = qtserialbus-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6SERIALBUS_VE 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) @@ -21,7 +23,6 @@ QT6SERIALBUS_LICENSE_FILES = \ LICENSES/GFDL-1.3-no-invariants-only.txt QT6SERIALBUS_CONF_OPTS = \ - -GNinja \ -DQT_HOST_PATH=$(HOST_DIR) \ -DBUILD_WITH_PCH=OFF \ -DQT_BUILD_EXAMPLES=OFF \ @@ -30,16 +31,4 @@ QT6SERIALBUS_CONF_OPTS = \ QT6SERIALBUS_DEPENDENCIES = \ qt6serialport -define QT6SERIALBUS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(QT6SERIALBUS_BUILDDIR) -endef - -define QT6SERIALBUS_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(QT6SERIALBUS_BUILDDIR) -endef - -define QT6SERIALBUS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(QT6SERIALBUS_BUILDDIR) -endef - $(eval $(cmake-package)) diff --git a/package/qt6/qt6serialport/qt6serialport.mk b/package/qt6/qt6serialport/qt6serialport.mk index 497719d4ec..bdb16dd892 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) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(QT6SERIALPORT_BUILDDIR) -endef - -define QT6SERIALPORT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(QT6SERIALPORT_BUILDDIR) -endef - $(eval $(cmake-package)) diff --git a/package/qt6/qt6svg/qt6svg.mk b/package/qt6/qt6svg/qt6svg.mk index be0addbd0d..25e87dd208 100644 --- a/package/qt6/qt6svg/qt6svg.mk +++ b/package/qt6/qt6svg/qt6svg.mk @@ -10,6 +10,8 @@ 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), \ @@ -25,7 +27,6 @@ QT6SVG_LICENSE_FILES = \ LICENSES/Qt-GPL-exception-1.0.txt QT6SVG_CONF_OPTS = \ - -GNinja \ -DQT_HOST_PATH=$(HOST_DIR) \ -DBUILD_WITH_PCH=OFF \ -DQT_BUILD_EXAMPLES=OFF \ @@ -33,19 +34,6 @@ QT6SVG_CONF_OPTS = \ QT6SVG_DEPENDENCIES = \ host-pkgconf \ - host-ninja \ qt6base -define QT6SVG_BUILD_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(QT6SVG_BUILDDIR) -endef - -define QT6SVG_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(QT6SVG_BUILDDIR) -endef - -define QT6SVG_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(QT6SVG_BUILDDIR) -endef - $(eval $(cmake-package)) diff --git a/package/quazip/Config.in b/package/quazip/Config.in index bba5eddf3d..4c7a187571 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 16d299fdf4..1c5c614caf 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 70534b63b3..ac28792f20 100644 --- a/package/quazip/quazip.mk +++ b/package/quazip/quazip.mk @@ -4,14 +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_VENDOR = quazip_project +QUAZIP_CPE_ID_VALID = YES $(eval $(cmake-package)) diff --git a/package/quickjs/quickjs.hash b/package/quickjs/quickjs.hash index b6f160800b..916fb6e3a2 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 ff39209100..186397f9aa 100644 --- a/package/quickjs/quickjs.mk +++ b/package/quickjs/quickjs.mk @@ -4,12 +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_VENDOR = quickjs_project +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 0000000000..347063cfb3 --- /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 dc1406d3d5..66768ef34f 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 18ecaa3098..5a0775f353 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 d13f90adb4..5b8bdc77bc 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/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 bde3fee035..0000000000 --- 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 a379002f95..056f806c33 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 dee088f229..b1ae8a8b8f 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 91b30f216e..d8a55b1fc2 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/rauc-hawkbit-updater/Config.in b/package/rauc-hawkbit-updater/Config.in new file mode 100644 index 0000000000..dafc2f883c --- /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 0000000000..c65ead3784 --- /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 0000000000..3836d3c84e --- /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 38fea45b8a..391d89a8f6 100644 --- a/package/rauc/rauc.hash +++ b/package/rauc/rauc.hash @@ -1,3 +1,3 @@ -# Locally calculated -sha256 aa99164c5f54fd29b5c8456221b51f92c900884af66de3e1b7f15a25b7db98a7 rauc-1.10.1.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 4211abdcc4..7239d84cc7 100644 --- a/package/rauc/rauc.mk +++ b/package/rauc/rauc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RAUC_VERSION = 1.10.1 +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 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 0000000000..6dfb476faa --- /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/rdma-core.hash b/package/rdma-core/rdma-core.hash index 0dfcce7fe4..fc1d319123 100644 --- a/package/rdma-core/rdma-core.hash +++ b/package/rdma-core/rdma-core.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 c1d84405e05e00bfd99732bdc1b8394ac1332ffd0eedbf0af99f926732f67044 rdma-core-47.0.tar.gz +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 index 9cc9434744..5f8989b3bd 100644 --- a/package/rdma-core/rdma-core.mk +++ b/package/rdma-core/rdma-core.mk @@ -4,7 +4,7 @@ # ################################################################################ -RDMA_CORE_VERSION = 47.0 +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 diff --git a/package/re2/Config.in b/package/re2/Config.in index 64217e8aa2..b79e711ad3 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 a39dece7a9..543c416087 100644 --- a/package/re2/re2.hash +++ b/package/re2/re2.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 cbce8b7803e856827201a132862e41af386e7afd9cc6d9a9bc7a4fa4d8ddbdde re2-2023-02-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 5587366b1f..b962b53e3f 100644 --- a/package/re2/re2.mk +++ b/package/re2/re2.mk @@ -4,29 +4,26 @@ # ################################################################################ -RE2_VERSION = 2023-02-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/redis-plus-plus/Config.in b/package/redis-plus-plus/Config.in index 6a21aee2b3..64a84102d4 100644 --- a/package/redis-plus-plus/Config.in +++ b/package/redis-plus-plus/Config.in @@ -1,6 +1,7 @@ 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++ @@ -11,5 +12,5 @@ config BR2_PACKAGE_REDIS_PLUS_PLUS https://github.com/sewenew/redis-plus-plus -comment "redis-plus-plus needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "redis-plus-plus needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/redis/0001-uclibc.patch b/package/redis/0001-uclibc.patch index 197f43e7a7..6761f9f3fe 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 69bfc1475f..378b930374 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 ce250d1fba042c613de38a15d40889b78f7cb6d5461a27e35017ba39b07221e3 redis-7.0.11.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 e5d3de8eb9..2680b11b74 100644 --- a/package/redis/redis.mk +++ b/package/redis/redis.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_VERSION = 7.0.11 +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.20221101/0001-mount-dbus-interface-must-be-optional.patch b/package/refpolicy/2.20221101/0001-mount-dbus-interface-must-be-optional.patch deleted file mode 100644 index adec7d98d0..0000000000 --- a/package/refpolicy/2.20221101/0001-mount-dbus-interface-must-be-optional.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6c6be65ccf0891391681d4662cc11f508c0f4aeb Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Mon, 24 Apr 2023 14:24:49 -0700 -Subject: [PATCH] mount: dbus interface must be optional - -If DBus isn't built, the build process fails due to mount.te always using a -dbus interface even if the dbus module. Fix this by setting the dbus interface -as optional. - -Signed-off-by: Adam Duskett -Upstream: https://github.com/SELinuxProject/refpolicy/commit/207b09a656c2c3ac5c286d3f7eef085325e35408 ---- - policy/modules/system/mount.te | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/policy/modules/system/mount.te b/policy/modules/system/mount.te -index d028723..af84af0 100644 ---- a/policy/modules/system/mount.te -+++ b/policy/modules/system/mount.te -@@ -145,7 +145,9 @@ selinux_getattr_fs(mount_t) - - userdom_use_all_users_fds(mount_t) - --dbus_dontaudit_write_system_bus_runtime_named_sockets(mount_t) -+optional_policy(` -+ dbus_dontaudit_write_system_bus_runtime_named_sockets(mount_t) -+') - - ifdef(`distro_redhat',` - optional_policy(` --- -2.40.0 - 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 0000000000..ddf2943bfa --- /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 0e72b895df..8ae8f0448d 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 a09e59c270..70d1acc9af 100644 --- a/package/refpolicy/refpolicy.hash +++ b/package/refpolicy/refpolicy.hash @@ -1,5 +1,5 @@ # From https://github.com/SELinuxProject/refpolicy/releases -sha256 44f88e62c8efcef54d019b9ca077520d5993de580926bd7575788cfa78515396 refpolicy-2.20221101.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 8fea7cc254..fb1c213b84 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.20221101 +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 0000000000..22b21bcbc7 --- /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 0000000000..3e06a2a396 --- /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/restorecond/restorecond.mk b/package/restorecond/restorecond.mk index cd40905230..96ef8d2a50 100644 --- a/package/restorecond/restorecond.mk +++ b/package/restorecond/restorecond.mk @@ -11,13 +11,8 @@ 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 0000000000..4a9a81dbf5 --- /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 355b5c275b..4e03de8722 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 1f7456e4e7..3cc9d427a7 100644 --- a/package/rhash/rhash.mk +++ b/package/rhash/rhash.mk @@ -4,12 +4,12 @@ # ################################################################################ -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) @@ -36,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 6c3c35caf8..0985972a8b 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 e2ba68f389..e665a6570e 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 71e74e1bcf..9d5b869a9c 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 d587441cfa..288c20ee95 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 0000000000..9f40da0941 --- /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 0000000000..4e18dfde52 --- /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 0000000000..b7005e860e --- /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 0000000000..e3973e841b --- /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/Config.in b/package/rng-tools/Config.in index be3f078a0b..7f08fa25fb 100644 --- a/package/rng-tools/Config.in +++ b/package/rng-tools/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_RNG_TOOLS help Daemon to use hardware random number generators. - http://sourceforge.net/projects/gkernel/ + https://github.com/nhorman/rng-tools if BR2_PACKAGE_RNG_TOOLS diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk index 3e565103e4..f50005343b 100644 --- a/package/rng-tools/rng-tools.mk +++ b/package/rng-tools/rng-tools.mk @@ -5,10 +5,10 @@ ################################################################################ RNG_TOOLS_VERSION = 6.16 -RNG_TOOLS_SITE = $(call github,nhorman,$(RNG_TOOLS_NAME),v$(RNG_TOOLS_VERSION)) +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 libcap openssl diff --git a/package/rp-pppoe/rp-pppoe.mk b/package/rp-pppoe/rp-pppoe.mk index 698894fda9..f50f1e5a1f 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 2eee116755..2c158213ad 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/cmdline.txt b/package/rpi-firmware/cmdline.txt deleted file mode 100644 index 155a54693b..0000000000 --- a/package/rpi-firmware/cmdline.txt +++ /dev/null @@ -1 +0,0 @@ -root=/dev/mmcblk0p2 rootwait console=tty1 console=ttyAMA0,115200 diff --git a/package/rpi-firmware/config.txt b/package/rpi-firmware/config.txt deleted file mode 100644 index 4a92a4dd95..0000000000 --- a/package/rpi-firmware/config.txt +++ /dev/null @@ -1,25 +0,0 @@ -# Please note that this is only a sample, we recommend you to change it to fit -# your needs. -# You should override this file using a post-build script. -# See http://buildroot.org/manual.html#rootfs-custom -# and http://elinux.org/RPiconfig for a description of config.txt syntax - -# We always use the same names, the real used variant is selected by -# BR2_PACKAGE_RPI_FIRMWARE_{DEFAULT,X,CD} choice -start_file=start.elf -fixup_file=fixup.dat - -kernel=zImage - -# To use an external initramfs file -#initramfs rootfs.cpio.gz - -# Disable overscan assuming the display supports displaying the full resolution -# If the text shown on the screen disappears off the edge, comment this out -disable_overscan=1 - -# How much memory in MB to assign to the GPU on Pi models having -# 256, 512 or 1024 MB total memory -gpu_mem_256=100 -gpu_mem_512=100 -gpu_mem_1024=100 diff --git a/package/rpi-firmware/rpi-firmware.hash b/package/rpi-firmware/rpi-firmware.hash index ec13115f3b..33e05a2f4a 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 53d6d8ca06..11177aee02 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/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 0000000000..5381159968 --- /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 0000000000..61fe4b0269 --- /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 3fd2ef257e..b9d392c8cb 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 @@ -20,9 +22,11 @@ RSYNC_CONF_OPTS = \ --disable-roll-simd \ --disable-md5-asm -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -RSYNC_CONF_ENV += LIBS=-latomic -endif +# 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 diff --git a/package/rsyslog/rsyslog.hash b/package/rsyslog/rsyslog.hash index 4049590bb8..9c00365355 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 84fd2d2e5e..dc30a2edcd 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/rtl8188eu/rtl8188eu.hash b/package/rtl8188eu/rtl8188eu.hash index 29ce0e32c2..eb28e6cf0a 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 3698115d3c..36a84d34de 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 4668c3832c..1ef46436fb 100644 --- a/package/rtl8189es/rtl8189es.hash +++ b/package/rtl8189es/rtl8189es.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 0d59e75977a43e614c87e783d7af9d89b84063d8d0d1926820af427eacd01837 rtl8189es-05996691a5f3a61968a83f8b368454fd2c6885ca.tar.gz +sha256 b28c15f4631f4151ea6fca96d59aec931766af49ccb7a0d5e1080fc41a323713 rtl8189es-eb51e021b0e1b6f94a4b49da3f4ee5c5fb20b715.tar.gz diff --git a/package/rtl8189es/rtl8189es.mk b/package/rtl8189es/rtl8189es.mk index e7bc915c79..8bac0a125f 100644 --- a/package/rtl8189es/rtl8189es.mk +++ b/package/rtl8189es/rtl8189es.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8189ES_VERSION = 05996691a5f3a61968a83f8b368454fd2c6885ca +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 f9e2d6845d..0000000000 --- a/package/rtl8189fs/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f48d99fab8b79e573850067a3ff2d8c16aa95ce1 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. - -Upstream: https://github.com/jwrdegoede/rtl8189ES_linux/pull/101 - -Signed-off-by: Giulio Benetti ---- - Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index dfca305..6f91d0a 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,4 +1,3 @@ --EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) - EXTRA_CFLAGS += -O1 - #EXTRA_CFLAGS += -O3 - #EXTRA_CFLAGS += -Wall -@@ -2208,6 +2207,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 377812fba8..e3d63ac4b0 100644 --- a/package/rtl8189fs/rtl8189fs.hash +++ b/package/rtl8189fs/rtl8189fs.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9ff7aa9ee8cd7a8f386531d3b009e7bcbce1ff71bb676c187c40e538755eb8b5 rtl8189fs-75a566a830037c7d1309c5a9fe411562772a1cf2.tar.gz +sha256 c92e1d800258665835922c1e927708f7a0477a1cbb281dc98ba5d33d5e3271ee rtl8189fs-5d523593f41c0b8d723c6aa86b217ee1d0965786.tar.gz diff --git a/package/rtl8189fs/rtl8189fs.mk b/package/rtl8189fs/rtl8189fs.mk index bd29469242..86a2ac734b 100644 --- a/package/rtl8189fs/rtl8189fs.mk +++ b/package/rtl8189fs/rtl8189fs.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8189FS_VERSION = 75a566a830037c7d1309c5a9fe411562772a1cf2 +RTL8189FS_VERSION = 5d523593f41c0b8d723c6aa86b217ee1d0965786 RTL8189FS_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189FS_VERSION)) RTL8189FS_LICENSE = GPL-2.0 diff --git a/package/rtl8192eu/rtl8192eu.hash b/package/rtl8192eu/rtl8192eu.hash index 8528689670..a08ed04010 100644 --- a/package/rtl8192eu/rtl8192eu.hash +++ b/package/rtl8192eu/rtl8192eu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 665a8f857b3881554edd6d5e5e6c8f058b8ecfecf921817993e861d48e214d36 rtl8192eu-ac8517206e14f70babbeed68e136ee23c85cba3d.tar.gz +sha256 b5d3b8de0b4f05aa2b452dd01f4386e9b671e03c2bbf8e032f1c593befc5a153 rtl8192eu-e90a6043be141bde8847e84223e106eff38ecdfd.tar.gz diff --git a/package/rtl8192eu/rtl8192eu.mk b/package/rtl8192eu/rtl8192eu.mk index 9ae29d9940..3d24b0caf8 100644 --- a/package/rtl8192eu/rtl8192eu.mk +++ b/package/rtl8192eu/rtl8192eu.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8192EU_VERSION = ac8517206e14f70babbeed68e136ee23c85cba3d +RTL8192EU_VERSION = e90a6043be141bde8847e84223e106eff38ecdfd RTL8192EU_SITE = $(call github,clnhub,rtl8192eu-linux,$(RTL8192EU_VERSION)) RTL8192EU_LICENSE = GPL-2.0 diff --git a/package/rtl8723bu/rtl8723bu.hash b/package/rtl8723bu/rtl8723bu.hash index bc3b8fc727..66efdaf771 100644 --- a/package/rtl8723bu/rtl8723bu.hash +++ b/package/rtl8723bu/rtl8723bu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 d0db523f256795d8f3284fa2ec03855f231747ede8337e878bc096325b965654 rtl8723bu-92c19318cb54ef96c2cfb4a22b2c98eb512812d8.tar.gz +sha256 a36511894a612a9a05254e5938dafcc32b5ca46b8912582ccca84708e0f82cf9 rtl8723bu-49cb04d796d44debe965c1597f397f34ae277dbc.tar.gz diff --git a/package/rtl8723bu/rtl8723bu.mk b/package/rtl8723bu/rtl8723bu.mk index ad9bb9a462..7796def113 100644 --- a/package/rtl8723bu/rtl8723bu.mk +++ b/package/rtl8723bu/rtl8723bu.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8723BU_VERSION = 92c19318cb54ef96c2cfb4a22b2c98eb512812d8 +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/rtl8723ds.hash b/package/rtl8723ds/rtl8723ds.hash index e94a7b40ef..f2829d3f04 100644 --- a/package/rtl8723ds/rtl8723ds.hash +++ b/package/rtl8723ds/rtl8723ds.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 672787c3f3d1f795b750cd74de8ca34bb661b8ae60f5aa50fb279ec08ff3f05f rtl8723ds-ec85dc6b9f72bfe413bff464ed01a272e29c8dbe.tar.gz +sha256 4f3006ffc1604854edbd6d25ad468ca57f6bcfd7814e4dab57725f144f00aa94 rtl8723ds-52e593e8c889b68ba58bd51cbdbcad7fe71362e4.tar.gz sha256 cd5c66af63b509ccd75ec85fee41b6e5cbb77cd6bf9392a54900acc0f02be4a6 COPYING diff --git a/package/rtl8723ds/rtl8723ds.mk b/package/rtl8723ds/rtl8723ds.mk index f62ce2bf6c..2536450d80 100644 --- a/package/rtl8723ds/rtl8723ds.mk +++ b/package/rtl8723ds/rtl8723ds.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8723DS_VERSION = ec85dc6b9f72bfe413bff464ed01a272e29c8dbe +RTL8723DS_VERSION = 52e593e8c889b68ba58bd51cbdbcad7fe71362e4 RTL8723DS_SITE = $(call github,lwfinger,rtl8723ds,$(RTL8723DS_VERSION)) RTL8723DS_LICENSE = GPL-2.0 RTL8723DS_LICENSE_FILES = COPYING diff --git a/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash index bd6c87d56e..414ea98b08 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 78926af85bd1630ff599d0ec174d7c4c130141cb210a187946ea48ac1015809b rtl8812au-aircrack-ng-04f600ee54a414b871aea509fcd4709838c8c522.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 99d63432a4..df3b03998e 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 = 04f600ee54a414b871aea509fcd4709838c8c522 +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/rtl8821cu.hash b/package/rtl8821cu/rtl8821cu.hash index 84c724c044..b3d6d2c569 100644 --- a/package/rtl8821cu/rtl8821cu.hash +++ b/package/rtl8821cu/rtl8821cu.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 78a8e730ad1ec05b10c4ee97b5cf0a8f5bcd1654b2c5332533c5cf4bd77078d8 rtl8821cu-dc9ee6c6a8b47d0e365fcf1977439c7243da71d5.tar.gz +sha256 3ccec54462a8668142a9c2b2ddfffe4e0434feebe6caf6a7de6812dc8713c37f rtl8821cu-5b39398e2de146edeb76716420f3288f508bea61.tar.gz sha256 22cdb0a9cf492dbf05c5b27381a5c0e73ae0d4622427b522b0ba92b7495e5fb0 LICENSE diff --git a/package/rtl8821cu/rtl8821cu.mk b/package/rtl8821cu/rtl8821cu.mk index 5b21b04404..8cb8ea710b 100644 --- a/package/rtl8821cu/rtl8821cu.mk +++ b/package/rtl8821cu/rtl8821cu.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8821CU_VERSION = dc9ee6c6a8b47d0e365fcf1977439c7243da71d5 +RTL8821CU_VERSION = 5b39398e2de146edeb76716420f3288f508bea61 RTL8821CU_SITE = $(call github,morrownr,8821cu-20210916,$(RTL8821CU_VERSION)) RTL8821CU_LICENSE = GPL-2.0 RTL8821CU_LICENSE_FILES = LICENSE diff --git a/package/rtl8822cs/rtl8822cs.hash b/package/rtl8822cs/rtl8822cs.hash index aa3c86ce80..34bcc412ce 100644 --- a/package/rtl8822cs/rtl8822cs.hash +++ b/package/rtl8822cs/rtl8822cs.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 666b5312c372664b115d29fc2b2974244b0512db27ffa1c810fae30d1c714063 rtl8822cs-758d861bfa4d18d39e4297c550fd684c9817eb0d.tar.gz +sha256 d61fff0ee8b4219a6441791ff26be1b8c49ef8b2ca78345bf12b7a0541f498e9 rtl8822cs-fda6cd263e89567272060e6182a39aee20b894c4.tar.gz diff --git a/package/rtl8822cs/rtl8822cs.mk b/package/rtl8822cs/rtl8822cs.mk index 2db769aa69..dbdc7d84bf 100644 --- a/package/rtl8822cs/rtl8822cs.mk +++ b/package/rtl8822cs/rtl8822cs.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8822CS_VERSION = 758d861bfa4d18d39e4297c550fd684c9817eb0d +RTL8822CS_VERSION = fda6cd263e89567272060e6182a39aee20b894c4 RTL8822CS_SITE = $(call github,jethome-ru,rtl88x2cs,$(RTL8822CS_VERSION)) RTL8822CS_LICENSE = GPL-2.0 diff --git a/package/rtl_433/0001-CMakeLists.txt-use-pkg-config-to-detect-openssl-when.patch b/package/rtl_433/0001-CMakeLists.txt-use-pkg-config-to-detect-openssl-when.patch deleted file mode 100644 index 00858c8ff9..0000000000 --- a/package/rtl_433/0001-CMakeLists.txt-use-pkg-config-to-detect-openssl-when.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b860de9e207d8fe2ea37dad28fdd014493d87703 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 27 Dec 2022 16:29:16 +0100 -Subject: [PATCH] build: Fix CMake to use pkg-config openssl when possible - (#2290) - -In order to take into account the libraries used by openssl when -building statically, using pkg-config is recommended. This patch -therefore improves the CMakeLists.txt to use pkg-config to detect -openssl when pkg-config is available. This will avoid -static build failure when openssl needs to link with -latomic. - -Fixes: - - http://autobuild.buildroot.org/results/417c86963ffe038aa052ea3cf19fd52c3e9b7396 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/merbanan/rtl_433/commit/b860de9e207d8fe2ea37dad28fdd014493d87703] ---- - CMakeLists.txt | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d47a3eda2..cf30d8be2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -175,7 +175,14 @@ set(ENABLE_OPENSSL AUTO CACHE STRING "Enable OpenSSL TLS support") - set_property(CACHE ENABLE_OPENSSL PROPERTY STRINGS AUTO ON OFF) - if(ENABLE_OPENSSL) # AUTO / ON - --find_package(OpenSSL) -+find_package(PkgConfig) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(OPENSSL openssl) -+ set(OPENSSL_LIBRARIES ${OPENSSL_LINK_LIBRARIES}) -+ set(OPENSSL_INCLUDE_DIR ${OPENSSL_INCLUDE_DIRS}) -+else() -+ find_package(OpenSSL) -+endif() - if(OPENSSL_FOUND) - message(STATUS "OpenSSL TLS support will be compiled. Found version ${OPENSSL_VERSION}") - include_directories(${OPENSSL_INCLUDE_DIR}) diff --git a/package/rtl_433/0002-minor-Fix-mongoose-build-without-threads.patch b/package/rtl_433/0002-minor-Fix-mongoose-build-without-threads.patch deleted file mode 100644 index 85bc45147a..0000000000 --- a/package/rtl_433/0002-minor-Fix-mongoose-build-without-threads.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 707b51ecbc5598eed2fb67962232bf3fe0e96f81 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 27 Dec 2022 21:30:54 +0100 -Subject: [PATCH] minor: Fix mongoose build without threads (#2291) - -Fix the following build failure without threads: - -In file included from /home/buildroot/autobuild/instance-3/output-1/build/rtl_433-22.11/src/data_tag.c:17: -/home/buildroot/autobuild/instance-3/output-1/build/rtl_433-22.11/include/mongoose.h:407:10: fatal error: pthread.h: No such file or directory - 407 | #include - | ^~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/9f1677fc5a4568be0b9c121060c5d821ac2ae21b - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/merbanan/rtl_433/commit/707b51ecbc5598eed2fb67962232bf3fe0e96f81] ---- - include/mongoose.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/mongoose.h b/include/mongoose.h -index 1173b3fc7..b111ea34e 100644 ---- a/include/mongoose.h -+++ b/include/mongoose.h -@@ -404,7 +404,6 @@ unsigned int sleep(unsigned int seconds); - #include - #include - #include --#include - #include - #include - #include -@@ -4658,6 +4657,7 @@ size_t mg_fwrite(const void *ptr, size_t size, size_t count, FILE *f); - #endif /* MG_ENABLE_FILESYSTEM */ - - #if MG_ENABLE_THREADS -+#include - /* - * Starts a new detached thread. - * Arguments and semantics are the same as pthead's `pthread_create()`. diff --git a/package/rtl_433/rtl_433.hash b/package/rtl_433/rtl_433.hash index 51fb29c78e..3a00e0cae7 100644 --- a/package/rtl_433/rtl_433.hash +++ b/package/rtl_433/rtl_433.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 61a9163d69cc4b1da46aebbcaf969bd180a055a6b90f42ad281218cc4fbefb86 rtl_433-22.11.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 e3be0e5ecf..0af25c7936 100644 --- a/package/rtl_433/rtl_433.mk +++ b/package/rtl_433/rtl_433.mk @@ -4,11 +4,11 @@ # ################################################################################ -RTL_433_VERSION = 22.11 +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 = \ diff --git a/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk index fb381d0e10..4c8ecfe127 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/rtty.mk b/package/rtty/rtty.mk index 964ec04ec4..8a40f584de 100644 --- a/package/rtty/rtty.mk +++ b/package/rtty/rtty.mk @@ -24,7 +24,7 @@ RTTY_CONF_OPTS += \ -DUSE_MBEDTLS=OFF \ -DUSE_OPENSSL=ON \ -DUSE_WOLFSSL=OFF -else ifeq ($(BR2_PACKAGE_WOLFSSL),y) +else ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) RTTY_DEPENDENCIES += wolfssl RTTY_CONF_OPTS += \ -DSSL_SUPPORT=ON \ 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 805dfd2f89..0000000000 --- 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 42d8a2497f..c729c59453 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/2023/12/25/ruby-3-3-0-released/ +sha512 7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01 ruby-3.3.0.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 28b1ec13ef..4b9ce80e67 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).0 +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 @@ -22,9 +22,14 @@ RUBY_CPE_ID_VENDOR = ruby-lang RUBY_DEPENDENCIES = host-pkgconf host-ruby HOST_RUBY_DEPENDENCIES = 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 1a68b74ccb..d6eb27d352 100644 --- a/package/runc/runc.hash +++ b/package/runc/runc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f1885d6dfa188f8112328ac2355e5d67346174a2e2e795ec514a972bcbfcc2fa runc-1.1.7.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 805ff23964..273509b860 100644 --- a/package/runc/runc.mk +++ b/package/runc/runc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUNC_VERSION = 1.1.7 +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 a11a964a90..d44cb2cb67 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.71.1-aarch64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-aarch64-unknown-linux-gnu.tar.xz.asc -sha256 911f2370b67b066cefd2ee772c5219015817e2c2dc327351f8b00c5ca7a1098f rust-1.71.1-aarch64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-i686-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-i686-unknown-linux-gnu.tar.xz.asc -sha256 c8ec5dcb8f59276d46360ed832fb428d212985fd5b2b0591e6f70a279d10274f rust-1.71.1-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-mips-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-mips-unknown-linux-gnu.tar.xz.asc -sha256 64f3189a2c55a8c7323e344c891d07637448454a10fed6dad5f7744f25abea94 rust-1.71.1-mips-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-mipsel-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-mipsel-unknown-linux-gnu.tar.xz.asc -sha256 8f35174620db211a99743660c7eddff1b41ad2d4c80787d4e6c808d548bdf3b7 rust-1.71.1-mipsel-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-powerpc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-powerpc-unknown-linux-gnu.tar.xz.asc -sha256 ec14ef19f8929029435f5c0f9ee1c92534454e03369767968c0353fcd7b41791 rust-1.71.1-powerpc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-powerpc64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-powerpc64-unknown-linux-gnu.tar.xz.asc -sha256 a03ad9d193960a2303269d98cd99f9f27990eb3874e76396282a49347c048085 rust-1.71.1-powerpc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz.asc -sha256 be14d5e2978f72e2607d7d6611f7e4066e772a46e0effa97862a60ee51f9afa8 rust-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz.asc -sha256 b2a0562d547a48ed6279a1594ca2a489ee34c08dc4181b1117b900bc2f4ccfc9 rust-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-s390x-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-s390x-unknown-linux-gnu.tar.xz.asc -sha256 ba282d429013028c45ea14ea4d909c3a1bb5ef2f57bca1dda7b436216554977d rust-1.71.1-s390x-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.71.1-x86_64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.71.1-x86_64-unknown-linux-gnu.tar.xz.asc -sha256 ee205c9ee095ee5a9382332422b0be2bd2737451c6dd6e24cb2a28cec16b97ac rust-1.71.1-x86_64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-aarch64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-aarch64-unknown-linux-gnu.tar.xz.asc -sha256 232afbb1b8673694742eba6444ee7c70294ca6da285cdeef9d43acd3f4c58ddc rust-std-1.71.1-aarch64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-aarch64-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-aarch64-unknown-linux-musl.tar.xz.asc -sha256 347af135014822d0f191241457ee1fba28ee85285bc26881c5137989fcb0fa53 rust-std-1.71.1-aarch64-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-arm-unknown-linux-gnueabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-arm-unknown-linux-gnueabi.tar.xz.asc -sha256 68c51ede38dc74e6adac606ddba7d688b4f5f9df058e922916af73cd59b17379 rust-std-1.71.1-arm-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-arm-unknown-linux-gnueabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-arm-unknown-linux-gnueabihf.tar.xz.asc -sha256 4720dee4efe1cbcf7c21ba3a5806dbfb6f7f04e67dec1a79c3fd61d5fd2deea3 rust-std-1.71.1-arm-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-arm-unknown-linux-musleabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-arm-unknown-linux-musleabihf.tar.xz.asc -sha256 d1746b00db5d0ad09749e5a93740830a2850bcbd726b2e96d44fff06a2c72f6c rust-std-1.71.1-arm-unknown-linux-musleabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-arm-unknown-linux-musleabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-arm-unknown-linux-musleabi.tar.xz.asc -sha256 21533a39478f7484e22d733154405dca2842e2ad0f38cb1f53d6edbe85bb6e2d rust-std-1.71.1-arm-unknown-linux-musleabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-armv5te-unknown-linux-gnueabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-armv5te-unknown-linux-gnueabi.tar.xz.asc -sha256 9a5b0aa20ab0f1951af9ba79df9e28d2cd57612f1d309e8210d2c24334d8332f rust-std-1.71.1-armv5te-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-armv5te-unknown-linux-musleabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-armv5te-unknown-linux-musleabi.tar.xz.asc -sha256 aa8dbaf140b357c392ea2364b2d22a735900ca2d0d6e609c85b94666725c4999 rust-std-1.71.1-armv5te-unknown-linux-musleabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-armv7-unknown-linux-gnueabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-armv7-unknown-linux-gnueabihf.tar.xz.asc -sha256 7f3816824948a017135d5c58aeb97df962f2e60575a18f18967eb473e68c7cdc rust-std-1.71.1-armv7-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-armv7-unknown-linux-gnueabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-armv7-unknown-linux-gnueabi.tar.xz.asc -sha256 030a8ad8e5b794c5ca265a8837c46da442acae7c1ad2c4dfb61e9f751ddcfa1e rust-std-1.71.1-armv7-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-armv7-unknown-linux-musleabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-armv7-unknown-linux-musleabihf.tar.xz.asc -sha256 66a7c87d9a78fa4799eea5c73d885c4e6da17608d1f8e13823b298d82310ccca rust-std-1.71.1-armv7-unknown-linux-musleabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-armv7-unknown-linux-musleabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-armv7-unknown-linux-musleabi.tar.xz.asc -sha256 afb5e6f523ec8b0ffc033942af53c4f60e564122f85af4e405b4c4ef7643f182 rust-std-1.71.1-armv7-unknown-linux-musleabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-i586-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-i586-unknown-linux-gnu.tar.xz.asc -sha256 a8bead93f5260c81f7a6795a29e8365ac30b966e7808c4957a4bd37843ab4e80 rust-std-1.71.1-i586-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-i586-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-i586-unknown-linux-musl.tar.xz.asc -sha256 7314624674c9817de083c0e88ea8650d839273a55f03de2e6f037ba64309d477 rust-std-1.71.1-i586-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-i686-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-i686-unknown-linux-gnu.tar.xz.asc -sha256 672811c88fd5ffc5185d40eeecc7d257aeff47c9b48e0ced70ccea1e2559b273 rust-std-1.71.1-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-i686-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-i686-unknown-linux-musl.tar.xz.asc -sha256 5d214864c9c62ea65e460e75ea65e2313b5b68a9db11f1c30edf271c8b041097 rust-std-1.71.1-i686-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-mips-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-mips-unknown-linux-gnu.tar.xz.asc -sha256 e4348549904d9fff3f4d5608464d463815b8f47a3361927cf87458b4daf6b093 rust-std-1.71.1-mips-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-mips-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-mips-unknown-linux-musl.tar.xz.asc -sha256 e9d3caf95d111029f6a882ed2ca322a7d2c182e4c094a1f383725ae1aa980707 rust-std-1.71.1-mips-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-mips64-unknown-linux-gnuabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-mips64-unknown-linux-gnuabi64.tar.xz.asc -sha256 c3185d57e96832d1a6c5e48e83e75698a46a49675432a367ecd0701c481d1280 rust-std-1.71.1-mips64-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-mips64-unknown-linux-muslabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-mips64-unknown-linux-muslabi64.tar.xz.asc -sha256 6f5549ff40278b8baa84c203730d348fff94aef20372c28fd373bc55acf99a3e rust-std-1.71.1-mips64-unknown-linux-muslabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-mips64el-unknown-linux-gnuabi64.tar.xz.asc -sha256 c6cf211aa291e09115fb08a96070deb1c9b292ef21e4263ee80e168eb66c675f rust-std-1.71.1-mips64el-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-mips64el-unknown-linux-muslabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-mips64el-unknown-linux-muslabi64.tar.xz.asc -sha256 9cd1a7b2364d6af230e96700bd6b631b7f8dcfc3bad0feffefdf9ca6ce1df79c rust-std-1.71.1-mips64el-unknown-linux-muslabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-mipsel-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-mipsel-unknown-linux-gnu.tar.xz.asc -sha256 05eb744705ac17a1b21693891219051ffbec05f2bc2be84f1eb4c5d1573f1b15 rust-std-1.71.1-mipsel-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-mipsel-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-mipsel-unknown-linux-musl.tar.xz.asc -sha256 4fb95536ff01b04f57cd14eebb57043e7d420aabce4b0b5beb3133f3a9844fa4 rust-std-1.71.1-mipsel-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-powerpc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-powerpc-unknown-linux-gnu.tar.xz.asc -sha256 8a5e93d9a106c90d658b88c8ded15b8d2446d3d6316f5d477b3b259b62119d7c rust-std-1.71.1-powerpc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-powerpc64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-powerpc64-unknown-linux-gnu.tar.xz.asc -sha256 73d80d654f0b04a7b05168d08322ea9e4cc3bceeb8546cad5f398f8bbdeeddf5 rust-std-1.71.1-powerpc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz.asc -sha256 949c3d340674aac746a0278bb90707b179b95afe37200a61f05c56e8bdfc9060 rust-std-1.71.1-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz.asc -sha256 dd8399582595bc449aee5c7c7fb5d8061338be36583404a82e2d9e5b20743dae rust-std-1.71.1-riscv64gc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-s390x-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-s390x-unknown-linux-gnu.tar.xz.asc -sha256 60275c7d1a36abec87bf6e151d908a04e5cd28d22215fe0098caa4342f1c30d0 rust-std-1.71.1-s390x-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-sparc64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-sparc64-unknown-linux-gnu.tar.xz.asc -sha256 92e46ba59c0f402691a810a6b57136ebccbcfab4beefb0ccfca55e3fb288180d rust-std-1.71.1-sparc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-x86_64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-x86_64-unknown-linux-gnu.tar.xz.asc -sha256 31f392df564850d78be80adc625b06a3964a49ef5c519075b930f2042a422264 rust-std-1.71.1-x86_64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.71.1-x86_64-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.71.1-x86_64-unknown-linux-musl.tar.xz.asc -sha256 20667738a9005dda0386c8b6e59d55ce3044be11f78002f6640ca874d6911483 rust-std-1.71.1-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 db31e26a70..ca35d27d1c 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.71.1 +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 0000000000..fe94bbc096 --- /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 0000000000..aa0d7d44a4 --- /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 59270e1957..175fa71baf 100644 --- a/package/rust/rust.hash +++ b/package/rust/rust.hash @@ -1,6 +1,6 @@ -# From https://static.rust-lang.org/dist/rustc-1.71.1-src.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rustc-1.71.1-src.tar.xz.asc -sha256 371af0fbe04051e20a74dbea6d4e4e548f10f15309c49cae2688afb882b6c7f1 rustc-1.71.1-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 a55bc447f4..c544582c99 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.71.1 +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 822de68dbb..baa68994e6 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/rustc/cargo-config.in b/package/rustc/cargo-config.in deleted file mode 100644 index 47fad026be..0000000000 --- a/package/rustc/cargo-config.in +++ /dev/null @@ -1,2 +0,0 @@ -[target.@RUSTC_TARGET_NAME@] -linker = "@CROSS_PREFIX@gcc" diff --git a/package/rwmem/Config.in b/package/rwmem/Config.in index cd9a7f78f1..690b034070 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 9becbc5b21..da74002cb4 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 24c4e92efc..d6ef05193b 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 cdd7cc7721..0000000000 --- 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/0002-meson.build-fix-g_ir_compiler-calls.patch b/package/rygel/0001-meson.build-fix-g_ir_compiler-calls.patch similarity index 93% rename from package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch rename to package/rygel/0001-meson.build-fix-g_ir_compiler-calls.patch index 3961ad0564..1d8f4599f4 100644 --- a/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch +++ b/package/rygel/0001-meson.build-fix-g_ir_compiler-calls.patch @@ -35,12 +35,12 @@ index fd43bebe..e6be2b5e 100644 @@ -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')], + 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.6.gir')], - output: 'RygelCore-2.6.typelib', ++ 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 @@ -52,8 +52,8 @@ index ad98a3a7..e8baefe1 100644 '--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', + 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 @@ -64,7 +64,7 @@ index 5f401527..821273ff 100644 '--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')], + 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 @@ -76,7 +76,7 @@ index a3bd77d9..6b084eb6 100644 '--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')], + join_paths(meson.current_build_dir(), 'RygelServer-2.8.gir')], output: 'RygelServer-2.6.typelib', depends: [ server_lib, server_gir, core_gir ], -- diff --git a/package/rygel/Config.in b/package/rygel/Config.in index e160068a55..a3c2bd29da 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 @@ -57,6 +59,7 @@ 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 || \ diff --git a/package/rygel/rygel.hash b/package/rygel/rygel.hash index 8bda1c2af7..77db59cf40 100644 --- a/package/rygel/rygel.hash +++ b/package/rygel/rygel.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.gnome.org/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 81d35be833..5c155f8e13 100644 --- a/package/rygel/rygel.mk +++ b/package/rygel/rygel.mk @@ -4,8 +4,8 @@ # ################################################################################ -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 = https://download.gnome.org/sources/rygel/$(RYGEL_VERSION_MAJOR) RYGEL_LICENSE = LGPL-2.1+, CC-BY-SA-3.0 (logo) @@ -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 b7563d8bac..c70bf69f00 100644 --- a/package/s390-tools/s390-tools.hash +++ b/package/s390-tools/s390-tools.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 4315e64cf2fe0240ff9bd9929501db731d5bf3e7acf964ecf323d48d90e08f6e s390-tools-2.27.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 187fefea64..04d193a467 100644 --- a/package/s390-tools/s390-tools.mk +++ b/package/s390-tools/s390-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -S390_TOOLS_VERSION = 2.27.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,7 +12,8 @@ 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_OPENSSL),y) S390_TOOLS_DEPENDENCIES += libcurl diff --git a/package/samba4/0004-3rdparty-heindal-Use-perl-module-JSON-part-of-core-i.patch b/package/samba4/0004-3rdparty-heindal-Use-perl-module-JSON-part-of-core-i.patch deleted file mode 100644 index aa55c09891..0000000000 --- a/package/samba4/0004-3rdparty-heindal-Use-perl-module-JSON-part-of-core-i.patch +++ /dev/null @@ -1,41 +0,0 @@ -From bd8fc19c8383914b518a9d56f4c08fba3baeb967 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 7 May 2023 11:02:26 +0200 -Subject: [PATCH] 3rdparty/heimdal: Use perl module JSON:PP, part of core, instead - of JSON package - -Downloaded from -https://github.com/openwrt/packages/blob/master/net/samba4/patches/105-perl-json-pp.patch - -Signed-off-by: Bernd Kuhls -Signed-off-by: Yann E. MORIN -Upstream: https://github.com/heimdal/heimdal/pull/1176 ---- - third_party/heimdal/cf/make-proto.pl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/third_party/heimdal/cf/make-proto.pl b/third_party/heimdal/cf/make-proto.pl -index 36a040ce6c0..ad21dbad9e1 100644 ---- a/third_party/heimdal/cf/make-proto.pl -+++ b/third_party/heimdal/cf/make-proto.pl -@@ -4,7 +4,7 @@ - use Getopt::Std; - use File::Compare; - --use JSON; -+use JSON::PP; - - my $comment = 0; - my $doxygen = 0; -@@ -70,7 +70,7 @@ if($opt_x) { - my $EXP; - local $/; - open(EXP, '<', $opt_x) || die "open ${opt_x}"; -- my $obj = JSON->new->utf8->decode(); -+ my $obj = JSON::PP->new->utf8->decode(); - close $EXP; - - foreach my $x (keys %$obj) { --- -2.25.1 - diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash index 9843d419f0..4e74e07bd0 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.18.8.tar.asc -sha256 4fb87bceaeb01d832a59046c197a044b7e8e8000581548b5d577a6cda03344d1 samba-4.18.8.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.19.5.tar.asc +sha256 0e2405b4cec29d0459621f4340a1a74af771ec7cffedff43250cad7f1f87605e samba-4.19.5.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index 9cf7a59d9b..0980d03175 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.18.8 +SAMBA4_VERSION = 4.19.5 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES @@ -118,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) \ diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk index 83c40e684f..fe89e7747d 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 0e8a995090..cce21fc860 100644 --- a/package/sconeserver/Config.in +++ b/package/sconeserver/Config.in @@ -67,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 89abc8d3b2..10a0a22597 100644 --- a/package/sconeserver/sconeserver.mk +++ b/package/sconeserver/sconeserver.mk @@ -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 a72fbaee5a..48b5077b2e 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 6b75d3ddca..ffd6abf609 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/scrypt/scrypt.hash b/package/scrypt/scrypt.hash index 4004b89737..fb78909b3f 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 fb305faf41..977045b8e6 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 0000000000..d62a65ae84 --- /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 169fad2807..f4336228af 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 0e8d74cfcd..9ffaeb26d2 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/sdl2.hash b/package/sdl2/sdl2.hash index 4b2e4d9cd3..7a28d5efc8 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.28.1.tar.gz.sig -sha256 4977ceba5c0054dbe6c2f114641aced43ce3bf2b41ea64b6a372d6ba129cb15d SDL2-2.28.1.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 9928507f684c1965d07f2b6ef4b4723d5efc2f6b4ab731f743a413c51c319927 LICENSE.txt diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk index ce42aee4e8..eb5042e3cd 100644 --- a/package/sdl2/sdl2.mk +++ b/package/sdl2/sdl2.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_VERSION = 2.28.1 +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 55b2661fc0..53a887c6f9 100644 --- a/package/sdl2_image/sdl2_image.hash +++ b/package/sdl2_image/sdl2_image.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 931c9be5bf1d7c8fae9b7dc157828b7eee874e23c7f24b44ba7eff6b4836312c SDL2_image-2.6.3.tar.gz -sha256 1852c8549e3d154687197d46abababd3e8faae035f19991b2ca850fa3a43ad57 LICENSE.txt +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 aaf379788c..40b9e3c915 100644 --- a/package/sdl2_image/sdl2_image.mk +++ b/package/sdl2_image/sdl2_image.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_IMAGE_VERSION = 2.6.3 +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_ttf/sdl2_ttf.hash b/package/sdl2_ttf/sdl2_ttf.hash index f43ec790fd..7693aeba6b 100644 --- a/package/sdl2_ttf/sdl2_ttf.hash +++ b/package/sdl2_ttf/sdl2_ttf.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9dc71ed93487521b107a2c4a9ca6bf43fb62f6bddd5c26b055e6b91418a22053 SDL2_ttf-2.20.2.tar.gz -sha256 1852c8549e3d154687197d46abababd3e8faae035f19991b2ca850fa3a43ad57 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 c2c4b660f8..f4f293cec1 100644 --- a/package/sdl2_ttf/sdl2_ttf.mk +++ b/package/sdl2_ttf/sdl2_ttf.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_TTF_VERSION = 2.20.2 +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/sedutil/0002-include-missing-cstdint.patch b/package/sedutil/0002-include-missing-cstdint.patch new file mode 100644 index 0000000000..07a617c5e7 --- /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/sentry-cli/0001-Disable-SSL-support-for-the-curl-module.patch b/package/sentry-cli/0001-Disable-SSL-support-for-the-curl-module.patch index e68401da78..819d8016ae 100644 --- 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 @@ -1,4 +1,4 @@ -From a3754088b4cf7d19ff4f9a98412dd132d5baf1c1 Mon Sep 17 00:00:00 2001 +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 @@ -17,26 +17,26 @@ Signed-off-by: Bernd Kuhls 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock -index 75e1c8c..5121211 100644 +index e5031db..7357215 100644 --- a/Cargo.lock +++ b/Cargo.lock -@@ -1557,15 +1557,6 @@ version = "0.1.5" +@@ -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.22.0+1.1.1q" +-version = "111.25.0+1.1.1t" -source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853" +-checksum = "3173cd3626c43e3854b1b727422a276e568d9ec5fe8cec197822cf52cfb743d6" -dependencies = [ - "cc", -] - [[package]] name = "openssl-sys" - version = "0.9.74" -@@ -1575,7 +1566,6 @@ dependencies = [ + version = "0.9.80" +@@ -1539,7 +1530,6 @@ dependencies = [ "autocfg", "cc", "libc", @@ -45,18 +45,18 @@ index 75e1c8c..5121211 100644 "vcpkg", ] diff --git a/Cargo.toml b/Cargo.toml -index abd6839..ddc141f 100644 +index c8c9ca9..117e77d 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -19,7 +19,7 @@ clap = { version = "3.2.22", default-features = false, features = [ - "wrap_help", +@@ -25,7 +25,7 @@ clap = { version = "4.1.6", default-features = false, features = [ + "error-context", ] } - console = "0.15.2" + 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.2" + elementtree = "1.2.3" -- 2.39.2 diff --git a/package/sentry-cli/sentry-cli.hash b/package/sentry-cli/sentry-cli.hash index 3562199a82..78f137da3a 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 15094c2d01..df419f81e1 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 7a3cbd36ad..88db2779f1 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/setools.hash b/package/setools/setools.hash index c353e1f609..6a61fc2809 100644 --- a/package/setools/setools.hash +++ b/package/setools/setools.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 998d12d01852feed1889110a4ca81090a47a2d9b47368e4dfe2b94d68696c813 setools-4.4.2.tar.gz +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 b80d25a6b9..efb3869e5b 100644 --- a/package/setools/setools.mk +++ b/package/setools/setools.mk @@ -4,7 +4,7 @@ # ################################################################################ -SETOOLS_VERSION = 4.4.2 +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/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 50a81a78a4..0000000000 --- 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 4c475ee1ff..0000000000 --- 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 ff2ef55180..0a06595a31 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 b291bd69d9..3d85a59a57 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/0001-Fix-yescrypt-support.patch b/package/shadow/0001-Fix-yescrypt-support.patch deleted file mode 100644 index 19427676ca..0000000000 --- a/package/shadow/0001-Fix-yescrypt-support.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7a63017b3c873a59e3482322b7824160a8c8ca67 Mon Sep 17 00:00:00 2001 -11;rgb:f6f6/f5f5/f4f4From: Bernd Kuhls -Date: Sun, 9 Jul 2023 10:55:03 +0200 -Subject: [PATCH] Fix yescrypt support - -Fixes build error: -newusers.c: In function 'update_passwd': -newusers.c:433:21: error: 'sflg' undeclared (first use in this function); did you mean 'rflg'? - -introduced by -https://github.com/shadow-maint/shadow/commit/5cd04d03f94622c12220d4a6352824af081b8531 -which forgot to define sflg for these configure options: - ---without-sha-crypt --without-bcrypt --with-yescrypt - -Upstream: https://github.com/shadow-maint/shadow/commit/29da702491eea314b915ea9c7a83c9af80cf5797 - -Signed-off-by: Bernd Kuhls ---- - src/newusers.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/newusers.c b/src/newusers.c -index 7cb8434b..08f79798 100644 ---- a/src/newusers.c -+++ b/src/newusers.c -@@ -60,7 +60,7 @@ static bool rflg = false; /* create a system account */ - #ifndef USE_PAM - static /*@null@*//*@observer@*/char *crypt_method = NULL; - #define cflg (NULL != crypt_method) --#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) -+#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) - static bool sflg = false; - #endif - #ifdef USE_SHA_CRYPT --- -2.39.2 - diff --git a/package/shadow/Config.in b/package/shadow/Config.in index e85e5884d2..b08b06457b 100644 --- a/package/shadow/Config.in +++ b/package/shadow/Config.in @@ -2,6 +2,7 @@ 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. @@ -31,11 +32,6 @@ comment "account-tools-setuid needs a toolchain w/ dynamic library, wchar, local depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ !BR2_ENABLE_LOCALE || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 -config BR2_PACKAGE_SHADOW_UTMPX - bool "utmpx" - help - Enable loggin in utmpx / wtmpx. - config BR2_PACKAGE_SHADOW_SUBORDINATE_IDS bool "subordinate-ids" help @@ -60,5 +56,6 @@ config BR2_PACKAGE_SHADOW_YESCRYPT endif # BR2_PACKAGE_SHADOW -comment "shadow needs a toolchain w/ headers >= 4.14, dynamic library" - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 || BR2_STATIC_LIBS +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 index 2e5c4a8168..4689a994de 100644 --- a/package/shadow/shadow.hash +++ b/package/shadow/shadow.hash @@ -1,3 +1,4 @@ -# Locally computed -sha256 9afe245d79a2e7caac5f1ed62519b17416b057ec89df316df1c3935502f9dd2c shadow-4.13.tar.xz +# 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 index 4bc3cce037..1e7ada6148 100644 --- a/package/shadow/shadow.mk +++ b/package/shadow/shadow.mk @@ -4,7 +4,7 @@ # ################################################################################ -SHADOW_VERSION = 4.13 +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 @@ -43,12 +43,6 @@ else SHADOW_CONF_OPTS += --disable-account-tools-setuid endif -ifeq ($(BR2_PACKAGE_SHADOW_UTMPX),y) -SHADOW_CONF_OPTS += --enable-utmpx -else -SHADOW_CONF_OPTS += --disable-utmpx -endif - ifeq ($(BR2_PACKAGE_SHADOW_SUBORDINATE_IDS),y) SHADOW_CONF_OPTS += --enable-subordinate-ids define SHADOW_SUBORDINATE_IDS_PERMISSIONS @@ -120,6 +114,13 @@ 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 - - - - - 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 a565874b8c..0000000000 --- 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 b016fef5cf..f542ee79ac 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 37d2d9ae64..a36a65f80e 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 58c1668112..725b8d9c52 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 e22efcfbed..f6cff1910b 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 b6e156c66a..df39793845 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/var.mount b/package/skeleton-init-systemd/factory/var.mount similarity index 80% rename from package/skeleton-init-systemd/var.mount rename to package/skeleton-init-systemd/factory/var.mount index e97accef93..a681ab0c54 100644 --- a/package/skeleton-init-systemd/var.mount +++ b/package/skeleton-init-systemd/factory/var.mount @@ -12,4 +12,4 @@ After=swap.target What=tmpfs Where=/var Type=tmpfs -Options=mode=1777,strictatime,nosuid,nodev,size=50%%,nr_inodes=1m +Options=nosuid,nodev,size=50%%,nr_inodes=1m 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 0000000000..281aa0efb5 --- /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 0000000000..812e6ce7bf --- /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 fb15552f99..b312fe33e4 100644 --- a/package/skeleton-init-systemd/skeleton-init-systemd.mk +++ b/package/skeleton-init-systemd/skeleton-init-systemd.mk @@ -33,7 +33,7 @@ endef # a real (but empty) directory, and the "factory files" will be copied # back there by the tmpfiles.d mechanism. ifeq ($(BR2_INIT_SYSTEMD_VAR_FACTORY),y) -define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR +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 @@ -52,11 +52,30 @@ define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR || exit 1; \ fi; \ done >$(TARGET_DIR)/usr/lib/tmpfiles.d/00-buildroot-var.conf - $(INSTALL) -D -m 0644 $(SKELETON_INIT_SYSTEMD_PKGDIR)/var.mount \ + $(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 + +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) diff --git a/package/skeleton-init-sysv/skeleton/etc/fstab b/package/skeleton-init-sysv/skeleton/etc/fstab index 169054b74f..06c20fe9d5 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/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 bd2ef07794..0000000000 --- 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 b49b0e7e3b..729d696d7e 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 d31dcdd5fe..c96dff35fa 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/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 0000000000..4f24ee72d4 --- /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 ce088dfafc..b4c3e1ffde 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 da31073ba5..0000000000 --- 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 2113e1b3a4..2a14d75303 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 f958f26522..1e2880c028 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 6799a941be..f4ce8d832d 100644 --- a/package/sofia-sip/sofia-sip.hash +++ b/package/sofia-sip/sofia-sip.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 125a9653bea1fc1cb275e4aec3445aa2deadf1fe3f1adffae9559d2349bfab36 sofia-sip-1.13.16.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 c829625cb0..a64716483f 100644 --- a/package/sofia-sip/sofia-sip.mk +++ b/package/sofia-sip/sofia-sip.mk @@ -4,7 +4,7 @@ # ################################################################################ -SOFIA_SIP_VERSION = 1.13.16 +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 diff --git a/package/spdlog/spdlog.hash b/package/spdlog/spdlog.hash index a943abba2c..3dbe43ac2d 100644 --- a/package/spdlog/spdlog.hash +++ b/package/spdlog/spdlog.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9 spdlog-1.12.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 15a80edbd0..b45ae0a17d 100644 --- a/package/spdlog/spdlog.mk +++ b/package/spdlog/spdlog.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPDLOG_VERSION = 1.12.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/0001-add-disable-doc.patch b/package/speechd/0001-add-disable-doc.patch deleted file mode 100644 index dd17b10e4f..0000000000 --- a/package/speechd/0001-add-disable-doc.patch +++ /dev/null @@ -1,78 +0,0 @@ -From d88557d3c29c33f76af20cb7a6eb798f6f598c23 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 19 Feb 2023 15:18:35 +0100 -Subject: [PATCH] add --disable-doc - -Allow the user to disable documentation through --disable-doc to avoid -the following build failure without makeinfo: - -make[3]: Entering directory '/home/buildroot/autobuild/instance-2/output-1/build/speechd-0.11.4/doc' - MAKEINFO ssip.info - MAKEINFO spd-say.info -/home/buildroot/autobuild/instance-2/output-1/build/speechd-0.11.4/missing: line 81: makeinfo: command not found -/home/buildroot/autobuild/instance-2/output-1/build/speechd-0.11.4/missing: line 81: makeinfo: command not found -WARNING: 'makeinfo' is missing on your system. - You should only need it if you modified a '.texi' file, or - any other file indirectly affecting the aspect of the manual. - You might want to install the Texinfo package: - - The spurious makeinfo call might also be the consequence of - using a buggy 'make' (AIX, DU, IRIX), in which case you might - want to install GNU make: - -WARNING: 'makeinfo' is missing on your system. - You should only need it if you modified a '.texi' file, or - any other file indirectly affecting the aspect of the manual. - You might want to install the Texinfo package: - - The spurious makeinfo call might also be the consequence of - using a buggy 'make' (AIX, DU, IRIX), in which case you might - want to install GNU make: - -make[3]: *** [Makefile:492: ssip.info] Error 127 - -Fixes: - - http://autobuild.buildroot.org/results/d4f193545eb31864a9bac5a9d05bba39d3c7ff3e - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/brailcom/speechd/pull/810] ---- - Makefile.am | 6 +++++- - configure.ac | 4 ++++ - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 26617c78..480eb50e 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -22,7 +22,11 @@ pkgconfig_DATA = speech-dispatcher.pc - - BUILT_SOURCES = $(top_srcdir)/.version - --SUBDIRS= include locale src config doc po -+SUBDIRS= include locale src config po -+ -+if ENABLE_DOC -+SUBDIRS += doc -+endif - - EXTRA_DIST= config.rpath COPYING.LGPL COPYING.GPL-2 COPYING.GPL-3 ANNOUNCE BUGS FAQ README.md README.packagers README.translators README.overview.md README.style.md build.sh speech-dispatcherd.service.in speech-dispatcher.socket speech-dispatcher.service.in po/Makevars.in po/README - -diff --git a/configure.ac b/configure.ac -index faaa8629..4f2af908 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -168,6 +168,10 @@ AC_SUBST([EXTRA_SOCKET_LIBS]) - AC_SUBST([ERROR_CFLAGS]) - AC_SUBST([RDYNAMIC]) - -+AC_ARG_ENABLE([doc], -+ [AC_HELP_STRING([--disable-doc], [turn off documentation])]) -+AM_CONDITIONAL(ENABLE_DOC, test "$enable_doc" != "no") -+ - # Check for python support. - # Python 3 or greater required - AC_ARG_ENABLE([python], --- -2.39.0 - diff --git a/package/speechd/speechd.hash b/package/speechd/speechd.hash index 4eb4cd09d2..0b02a35792 100644 --- a/package/speechd/speechd.hash +++ b/package/speechd/speechd.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 628d4446894b47f0df099123924c1070180b5b5b09c5b637ebe80d8578fba92f speechd-0.11.4.tar.gz +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 index ae777c6d30..7d50f88c1d 100644 --- a/package/speechd/speechd.mk +++ b/package/speechd/speechd.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPEECHD_VERSION = 0.11.4 +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 @@ -12,8 +12,11 @@ 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 -SPEECHD_CONF_ENV = ac_cv_prog_HELP2MAN="" +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 \ 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 0000000000..edb8b2ed17 --- /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 5f7bcd9d2f..608a9413fe 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 0000000000..e03a6ca1ee --- /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 0000000000..136f3df733 --- /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 0000000000..9f84c42b2d --- /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.mk b/package/spirv-llvm-translator/spirv-llvm-translator.mk index 37db47340e..523890a986 100644 --- a/package/spirv-llvm-translator/spirv-llvm-translator.mk +++ b/package/spirv-llvm-translator/spirv-llvm-translator.mk @@ -10,11 +10,13 @@ SPIRV_LLVM_TRANSLATOR_VERSION = v15.0.0-46-ge82ecc2bd7295604fcf1824e47c95fa6a09c 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 0000000000..98b0c46525 --- /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 0000000000..65cb9c619b --- /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 0000000000..e863911b03 --- /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 c655165172..7632c1c887 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 c0c53acdd2..8d062ccf81 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 39758f2b43..38cff902d7 100644 --- a/package/sqlite/sqlite.hash +++ b/package/sqlite/sqlite.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7abcfd161c6e2742ca5c6c0895d1f853c940f203304a0b49da4e1eca5d088ca6 sqlite-autoconf-3420000.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 1576d6a3e1..b54bd9580c 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,11 +4,11 @@ # ################################################################################ -SQLITE_VERSION = 3.42.0 -SQLITE_TAR_VERSION = 3420000 +SQLITE_VERSION = 3.44.2 +SQLITE_TAR_VERSION = 3440200 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_TAR_VERSION).tar.gz SQLITE_SITE = https://www.sqlite.org/2023 -SQLITE_LICENSE = Public domain +SQLITE_LICENSE = blessing SQLITE_LICENSE_FILES = tea/license.terms SQLITE_CPE_ID_VENDOR = sqlite SQLITE_INSTALL_STAGING = YES diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk index 082104b6d4..b9fbf54b01 100644 --- a/package/squashfs/squashfs.mk +++ b/package/squashfs/squashfs.mk @@ -8,7 +8,7 @@ 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 6272140768..149884d815 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 b00d14011e..4a8ea5d550 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.6.tar.xz.asc +md5 5a41134ee1b7e75f62088acdec92d2ca squid-6.6.tar.xz +sha1 f05e06a9dd3bf7501d2844e43d9ae1bd00e9edcc squid-6.6.tar.xz # Locally calculated -sha256 6b0753aaba4c9c4efd333e67124caecf7ad6cc2d38581f19d2f0321f5b7ecd81 squid-5.7.tar.xz +sha256 55bd7f9f4898153161ea1228998acb551bf840832b9e5b90fc8ecd2942420318 squid-6.6.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squid/squid.mk b/package/squid/squid.mk index 355af0b902..6a2b522336 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -4,9 +4,9 @@ # ################################################################################ -SQUID_VERSION = 5.7 +SQUID_VERSION = 6.6 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/sshguard/sshguard.hash b/package/sshguard/sshguard.hash index b1752f1c68..d018428d19 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 d27c76e63f..8d03635743 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/sslh/0001-Makefile-add-USE_LIBEV.patch b/package/sslh/0001-Makefile-add-USE_LIBEV.patch new file mode 100644 index 0000000000..858d30fa15 --- /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 ae678563da..839e7b7f1c 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 6ef7cda1a9..e829af0bba 100644 --- a/package/sslh/sslh.mk +++ b/package/sslh/sslh.mk @@ -4,12 +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_VENDOR = sslh_project +SSLH_CPE_ID_VALID = YES SSLH_DEPENDENCIES = pcre2 SSLH_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -std=gnu99" @@ -35,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 17d059226c..59c6806459 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 aa5da1996e..c48bb593a4 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 e0ee61d2b6..a2f511a283 100644 --- a/package/stellarium/stellarium.hash +++ b/package/stellarium/stellarium.hash @@ -1,4 +1,4 @@ # From https://github.com/Stellarium/stellarium/releases -sha256 3aee154d0de3ed484e3e6fee027cf73e6dd0a677b3ea1af348b225ac02339008 stellarium-23.2.tar.xz +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 43c99413dd..94ad4e1352 100644 --- a/package/stellarium/stellarium.mk +++ b/package/stellarium/stellarium.mk @@ -4,7 +4,7 @@ # ################################################################################ -STELLARIUM_VERSION = 23.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+ diff --git a/package/strace/Config.in b/package/strace/Config.in index dc245c7297..e0551f3861 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 e6e9c4ec96..a35d2b0be6 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.4/strace-6.4.tar.xz.asc -sha256 27987dbac57fdfd260c6db4dc8328df35c95c6867c8a3d4371d59cdcf4eb9238 strace-6.4.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 b109578a35..ddcdfabb29 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -4,12 +4,12 @@ # ################################################################################ -STRACE_VERSION = 6.4 +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/stress.hash b/package/stress/stress.hash index dc1785b6c7..ac36122594 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 99a50f349e..53f01b3b0a 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 f2e597e016..a62688f9c3 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 de8f18747a..ed8cf0ae31 100644 --- a/package/strongswan/strongswan.hash +++ b/package/strongswan/strongswan.hash @@ -1,7 +1,7 @@ -# From http://download.strongswan.org/strongswan-5.9.11.tar.bz2.md5 -md5 673e194cd256af77b46928179f2c81ad strongswan-5.9.11.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 ddf53f1f26ad26979d5f55e8da95bd389552f5de3682e35593f9a70b2584ed2d strongswan-5.9.11.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 6058631696..41959793a3 100644 --- a/package/strongswan/strongswan.mk +++ b/package/strongswan/strongswan.mk @@ -4,7 +4,7 @@ # ################################################################################ -STRONGSWAN_VERSION = 5.9.11 +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 0000000000..a8edc1d465 --- /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 19633b3c18..6bfbc6d0b2 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 95a1530eb8..9e9cf35554 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 d2239b1b5b..2710e9e3f3 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 b27058c024..bc0b9b45ab 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-configure.ac-fix-openssl-static-build.patch b/package/sudo/0001-configure.ac-fix-openssl-static-build.patch deleted file mode 100644 index dc91af6119..0000000000 --- a/package/sudo/0001-configure.ac-fix-openssl-static-build.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 1fed5adc166d5f2190a6b6ad048ec2d803316327 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 22 Feb 2023 10:13:30 +0100 -Subject: [PATCH] configure.ac: fix openssl static build - -Do not use AX_APPEND_FLAG as it will break static builds by removing -duplicates such as -lz or -latomic which are needed by -lssl and --lcrypto. This will fix the following build failure with sparc which -needs -latomic: - -Checking for X509_STORE_CTX_get0_cert -configure:21215: /home/thomas/autobuild/instance-3/output-1/host/bin/sparc-buildroot-linux-uclibc-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DZLIB_CONST -static conftest.c -L/home/thomas/autobuild/instance-3/output-1/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib -lssl -lz -pthread -latomic -lcrypto >&5 -/home/thomas/autobuild/instance-3/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/10.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /home/thomas/autobuild/instance-3/output-1/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib/libcrypto.a(x509cset.o): in function `X509_CRL_up_ref': -x509cset.c:(.text+0x108): undefined reference to `__atomic_fetch_add_4' - -[...] - -In file included from ./hostcheck.c:38: -../../include/sudo_compat.h:342:41: error: conflicting types for 'ASN1_STRING_data' - 342 | # define ASN1_STRING_get0_data(x) ASN1_STRING_data(x) - | ^~~~~~~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/8be59dd94e4916f9457cb435104e36e62a28373b - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/sudo-project/sudo/commit/1fed5adc166d5f2190a6b6ad048ec2d803316327] ---- - m4/openssl.m4 | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/m4/openssl.m4 b/m4/openssl.m4 -index a2e4941ae8..b4cbd821db 100644 ---- a/m4/openssl.m4 -+++ b/m4/openssl.m4 -@@ -44,7 +44,9 @@ AC_DEFUN([SUDO_CHECK_OPENSSL], [ - SUDO_APPEND_LIBPATH([LIBTLS], [$f]) - ;; - *) -- AX_APPEND_FLAG([$f], [LIBTLS]) -+ # Do not use AX_APPEND_FLAG as it will break static builds by removing -+ # duplicates such as -lz or -latomic which are needed by -lssl and -lcrypto -+ LIBTLS="$LIBTLS $f" - ;; - esac - done 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 0000000000..446f1d1797 --- /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/sudo.hash b/package/sudo/sudo.hash index 720b21d849..066d3b9de6 100644 --- a/package/sudo/sudo.hash +++ b/package/sudo/sudo.hash @@ -1,4 +1,4 @@ # From: https://www.sudo.ws/getting/download/ -sha256 92334a12bb93e0c056b09f53e255ccb7d6f67c6350e2813cd9593ceeca78560b sudo-1.9.13p3.tar.gz +sha256 558d10b9a1991fb3b9fa7fa7b07ec4405b7aefb5b3cb0b0871dbc81e3a88e558 sudo-1.9.15p5.tar.gz # Locally calculated sha256 ea33b3971e8e4d9657cd6794a952aaa71b22bd16745f1645455b6ead010e0a28 LICENSE.md diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index e70e8bd31f..7961a99002 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -4,8 +4,8 @@ # ################################################################################ -SUDO_VERSION_MAJOR = 1.9.13 -SUDO_VERSION_MINOR = p3 +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 @@ -13,8 +13,6 @@ SUDO_LICENSE_FILES = LICENSE.md SUDO_CPE_ID_VERSION = $(SUDO_VERSION_MAJOR) SUDO_CPE_ID_UPDATE = $(SUDO_VERSION_MINOR) SUDO_SELINUX_MODULES = sudo -# We're patching m4/openssl.m4 -SUDO_AUTORECONF = YES # This is to avoid sudo's make install from chown()ing files which fails SUDO_INSTALL_TARGET_OPTS = INSTALL_OWNER="" DESTDIR="$(TARGET_DIR)" install SUDO_CONF_OPTS = \ @@ -60,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/Config.in b/package/sunxi-mali-utgard/Config.in index 59ac21f5ab..f70a6f645c 100644 --- a/package/sunxi-mali-utgard/Config.in +++ b/package/sunxi-mali-utgard/Config.in @@ -18,6 +18,9 @@ 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 @@ -38,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 f693667955..cd03ad62f7 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/supervisor/supervisor.hash b/package/supervisor/supervisor.hash index f6e9cf97b1..a61afc4410 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 ad34c031e4..eb2a4990b7 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/suricata.hash b/package/suricata/suricata.hash index 49341984a2..41befa61b9 100644 --- a/package/suricata/suricata.hash +++ b/package/suricata/suricata.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 cfa93de900d0fd8ba67c79fddec58fb7afb8f6c45b0773040035a15407b796ce suricata-6.0.14.tar.gz +sha256 1bd546149ac6671c2476d520a38eab7755e10c3080fd2ec2dc8624b0cf89ee75 suricata-6.0.15.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/suricata/suricata.mk b/package/suricata/suricata.mk index 2aa5a0c5ed..5b52635328 100644 --- a/package/suricata/suricata.mk +++ b/package/suricata/suricata.mk @@ -4,7 +4,7 @@ # ################################################################################ -SURICATA_VERSION = 6.0.14 +SURICATA_VERSION = 6.0.15 SURICATA_SITE = https://www.openinfosecfoundation.org/download SURICATA_LICENSE = GPL-2.0 SURICATA_LICENSE_FILES = COPYING LICENSE diff --git a/package/sway/Config.in b/package/sway/Config.in index f8d073520f..4f6d9fb215 100644 --- a/package/sway/Config.in +++ b/package/sway/Config.in @@ -2,17 +2,15 @@ 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 # 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 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c, pango depends on BR2_USE_WCHAR # pango - depends on BR2_TOOLCHAIN_HAS_THREADS # pango depends on BR2_USE_MMU # pango depends on BR2_INSTALL_LIBSTDCPP # pango - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango select BR2_PACKAGE_WLROOTS select BR2_PACKAGE_JSON_C @@ -20,11 +18,42 @@ config BR2_PACKAGE_SWAY 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 || \ diff --git a/package/sway/sway.hash b/package/sway/sway.hash index 6dfa71730f..86b6581f1c 100644 --- a/package/sway/sway.hash +++ b/package/sway/sway.hash @@ -1,3 +1,3 @@ # Locally computed, tarball verified with GPG signature -sha256 0c64536fb2883ec518e75cfb119f9300115fb49b084e3fde62b794fe2c6c8d84 sway-1.7.tar.gz +sha256 73f08fd2cf7948e8af900709efe44eae412ae11c5773960e25c9aa09f73bad41 sway-1.8.1.tar.gz sha256 bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b LICENSE diff --git a/package/sway/sway.mk b/package/sway/sway.mk index 802371c827..0aad9de712 100644 --- a/package/sway/sway.mk +++ b/package/sway/sway.mk @@ -4,20 +4,15 @@ # ################################################################################ -SWAY_VERSION = 1.7 -SWAY_SITE = $(call github,swaywm,sway,v$(SWAY_VERSION)) +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 \ - -Ddefault-wallpaper=false \ -Dzsh-completions=false \ - -Dbash-completions=false \ -Dfish-completions=false \ - -Dswaybar=false \ - -Dswaynag=false \ - -Dtray=disabled \ -Dman-pages=disabled \ -Dsd-bus-provider=libsystemd @@ -34,4 +29,34 @@ 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/swugenerator/swugenerator.mk b/package/swugenerator/swugenerator.mk index f4ead1d229..466fe1f046 100644 --- a/package/swugenerator/swugenerator.mk +++ b/package/swugenerator/swugenerator.mk @@ -9,6 +9,10 @@ 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-python-libconf +HOST_SWUGENERATOR_DEPENDENCIES = \ + host-gzip \ + host-openssl \ + host-python-libconf \ + host-zstd $(eval $(host-python-package)) diff --git a/package/swupdate/Config.in b/package/swupdate/Config.in index 7d9fc90e10..ba3f6a0c0f 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 df1a408421..28d805f8ec 100644 --- a/package/swupdate/swupdate-usb@.service +++ b/package/swupdate/swupdate-usb@.service @@ -1,9 +1,11 @@ [Unit] Description=usb media swupdate service Requires=swupdate.service -Requires=swupdate-progress.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 1b26f9e5e2..c19a82304f 100644 --- a/package/swupdate/swupdate.hash +++ b/package/swupdate/swupdate.hash @@ -1,12 +1,12 @@ # Locally calculated -sha256 e6335e87812a98a87f1c55df03c9f4e4ef042789570002c5db120b09f64b0d86 swupdate-2022.12.tar.gz +sha256 ce24032300e2b6a6faa3d22e49f981fd90f04ac6f5d7e802166824b0cd5ca669 swupdate-2023.12.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 11a3946753..ca8c140886 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -4,7 +4,7 @@ # ################################################################################ -SWUPDATE_VERSION = 2022.12 +SWUPDATE_VERSION = 2023.12 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 @@ -230,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/sylpheed/sylpheed.mk b/package/sylpheed/sylpheed.mk index a7c7adade3..fc419e2867 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/Config.in b/package/sysdig/Config.in index c0a631bd49..3a3670f5cb 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 30ce6d9c0b..7e00990174 100644 --- a/package/sysklogd/sysklogd.hash +++ b/package/sysklogd/sysklogd.hash @@ -1,5 +1,5 @@ # Upstream .sha256 from GitHub -sha256 e1d635944e5a6062c8ea18b9506668ebdaefacea1965147f60cf3fb3a25770e8 sysklogd-2.5.0.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 ebc9f89cf7..083f505a2b 100644 --- a/package/sysklogd/sysklogd.mk +++ b/package/sysklogd/sysklogd.mk @@ -4,12 +4,12 @@ # ################################################################################ -SYSKLOGD_VERSION = 2.5.0 +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/Config.in b/package/syslog-ng/Config.in index 30ad54a4bf..aa1e71d225 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 a3cfa8dacf..06e48cdd50 100644 --- a/package/syslog-ng/syslog-ng.conf +++ b/package/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 4.2 +@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 a917331580..6841ed5eb1 100644 --- a/package/syslog-ng/syslog-ng.hash +++ b/package/syslog-ng/syslog-ng.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 092bd17fd47002c988aebdf81d0ed3f3cfd0e82b388d2453bcaa5e67934f4dda syslog-ng-4.2.0.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 39433185b4..dd02a6e3af 100644 --- a/package/syslog-ng/syslog-ng.mk +++ b/package/syslog-ng/syslog-ng.mk @@ -6,13 +6,13 @@ # When updating the version, please check at runtime if the version in # syslog-ng.conf header needs to be updated -SYSLOG_NG_VERSION = 4.2.0 +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 \ diff --git a/package/sysstat/Config.in b/package/sysstat/Config.in index 442b787684..efb640fd43 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 b47f000e57..31821d9e3f 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 377396d986..cfa97834c3 100644 --- a/package/sysstat/sysstat.mk +++ b/package/sysstat/sysstat.mk @@ -4,14 +4,14 @@ # ################################################################################ -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 ifeq ($(BR2_PACKAGE_LM_SENSORS),y) @@ -20,5 +20,7 @@ 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 e2cf395811..0000000000 --- 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 9661115bf0..0000000000 --- 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 56b7e47650..3bbc870780 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 e275743026..6b101e8400 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 0000000000..9408a6da0e --- /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 859332d9e4..aa5143d484 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -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 diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index f0c3db60e7..e5588f06a2 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 41873783aa1c680e10d2f2626797a1c2fef8018d69b68c8c77639e140ee7846d systemd-254.5.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 diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index d428765ec3..c6b006d1fb 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 = 254.5 +SYSTEMD_VERSION = 254.9 SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = \ LGPL-2.1+, \ @@ -46,7 +46,7 @@ SYSTEMD_LICENSE_FILES = \ 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) \ @@ -63,6 +63,7 @@ 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' \ @@ -111,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 @@ -616,11 +621,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) @@ -632,7 +639,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) @@ -800,6 +806,7 @@ HOST_SYSTEMD_CONF_OPTS = \ --libdir=lib \ --sysconfdir=/etc \ --localstatedir=/var \ + -Dcreate-log-dirs=false \ -Dmode=release \ -Dutmp=false \ -Dhibernate=false \ diff --git a/package/sysvinit/sysvinit.hash b/package/sysvinit/sysvinit.hash index f81e55fc44..67b0ab38f0 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 1bf10deb63..49c92ec2ac 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/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 0000000000..7bad339fe0 --- /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.hash b/package/tar/tar.hash index 108a95ee62..1914a9f3b4 100644 --- a/package/tar/tar.hash +++ b/package/tar/tar.hash @@ -1,4 +1,4 @@ # Locally calculated after checking signature -sha256 4d62ff37342ec7aed748535323930c7cf94acf71c3591882b26a7ea50f3edc16 tar-1.35.tar.xz -sha256 c77a38fcf25b21fd8209d20d35638744344ded239cfc7df80138bf46d3c6b16d tar-1.35.cpio.gz -sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING +sha256 63bebd26879c5e1eea4352f0d03c991f966aeb3ddeb3c7445c902568d5411d28 tar-1.34.tar.xz +sha256 51337b19c71df92cd4f51c50efe4dc6ddc267d31fd54679be9e9bc2e6ce8132b tar-1.34.cpio.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/tar/tar.mk b/package/tar/tar.mk index eea112ebc7..d57d63970d 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -4,7 +4,7 @@ # ################################################################################ -TAR_VERSION = 1.35 +TAR_VERSION = 1.34 TAR_SOURCE = tar-$(TAR_VERSION).tar.xz TAR_SITE = $(BR2_GNU_MIRROR)/tar # busybox installs in /bin, so we need tar to install as well in /bin @@ -13,6 +13,11 @@ TAR_CONF_OPTS = --exec-prefix=/ TAR_LICENSE = GPL-3.0+ TAR_LICENSE_FILES = COPYING TAR_CPE_ID_VENDOR = gnu +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 04c6a1ac09..eb7528fbea 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 64f68a6675..1732fa99e5 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 c6ca776b27..503b9224d0 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/tbb.hash b/package/tbb/tbb.hash index 579581cfe4..4d2cb10da8 100644 --- a/package/tbb/tbb.hash +++ b/package/tbb/tbb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 eee380323bb7ce864355ed9431f85c43955faaae9e9bce35c62b372d7ffd9f8b tbb-2021.8.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 c3e06a4e6d..1b0afbb889 100644 --- a/package/tbb/tbb.mk +++ b/package/tbb/tbb.mk @@ -4,7 +4,7 @@ # ################################################################################ -TBB_VERSION = 2021.8.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 0000000000..5f08fa485e --- /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 8c7aab0c0b..a016871e6d 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 3ff4d9a546..34893d280b 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 2b8a61b66f..9d955d4b6f 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/tcl.hash b/package/tcl/tcl.hash index 2b82a1938b..109ea3d79c 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 0d8fe17c0e..18171aebd7 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,7 +74,7 @@ endef TCL_POST_INSTALL_TARGET_HOOKS += TCL_REMOVE_EXTRA TCL_DEPENDENCIES = $(if $(BR2_PACKAGE_SQLITE),sqlite) \ - $(if $(BR2_PACKAGE_MYSQL),mysql) \ + $(if $(BR2_PACKAGE_MARIADB),mariadb) \ $(if $(BR2_PACKAGE_POSTGRESQL),postgresql) \ zlib diff --git a/package/tclap/tclap.mk b/package/tclap/tclap.mk index d7f96bd034..665bec2d67 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 fb80841998..fe0ece238e 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 0f60eb8aca..1f2b575b29 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/tcping/tcping.hash b/package/tcping/tcping.hash index c97c0fa2a4..f706599c2d 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 5eaf702ef0..9a068f5668 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 97c2e7ee34..e73e2d2c57 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 65eb908932..c5b3f9baa4 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/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 5280f01aba..0000000000 --- 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 20b8d5ce76..0000000000 --- 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 9e526423d3..45b9def27f 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 abe3d39ab6..d65111d468 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/tiff/Config.in b/package/tiff/Config.in index d1004d6668..d357d08406 100644 --- a/package/tiff/Config.in +++ b/package/tiff/Config.in @@ -63,10 +63,6 @@ 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 diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash index 0fa503a02a..3aae7dc4d5 100644 --- a/package/tiff/tiff.hash +++ b/package/tiff/tiff.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d7f38b6788e4a8f5da7940c5ac9424f494d8a79eba53d555f4a507167dca5e2b tiff-4.5.1.tar.gz +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 0006f461a0..0e5e0dd48a 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -4,7 +4,7 @@ # ################################################################################ -TIFF_VERSION = 4.5.1 +TIFF_VERSION = 4.6.0 TIFF_SITE = http://download.osgeo.org/libtiff TIFF_LICENSE = tiff license TIFF_LICENSE_FILES = LICENSE.md @@ -16,18 +16,20 @@ TIFF_INSTALL_STAGING = YES # support in tiff, or that would create a circular dependency. TIFF_CONF_OPTS = \ --disable-contrib \ + --disable-lerc \ + --disable-jbig \ --disable-tests \ - --disable-webp \ - --without-x + --disable-webp TIFF_DEPENDENCIES = host-pkgconf HOST_TIFF_CONF_OPTS = \ --disable-cxx \ - --without-x \ --disable-zlib \ + --disable-lerc \ --disable-libdeflate \ --disable-lzma \ + --disable-jbig \ --disable-jpeg \ --disable-tests \ --disable-webp \ @@ -101,10 +103,6 @@ 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 - ifeq ($(BR2_PACKAGE_TIFF_UTILITIES),y) TIFF_CONF_OPTS += --enable-tools else diff --git a/package/timescaledb/timescaledb.hash b/package/timescaledb/timescaledb.hash index 0f2269986e..8d0fc125d6 100644 --- a/package/timescaledb/timescaledb.hash +++ b/package/timescaledb/timescaledb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 acca5f6ec5684722374eece92f73d7763bd171075074fd2e6bd0244bda9fbc25 timescaledb-2.11.2.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 fe7bcbc36e..a5d77eda80 100644 --- a/package/timescaledb/timescaledb.mk +++ b/package/timescaledb/timescaledb.mk @@ -4,7 +4,7 @@ # ################################################################################ -TIMESCALEDB_VERSION = 2.11.2 +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 9da54f8a25..83e86237d4 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/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 88559ec012..0000000000 --- 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 8f6e1a2b35..0000000000 --- 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 04dbd30f81..0000000000 --- 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 016d680ce7..0000000000 --- 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/tinyproxy.mk b/package/tinyproxy/tinyproxy.mk index e91a886888..e989f70a22 100644 --- a/package/tinyproxy/tinyproxy.mk +++ b/package/tinyproxy/tinyproxy.mk @@ -9,7 +9,7 @@ TINYPROXY_SITE = https://github.com/tinyproxy/tinyproxy/releases/download/$(TINY TINYPROXY_SOURCE = tinyproxy-$(TINYPROXY_VERSION).tar.xz TINYPROXY_LICENSE = GPL-2.0+ TINYPROXY_LICENSE_FILES = COPYING -TINYPROXY_CPE_ID_VENDOR = tinyproxy_project +TINYPROXY_CPE_ID_VALID = YES # 0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch TINYPROXY_IGNORE_CVES += CVE-2022-40468 diff --git a/package/tinyssh/tinyssh.hash b/package/tinyssh/tinyssh.hash index 462ffb9002..bdb1504234 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 1472f7ead1..80b6ccb850 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 8e706f1a1e..01c25f7c1c 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_VENDOR = 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 ff799bc2eb..a131b8624d 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 0a857e5732..044b8f82db 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 a84daf8a24..e4241fa5e1 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 cb0311a752..02699fdeb4 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 0035ce445e..d7b554ee84 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 acf5e45157..968b351b41 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 830b241f74..dfa7a7c694 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/tllist/Config.in b/package/tllist/Config.in new file mode 100644 index 0000000000..879119d13e --- /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 0000000000..2806d62355 --- /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 0000000000..69a34a65ab --- /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.mk b/package/tmux/tmux.mk index af06c8570b..533a82bbad 100644 --- a/package/tmux/tmux.mk +++ b/package/tmux/tmux.mk @@ -8,7 +8,7 @@ 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) 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 0000000000..f8ad803203 --- /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 2df7c6b6a7..0000000000 --- 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 1354a4221e..0000000000 --- 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 fe8586357a..0000000000 --- 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 a6b5f27c40..8cc8eb435f 100644 --- a/package/tor/tor.hash +++ b/package/tor/tor.hash @@ -1,4 +1,4 @@ -# From https://dist.torproject.org/tor-0.4.7.14.tar.gz.sha256sum -sha256 a5ac67f6466380fc05e8043d01c581e4e8a2b22fe09430013473e71065e65df8 tor-0.4.7.14.tar.gz +# From https://dist.torproject.org/tor-0.4.8.10.tar.gz.sha256sum +sha256 e628b4fab70edb4727715b23cf2931375a9f7685ac08f2c59ea498a178463a86 tor-0.4.8.10.tar.gz # Locally computed sha256 47b54ed17e8fdcab3c44729a1789a09b208f9a63a845a7e50def9df729eebad0 LICENSE diff --git a/package/tor/tor.mk b/package/tor/tor.mk index b794296c6a..12dcf3f07c 100644 --- a/package/tor/tor.mk +++ b/package/tor/tor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOR_VERSION = 0.4.7.14 +TOR_VERSION = 0.4.8.10 TOR_SITE = https://dist.torproject.org TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE diff --git a/package/tpm2-tools/tpm2-tools.mk b/package/tpm2-tools/tpm2-tools.mk index 01b029d942..12f924eee5 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 dcadf5a5f2..a26604abb8 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/trace-cmd/Config.in b/package/trace-cmd/Config.in index 2d0accd7ae..c47b1f57ca 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 4d39e4d5ea..30b0c48de6 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 52bb99036c..e02eb79530 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 83791c18a4..cf2eb127a2 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 a02982a6b5..133f8d3c3e 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/transmission.hash b/package/transmission/transmission.hash index e6775c47e7..ed600c7699 100644 --- a/package/transmission/transmission.hash +++ b/package/transmission/transmission.hash @@ -1,4 +1,4 @@ # From https://transmissionbt.com/download -sha256 b6b01fd58e42bb14f7aba0253db932ced050fcd2bba5d9f8469d77ddd8ad545a transmission-4.0.3.tar.xz +sha256 fd68ff114a479200043c30c7e69dba4c1932f7af36ca4c5b5d2edcb5866e6357 transmission-4.0.5.tar.xz # Locally calculated sha256 f56732960a61ecf3b9637404eef1a39221d2006336a98792b7b65a79f155449c COPYING diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk index 26deeefa34..f1130aeadd 100644 --- a/package/transmission/transmission.mk +++ b/package/transmission/transmission.mk @@ -4,7 +4,7 @@ # ################################################################################ -TRANSMISSION_VERSION = 4.0.3 +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 = \ diff --git a/package/tree/Config.in b/package/tree/Config.in index 234995f109..4821b58960 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.mk b/package/tree/tree.mk index 83a427b74d..479a172a72 100644 --- a/package/tree/tree.mk +++ b/package/tree/tree.mk @@ -6,7 +6,7 @@ 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/trinity.mk b/package/trinity/trinity.mk index 4dca50c0b6..f6b56f6241 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 762fbebb26..6fe35633aa 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 45e29808bd..e8eb3beeaf 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/tvheadend/tvheadend.hash b/package/tvheadend/tvheadend.hash index 5b021edcc3..62c954234d 100644 --- a/package/tvheadend/tvheadend.hash +++ b/package/tvheadend/tvheadend.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9d8e68d1442403709846b93e7994652a1eca0f03924924d3a4dd31b882851375 tvheadend-fe47ecb5504a521fed9c1ca9705fb0dd2bb8443a.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 f9303ef2fe..816ec6e161 100644 --- a/package/tvheadend/tvheadend.mk +++ b/package/tvheadend/tvheadend.mk @@ -4,7 +4,7 @@ # ################################################################################ -TVHEADEND_VERSION = fe47ecb5504a521fed9c1ca9705fb0dd2bb8443a +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 5488625ddd..d353bc4410 100644 --- a/package/tzdata/tzdata.hash +++ b/package/tzdata/tzdata.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2023-March/000079.html -sha512 608bd286ebcbd0004cfdc1da183273f08aff61f90c8867661154453d77a05d421e4c46ad6d066a1fe2e87d5c82ec0f1c0224667a3b35f3180a3eb7f6ff84cbf5 tzdata2023c.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 08f3c83bd1..e367205277 100644 --- a/package/tzdata/tzdata.mk +++ b/package/tzdata/tzdata.mk @@ -4,9 +4,10 @@ # ################################################################################ -TZDATA_VERSION = 2023c +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 0000000000..cc384f2c36 --- /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 063b0b57ac..9a274bf394 100644 --- a/package/uacme/uacme.hash +++ b/package/uacme/uacme.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 a638fe0878dba8fdda62f89e7a284243edbcd31b92c11b5cfdc7d3efd9547bca uacme-1.7.4.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 9b2360937b..0fcb5c5c34 100644 --- a/package/uacme/uacme.mk +++ b/package/uacme/uacme.mk @@ -4,7 +4,7 @@ # ################################################################################ -UACME_VERSION = 1.7.4 +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 0000000000..ae936b424a --- /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 0000000000..7f46da22eb --- /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 0000000000..48a45b91aa --- /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 d884a010fb..12e10dea91 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -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/uclibc-ng-test/uclibc-ng-test.hash b/package/uclibc-ng-test/uclibc-ng-test.hash index 4028bada4c..c4db6ebf83 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 a678bcf7f0..7d62401244 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/0001-aarch64-add-hwcap-header-file.patch b/package/uclibc/0001-aarch64-add-hwcap-header-file.patch deleted file mode 100644 index 058e3242f9..0000000000 --- a/package/uclibc/0001-aarch64-add-hwcap-header-file.patch +++ /dev/null @@ -1,163 +0,0 @@ -From becd0cbc4168534e311f47dda6f67450ad0006b5 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Tue, 8 Aug 2023 13:47:27 +0200 -Subject: [PATCH] aarch64: add hwcap header file - -Signed-off-by: Waldemar Brodkorb -Upstream: https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=becd0cbc4168534e311f47dda6f67450ad0006b5 ---- - include/sys/auxv.h | 1 + - libc/sysdeps/linux/aarch64/bits/hwcap.h | 99 +++++++++++++++++++++++++ - libc/sysdeps/linux/common/bits/hwcap.h | 22 ++++++ - 3 files changed, 122 insertions(+) - create mode 100644 libc/sysdeps/linux/aarch64/bits/hwcap.h - create mode 100644 libc/sysdeps/linux/common/bits/hwcap.h - -diff --git a/include/sys/auxv.h b/include/sys/auxv.h -index f35196423..b07026457 100644 ---- a/include/sys/auxv.h -+++ b/include/sys/auxv.h -@@ -20,6 +20,7 @@ - - #include - #include -+#include - - __BEGIN_DECLS - -diff --git a/libc/sysdeps/linux/aarch64/bits/hwcap.h b/libc/sysdeps/linux/aarch64/bits/hwcap.h -new file mode 100644 -index 000000000..20061f5d1 ---- /dev/null -+++ b/libc/sysdeps/linux/aarch64/bits/hwcap.h -@@ -0,0 +1,99 @@ -+/* Defines for bits in AT_HWCAP. AArch64 Linux version. -+ Copyright (C) 2016-2023 Free Software Foundation, Inc. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#if !defined (_SYS_AUXV_H) -+# error "Never include directly; use instead." -+#endif -+ -+/* The following must match the kernel's and update the -+ list together with sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c. */ -+#define HWCAP_FP (1 << 0) -+#define HWCAP_ASIMD (1 << 1) -+#define HWCAP_EVTSTRM (1 << 2) -+#define HWCAP_AES (1 << 3) -+#define HWCAP_PMULL (1 << 4) -+#define HWCAP_SHA1 (1 << 5) -+#define HWCAP_SHA2 (1 << 6) -+#define HWCAP_CRC32 (1 << 7) -+#define HWCAP_ATOMICS (1 << 8) -+#define HWCAP_FPHP (1 << 9) -+#define HWCAP_ASIMDHP (1 << 10) -+#define HWCAP_CPUID (1 << 11) -+#define HWCAP_ASIMDRDM (1 << 12) -+#define HWCAP_JSCVT (1 << 13) -+#define HWCAP_FCMA (1 << 14) -+#define HWCAP_LRCPC (1 << 15) -+#define HWCAP_DCPOP (1 << 16) -+#define HWCAP_SHA3 (1 << 17) -+#define HWCAP_SM3 (1 << 18) -+#define HWCAP_SM4 (1 << 19) -+#define HWCAP_ASIMDDP (1 << 20) -+#define HWCAP_SHA512 (1 << 21) -+#define HWCAP_SVE (1 << 22) -+#define HWCAP_ASIMDFHM (1 << 23) -+#define HWCAP_DIT (1 << 24) -+#define HWCAP_USCAT (1 << 25) -+#define HWCAP_ILRCPC (1 << 26) -+#define HWCAP_FLAGM (1 << 27) -+#define HWCAP_SSBS (1 << 28) -+#define HWCAP_SB (1 << 29) -+#define HWCAP_PACA (1 << 30) -+#define HWCAP_PACG (1UL << 31) -+ -+#define HWCAP2_DCPODP (1 << 0) -+#define HWCAP2_SVE2 (1 << 1) -+#define HWCAP2_SVEAES (1 << 2) -+#define HWCAP2_SVEPMULL (1 << 3) -+#define HWCAP2_SVEBITPERM (1 << 4) -+#define HWCAP2_SVESHA3 (1 << 5) -+#define HWCAP2_SVESM4 (1 << 6) -+#define HWCAP2_FLAGM2 (1 << 7) -+#define HWCAP2_FRINT (1 << 8) -+#define HWCAP2_SVEI8MM (1 << 9) -+#define HWCAP2_SVEF32MM (1 << 10) -+#define HWCAP2_SVEF64MM (1 << 11) -+#define HWCAP2_SVEBF16 (1 << 12) -+#define HWCAP2_I8MM (1 << 13) -+#define HWCAP2_BF16 (1 << 14) -+#define HWCAP2_DGH (1 << 15) -+#define HWCAP2_RNG (1 << 16) -+#define HWCAP2_BTI (1 << 17) -+#define HWCAP2_MTE (1 << 18) -+#define HWCAP2_ECV (1 << 19) -+#define HWCAP2_AFP (1 << 20) -+#define HWCAP2_RPRES (1 << 21) -+#define HWCAP2_MTE3 (1 << 22) -+#define HWCAP2_SME (1 << 23) -+#define HWCAP2_SME_I16I64 (1 << 24) -+#define HWCAP2_SME_F64F64 (1 << 25) -+#define HWCAP2_SME_I8I32 (1 << 26) -+#define HWCAP2_SME_F16F32 (1 << 27) -+#define HWCAP2_SME_B16F32 (1 << 28) -+#define HWCAP2_SME_F32F32 (1 << 29) -+#define HWCAP2_SME_FA64 (1 << 30) -+#define HWCAP2_WFXT (1UL << 31) -+#define HWCAP2_EBF16 (1UL << 32) -+#define HWCAP2_SVE_EBF16 (1UL << 33) -+#define HWCAP2_CSSC (1UL << 34) -+#define HWCAP2_RPRFM (1UL << 35) -+#define HWCAP2_SVE2P1 (1UL << 36) -+#define HWCAP2_SME2 (1UL << 37) -+#define HWCAP2_SME2P1 (1UL << 38) -+#define HWCAP2_SME_I16I32 (1UL << 39) -+#define HWCAP2_SME_BI32I32 (1UL << 40) -+#define HWCAP2_SME_B16B16 (1UL << 41) -+#define HWCAP2_SME_F16F16 (1UL << 42) -diff --git a/libc/sysdeps/linux/common/bits/hwcap.h b/libc/sysdeps/linux/common/bits/hwcap.h -new file mode 100644 -index 000000000..e7b899df0 ---- /dev/null -+++ b/libc/sysdeps/linux/common/bits/hwcap.h -@@ -0,0 +1,22 @@ -+/* Defines for bits in AT_HWCAP. -+ Copyright (C) 2012-2023 Free Software Foundation, Inc. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#ifndef _SYS_AUXV_H -+# error "Never include directly; use instead." -+#endif -+ -+/* No bits defined for this architecture. */ --- -2.30.2 - diff --git a/package/uclibc/0002-fcntl.h-declare-f_owner_ex-for-all-architectures.patch b/package/uclibc/0002-fcntl.h-declare-f_owner_ex-for-all-architectures.patch deleted file mode 100644 index da0135a5e3..0000000000 --- a/package/uclibc/0002-fcntl.h-declare-f_owner_ex-for-all-architectures.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 98576ab8de710507419b016fbcfc82ed7c57f9c3 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Wed, 9 Aug 2023 10:31:28 +0200 -Subject: [PATCH] fcntl.h: declare f_owner_ex for all architectures - -Signed-off-by: Waldemar Brodkorb -Upstream: https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=98576ab8de710507419b016fbcfc82ed7c57f9c3 ---- - include/fcntl.h | 20 ++++++++++++++++++++ - libc/sysdeps/linux/aarch64/bits/fcntl.h | 21 --------------------- - 2 files changed, 20 insertions(+), 21 deletions(-) - -diff --git a/include/fcntl.h b/include/fcntl.h -index 136f64d70..ce15ceaf6 100644 ---- a/include/fcntl.h -+++ b/include/fcntl.h -@@ -296,6 +296,26 @@ int name_to_handle_at(int dirfd, const char *pathname, - int open_by_handle_at(int mount_fd, struct file_handle *handle, int flags); - #endif - -+#ifdef __USE_GNU -+# define F_SETOWN_EX 15 /* Get owner (thread receiving SIGIO). */ -+# define F_GETOWN_EX 16 /* Set owner (thread receiving SIGIO). */ -+/* Owner types. */ -+enum __pid_type -+ { -+ F_OWNER_TID = 0, /* Kernel thread. */ -+ F_OWNER_PID, /* Process. */ -+ F_OWNER_PGRP, /* Process group. */ -+ F_OWNER_GID = F_OWNER_PGRP /* Alternative, obsolete name. */ -+ }; -+ -+/* Structure to use with F_GETOWN_EX and F_SETOWN_EX. */ -+struct f_owner_ex -+ { -+ enum __pid_type type; /* Owner type of ID. */ -+ __pid_t pid; /* ID of owner. */ -+ }; -+#endif -+ - __END_DECLS - - #endif /* fcntl.h */ -diff --git a/libc/sysdeps/linux/aarch64/bits/fcntl.h b/libc/sysdeps/linux/aarch64/bits/fcntl.h -index c143ba9c9..dbe929351 100644 ---- a/libc/sysdeps/linux/aarch64/bits/fcntl.h -+++ b/libc/sysdeps/linux/aarch64/bits/fcntl.h -@@ -94,8 +94,6 @@ - #ifdef __USE_GNU - # define F_SETSIG 10 /* Set number of signal to be sent. */ - # define F_GETSIG 11 /* Get number of signal to be sent. */ --# define F_SETOWN_EX 15 /* Get owner (thread receiving SIGIO). */ --# define F_GETOWN_EX 16 /* Set owner (thread receiving SIGIO). */ - #endif - - -@@ -170,25 +168,6 @@ struct flock64 - }; - #endif - -- --#ifdef __USE_GNU --/* Owner types. */ --enum __pid_type -- { -- F_OWNER_TID = 0, /* Kernel thread. */ -- F_OWNER_PID, /* Process. */ -- F_OWNER_PGRP, /* Process group. */ -- F_OWNER_GID = F_OWNER_PGRP /* Alternative, obsolete name. */ -- }; -- --/* Structure to use with F_GETOWN_EX and F_SETOWN_EX. */ --struct f_owner_ex -- { -- enum __pid_type type; /* Owner type of ID. */ -- __pid_t pid; /* ID of owner. */ -- }; --#endif -- - /* Define some more compatibility macros to be backward compatible with - BSD systems which did not managed to hide these kernel macros. */ - #ifdef __USE_BSD --- -2.30.2 - diff --git a/package/uclibc/uclibc.hash b/package/uclibc/uclibc.hash index 8d87c04383..ae1f3178d9 100644 --- a/package/uclibc/uclibc.hash +++ b/package/uclibc/uclibc.hash @@ -1,4 +1,4 @@ -# From https://downloads.uclibc-ng.org/releases/1.0.44/uClibc-ng-1.0.44.tar.xz.sha256 -sha256 7df9d987955827382f1c2400da513456becbb6f868bdfd37737265f1cbeec994 uClibc-ng-1.0.44.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 4e7d8de643..88623840bf 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -4,7 +4,7 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.44 +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+ diff --git a/package/udev/udev.mk b/package/udev/udev.mk index d70d13ebb3..21c1a71f5a 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 b1d02a31b2..23eec1d79e 100644 --- a/package/udisks/Config.in +++ b/package/udisks/Config.in @@ -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 ade4982a0b..66f4be5e1f 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 840f552b04..0d63532d8a 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 9ce91330fd..aca098d982 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 4ea73e20c7..64a0bfbd37 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 e47cba9394..d4d3450d1a 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 ce865c20ec..3dcd8646c0 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 6913012c3b..2855be0d9e 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 195f0605c8..c4aad39016 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 d36c3bd8f5..c005a32b76 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 0000000000..acf720a15d --- /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 4316a2c185..2ccfe3ccb8 100644 --- a/package/uhd/Config.in +++ b/package/uhd/Config.in @@ -94,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/ulogd.mk b/package/ulogd/ulogd.mk index 033acb06c2..2ebf076d9a 100644 --- a/package/ulogd/ulogd.mk +++ b/package/ulogd/ulogd.mk @@ -22,11 +22,11 @@ ULOGD_DEPENDENCIES += libdbi else ULOGD_CONF_OPTS += --disable-dbi endif -ifeq ($(BR2_PACKAGE_MYSQL),y) +ifeq ($(BR2_PACKAGE_MARIADB),y) ULOGD_CONF_OPTS += \ --enable-mysql \ --with-mysql-config=$(STAGING_DIR)/usr/bin/mysql_config -ULOGD_DEPENDENCIES += mysql +ULOGD_DEPENDENCIES += mariadb else ULOGD_CONF_OPTS += --disable-mysql endif diff --git a/package/unbound/unbound.hash b/package/unbound/unbound.hash index 91e1d82dd2..843026abc7 100644 --- a/package/unbound/unbound.hash +++ b/package/unbound/unbound.hash @@ -1,5 +1,5 @@ -# From https://nlnetlabs.nl/downloads/unbound/unbound-1.17.1.tar.gz.sha256 -sha256 ee4085cecce12584e600f3d814a28fa822dfaacec1f94c84bfd67f8a5571a5f4 unbound-1.17.1.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 fa7884e937..5128d0e420 100644 --- a/package/unbound/unbound.mk +++ b/package/unbound/unbound.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNBOUND_VERSION = 1.17.1 +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/Config.in b/package/unifdef/Config.in new file mode 100644 index 0000000000..a1a44d9f5a --- /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.mk b/package/unifdef/unifdef.mk index fd74455894..6761e32b69 100644 --- a/package/unifdef/unifdef.mk +++ b/package/unifdef/unifdef.mk @@ -9,6 +9,14 @@ 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 @@ -17,4 +25,5 @@ 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 9d54bbf5ef..0000000000 --- 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 9e5401c2b3..6262dab5ae 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 650e3b3b36..28f1e5bc94 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/unrar.hash b/package/unrar/unrar.hash index bc8f986875..c9a5f521a4 100644 --- a/package/unrar/unrar.hash +++ b/package/unrar/unrar.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0c2d4cbc8b34d0e3bec7b474e0f52bbcc6c4320ec089b4141223ee355f63c318 unrarsrc-6.2.6.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 f59d199558..0a61bcfcba 100644 --- a/package/unrar/unrar.mk +++ b/package/unrar/unrar.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNRAR_VERSION = 6.2.6 +UNRAR_VERSION = 6.2.12 UNRAR_SOURCE = unrarsrc-$(UNRAR_VERSION).tar.gz UNRAR_SITE = https://www.rarlab.com/rar UNRAR_LICENSE = unrar diff --git a/package/unzip/unzip.mk b/package/unzip/unzip.mk index 14ccedd48f..5effebee4a 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 = \ diff --git a/package/upx/upx.hash b/package/upx/upx.hash index 7c24906152..545eb29af9 100644 --- a/package/upx/upx.hash +++ b/package/upx/upx.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 1221e725b1a89e06739df27fae394d6bc88aedbe12f137c630ec772522cbc76f upx-4.0.2-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 6018b0a63d..65f4bac517 100644 --- a/package/upx/upx.mk +++ b/package/upx/upx.mk @@ -4,12 +4,12 @@ # ################################################################################ -UPX_VERSION = 4.0.2 +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 $(eval $(host-cmake-package)) diff --git a/package/urandom-scripts/S20seedrng b/package/urandom-scripts/S20seedrng deleted file mode 100644 index 0fea0bea83..0000000000 --- a/package/urandom-scripts/S20seedrng +++ /dev/null @@ -1,40 +0,0 @@ -#! /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 e4fd125721..0000000000 --- a/package/urandom-scripts/S20urandom +++ /dev/null @@ -1,74 +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 - -check_file_size() { - [ -f "$URANDOM_SEED" ] || return 1 - # Try to read two blocks but exactly one will be read if the file has - # the correct size. - size=$(dd if="$URANDOM_SEED" bs="$pool_size" count=2 2> /dev/null | wc -c) - test "$size" -eq "$pool_size" -} - -init_rng() { - if check_file_size; then - 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" - fi -} - -save_random_seed() { - printf 'Saving random seed: ' - if touch "$URANDOM_SEED" 2> /dev/null; then - old_umask=$(umask) - umask 077 - dd if=/dev/urandom of="$URANDOM_SEED" bs="$pool_size" count=1 2> /dev/null - status=$? - umask "$old_umask" - if [ "$status" -eq 0 ]; then - echo "OK" - else - echo "FAIL" - fi - else - status=$? - 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/usbguard/usbguard.mk b/package/usbguard/usbguard.mk index 60b69df3be..4a5028f509 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 caedf5fd80..2c863543f6 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 84a6a625cf..c2073df3b3 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 658ffa1f7c..7fee89968d 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 b08c6e7109..42ec48e0a8 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-libmount-ifdef-statx-call.patch b/package/util-linux/0001-libmount-ifdef-statx-call.patch deleted file mode 100644 index ba44650bd3..0000000000 --- a/package/util-linux/0001-libmount-ifdef-statx-call.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c0136ac0c98b18208508fbcfac31a843e0bb8a37 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 3 Aug 2023 12:39:19 +0200 -Subject: [PATCH] libmount: ifdef statx() call - -In this case the statx() is use to get mount ID. It's optional and not -required. Let's #ifdef the statx() call and also check for stx_mnt_id -struct member. - -Fixes: https://github.com/util-linux/util-linux/issues/2415 -Signed-off-by: Karel Zak -Signed-off-by: Waldemar Brodkorb -Upstream: https://github.com/util-linux/util-linux/commit/c0136ac0c98b18208508fbcfac31a843e0bb8a37 ---- - configure.ac | 5 ++++- - libmount/src/hook_mount.c | 2 ++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a3cf330b5..ae721c7ac 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -525,7 +525,10 @@ AC_CHECK_MEMBERS([struct termios.c_line],,, - [[#include ]]) - - AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,, -- [#include ]) -+ [[#include ]]) -+ -+AC_CHECK_MEMBERS([struct statx.stx_mnt_id],,, -+ [[#include ]]) - - AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include ]]) - -diff --git a/libmount/src/hook_mount.c b/libmount/src/hook_mount.c -index d69a018ec..056338c49 100644 ---- a/libmount/src/hook_mount.c -+++ b/libmount/src/hook_mount.c -@@ -294,6 +294,7 @@ static int hook_create_mount(struct libmnt_context *cxt, - /* cleanup after fail (libmount may only try the FS type) */ - close_sysapi_fds(api); - -+#if defined(HAVE_STRUCT_STATX) && defined(HAVE_STRUCT_STATX_STX_MNT_ID) - if (!rc && cxt->fs) { - struct statx st; - -@@ -306,6 +307,7 @@ static int hook_create_mount(struct libmnt_context *cxt, - fs->id = cxt->fs->id; - } - } -+#endif - - done: - DBG(HOOK, ul_debugobj(hs, "create FS done [rc=%d, id=%d]", rc, cxt->fs ? cxt->fs->id : -1)); --- -2.39.2 - diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index be87494b35..73fa11380e 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" @@ -196,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" @@ -343,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" @@ -380,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" diff --git a/package/util-linux/util-linux.hash b/package/util-linux/util-linux.hash index 7ecd165459..d47f47fdba 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.39/sha256sums.asc -sha256 890ae8ff810247bd19e274df76e8371d202cda01ad277681b0ea88eeaa00286b util-linux-2.39.1.tar.xz +sha256 7b6605e48d1a49f43cc4b4cfc59f313d0dd5402fa40b96810bd572e167dfed0f util-linux-2.39.3.tar.xz # License files, locally calculated -sha256 64dfeae1519bf0e27563d905a71264310fb6a8fa74e5cf99bb36e4d30d7ef455 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 7065155ca2..a9e5b0bf68 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -8,7 +8,7 @@ # util-linux-libs/util-linux-libs.mk needs to be updated accordingly as well. UTIL_LINUX_VERSION_MAJOR = 2.39 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).1 +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) diff --git a/package/uuu/uuu.hash b/package/uuu/uuu.hash index f42e92a379..0f746a7633 100644 --- a/package/uuu/uuu.hash +++ b/package/uuu/uuu.hash @@ -1,4 +1,3 @@ # locally computed -sha256 6c99b82c55202f43583dc41198225dea7d5b050e33e13946751911e473aed4a5 uuu_source-uuu_1.5.109.tar.gz +sha256 fac38e93714181fbfb0ff52b9cd29395c7eb342def5c3857da87e5429beb3927 uuu_source-uuu_1.5.177.tar.gz sha256 cc8d47f7b9260f6669ecd41c24554c552f17581d81ee8fc602c6d23edb8bf495 LICENSE -sha256 f68fb8c8002c797a14e63f91963ac247034fdfd44275e4f4a3226111cd0423db README.md diff --git a/package/uuu/uuu.mk b/package/uuu/uuu.mk index 14a8a5ef02..b6611dc3d4 100644 --- a/package/uuu/uuu.mk +++ b/package/uuu/uuu.mk @@ -4,11 +4,17 @@ # ################################################################################ -UUU_VERSION = 1.5.109 +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/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk index 84e1927ce3..50a168fcab 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 7f3a099940..b3716f0854 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.14.sha256sum +sha256 9382c268ca9bdc02aaedc8152a9818bf3935273041f629c56de410e360a3f557 vala-0.56.14.tar.xz # Locally computed sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/vala/vala.mk b/package/vala/vala.mk index 94e18d349b..415d996faa 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).14 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) VALA_SOURCE = vala-$(VALA_VERSION).tar.xz VALA_LICENSE = LGPL-2.1+ diff --git a/package/valgrind/valgrind.hash b/package/valgrind/valgrind.hash index d406babe35..d236c7b4a0 100644 --- a/package/valgrind/valgrind.hash +++ b/package/valgrind/valgrind.hash @@ -1,7 +1,7 @@ # From https://valgrind.org/downloads/current.html -sha1 817d769743d278b5d07526e85115082054e9bf9c valgrind-3.21.0.tar.bz2 +sha1 60894cbf59d480c1794674da24a8406518a8df59 valgrind-3.22.0.tar.bz2 # locally computed -sha256 10ce1618bb3e33fad16eb79552b0a3e1211762448a0d7fce11c8a6243b9ac971 valgrind-3.21.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 4c4c3ce543..97a955bd3b 100644 --- a/package/valgrind/valgrind.mk +++ b/package/valgrind/valgrind.mk @@ -4,7 +4,7 @@ # ################################################################################ -VALGRIND_VERSION = 3.21.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 diff --git a/package/valijson/valijson.hash b/package/valijson/valijson.hash index aacdf7dedc..592d2c900e 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 51a9353960..df640577ac 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 67cefa2bb8..0000000000 --- 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 0dbe083d06..0000000000 --- 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 7f771dfc7e..0000000000 --- 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 f640a4ae2a..44bdf50de0 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 a9e1ea2263..11d6a28279 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 76d6f352b7..ab4c32143d 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/vdr.hash b/package/vdr/vdr.hash index 1b7ced0b77..47179a9907 100644 --- a/package/vdr/vdr.hash +++ b/package/vdr/vdr.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 70352c7558d627202c02e80d88c83d25d9df4c5e49a010f7d1d9ae631bd54ad0 vdr-2.6.3.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 a44e1ff512..c717d40e02 100644 --- a/package/vdr/vdr.mk +++ b/package/vdr/vdr.mk @@ -4,7 +4,7 @@ # ################################################################################ -VDR_VERSION = 2.6.3 +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 b4b63282d8..01daefd204 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 "2022.2_br_1" + 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 0bc5a00bc6..1ced259be1 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,Xilinx,ubuntu-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 024c014bc9..194bcb4378 100644 --- a/package/vim/vim.hash +++ b/package/vim/vim.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 ba769f8513f2f75d71518f817f945809a5cb1310fd58cd86daca96e658cccf7d vim-9.0.1903.tar.gz +sha256 0056537cb57190aa41c12ba6c2ad04ce10e7f714cde4c1fe7193a37e1c44db46 vim-9.1.0145.tar.gz sha256 0b3f1f330cb1b179bb17c7c687d4cec601e0aa3462bc7f890ad4c3888d37d720 LICENSE -sha256 b475d5d3f8c855dc1a84813bbe45c44054d7f7aee20c800950bf89d5958873de README.txt +sha256 7a2f621c8496396dae5eecdcc4dccff9d534dff4627193d3ebf7fa6d2cb27042 README.txt diff --git a/package/vim/vim.mk b/package/vim/vim.mk index b8b50cb91a..fb8062e1fa 100644 --- a/package/vim/vim.mk +++ b/package/vim/vim.mk @@ -4,7 +4,7 @@ # ################################################################################ -VIM_VERSION = 9.0.1903 +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 4fc639e222..5211ef882b 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 4b9940df33..40529bd664 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 c6ae46f469..d0fc1744c0 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 bad4325d90..87d2a6d687 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 3b2951b8c9..665c0feaf3 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/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk index 3e7b233e48..6742843c19 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/vuejs-router/vuejs-router.hash b/package/vuejs-router/vuejs-router.hash index d9468e722d..f87d18f7ed 100644 --- a/package/vuejs-router/vuejs-router.hash +++ b/package/vuejs-router/vuejs-router.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b044e304367baaaf60fd2ee6880fb02d4e9875bc4321a4e2672a60ad4c5c55b2 vue-router-4.2.0.tgz +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 2737134919..7f73fed5d5 100644 --- a/package/vuejs-router/vuejs-router.mk +++ b/package/vuejs-router/vuejs-router.mk @@ -4,7 +4,7 @@ # ################################################################################ -VUEJS_ROUTER_VERSION = 4.2.0 +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 488608bc4c..d3bca46803 100644 --- a/package/vuejs/vuejs.hash +++ b/package/vuejs/vuejs.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b4d0234f0806a723d79a89426c7dbb351cf6cf554c323cf2625a3e078a93d065 vue-3.3.2.tgz +sha256 5d3ab0144d5b8eaf28ccfbf27500669a91463226c4767041c7293ce76065171a vue-3.3.4.tgz sha256 1bb85cc9b13b81ef41c81c51866172fc345e0503c86726a6755b796590b70175 LICENSE diff --git a/package/vuejs/vuejs.mk b/package/vuejs/vuejs.mk index 50b7100b8a..29bf3bc66b 100644 --- a/package/vuejs/vuejs.mk +++ b/package/vuejs/vuejs.mk @@ -4,7 +4,7 @@ # ################################################################################ -VUEJS_VERSION = 3.3.2 +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 cf213d8b52..b38bfcff47 100644 --- a/package/vulkan-headers/vulkan-headers.hash +++ b/package/vulkan-headers/vulkan-headers.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e3ee02eff07ebcdb0ddfd06366d986c889f3392b6c4d79615bb06aefc1fda900 vulkan-headers-1.3.257.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 c42b005abe..20b248364d 100644 --- a/package/vulkan-headers/vulkan-headers.mk +++ b/package/vulkan-headers/vulkan-headers.mk @@ -4,10 +4,12 @@ # ################################################################################ -VULKAN_HEADERS_VERSION = 1.3.257 +# 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 0000000000..9c215dc9ce --- /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 0000000000..e09ecda8a9 --- /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 0000000000..b1545a4972 --- /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 0000000000..54fa539dab --- /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 0000000000..24c0697784 --- /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 0000000000..68f7c1c04d --- /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 c8d464ebfb..1ad535febb 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 d98ab489ca..bffa27a926 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/watchdog/watchdog.mk b/package/watchdog/watchdog.mk index 2699fb474f..c5066ad5b1 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 ca5933848d..0aeaad165f 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 4ff1a3485b..0c228666bd 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 ea033b4e71..189efc81d4 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 95f54e4b7f..0000000000 --- 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 7c685f6500..342f2f7d91 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 50e3fd275e..74917e8392 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 021703df74..2a2317a86c 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 a3d952e29b..b393a75197 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/webkitgtk/0001-Fix-build-failure-when-gstreamer-support-is-disabled.patch b/package/webkitgtk/0001-Fix-build-failure-when-gstreamer-support-is-disabled.patch deleted file mode 100644 index 3fa23b215b..0000000000 --- a/package/webkitgtk/0001-Fix-build-failure-when-gstreamer-support-is-disabled.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9b31965cdf362768e86f7e592e59e68fb3351261 Mon Sep 17 00:00:00 2001 -From: Matt Turner -Date: Tue, 8 Aug 2023 16:51:25 -0700 -Subject: [PATCH] Fix build failure when gstreamer support is disabled - https://bugs.webkit.org/show_bug.cgi?id=259931 https://bugs.gentoo.org/911663 - -Reviewed by Carlos Alberto Lopez Perez. - -* Source/WebCore/loader/MixedContentChecker.cpp: - -Canonical link: https://commits.webkit.org/260527.429@fix-build - -(cherry picked from commit f5ceef5bf2e3c4d7203a37b9e2d2fdd9b1bb2732) - -Upstream: https://github.com/WebKit/WebKit/commit/f5ceef5bf2e3c4d7203a37b9e2d2fdd9b1bb2732 -Signed-off-by: Thomas Devoogdt ---- - Source/WebCore/loader/MixedContentChecker.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Source/WebCore/loader/MixedContentChecker.cpp b/Source/WebCore/loader/MixedContentChecker.cpp -index 9b4c7fe62020..ac4733bc08bc 100644 ---- a/Source/WebCore/loader/MixedContentChecker.cpp -+++ b/Source/WebCore/loader/MixedContentChecker.cpp -@@ -33,6 +33,8 @@ - #include "ContentSecurityPolicy.h" - #include "Document.h" - #include "Frame.h" -+#include "FrameLoader.h" -+#include "FrameLoaderClient.h" - #include "SecurityOrigin.h" - - namespace WebCore { --- -2.42.0 - 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 0000000000..c9667fedbd --- /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 d47d6a8c1b..ace1b8739f 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 >= 9, 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_9 || \ + !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_9 - 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. diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index 7f50f1aa7b..ac4799d4cf 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,6 +1,6 @@ -# From https://www.webkitgtk.org/releases/webkitgtk-2.40.5.tar.xz.sums -sha1 2f4d06b021115eb4106177f7d5f534f45b5d3b2e webkitgtk-2.40.5.tar.xz -sha256 7de051a263668621d91a61a5eb1c3771d1a7cec900043d4afef06c326c16037f webkitgtk-2.40.5.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 d5e983e403..075a36654f 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.40.5 +WEBKITGTK_VERSION = 2.42.5 WEBKITGTK_SITE = https://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES @@ -14,8 +14,11 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \ - enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ + 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 \ @@ -27,7 +30,6 @@ WEBKITGTK_CONF_OPTS = \ -DUSE_AVIF=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_OPENJPEG=ON \ - -DUSE_SOUP2=ON \ -DUSE_WOFF2=ON ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) @@ -71,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 @@ -78,35 +87,41 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF endif -# Only one target platform can be built, assume X11 > Wayland - -# 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_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_CONF_OPTS += -DUSE_OPENGL_OR_ES=ON WEBKITGTK_DEPENDENCIES += libgles else -# Disable general OpenGL (shading) if there's no GLESv2 -WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=OFF -endif -# We must explicitly state the wayland target -ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) -WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON -endif +WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND)$(BR2_PACKAGE_WPEBACKEND_FDO),yy) +ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y) +WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON +WEBKITGTK_DEPENDENCIES += libgbm +else +WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) +WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON +WEBKITGTK_DEPENDENCIES += libgl \ + xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt +else +WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF +endif + +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_WPEBACKEND_FDO),y) WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=ON WEBKITGTK_DEPENDENCIES += wpebackend-fdo else @@ -140,23 +155,4 @@ ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF endif -# webkitgtk needs cmake >= 3.20 when not building with ninja, which is -# above our minimal version in -# support/dependencies/check-host-cmake.mk, so use the ninja backend: -# https://github.com/WebKit/WebKit/commit/6cd89696b5d406c1a3d9a7a9bbb18fda9284fa1f -WEBKITGTK_CONF_OPTS += -GNinja -WEBKITGTK_DEPENDENCIES += host-ninja - -define WEBKITGTK_BUILD_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(WEBKITGTK_BUILDDIR) -endef - -define WEBKITGTK_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(WEBKITGTK_BUILDDIR) -endef - -define WEBKITGTK_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(WEBKITGTK_BUILDDIR) -endef - $(eval $(cmake-package)) 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 a0332db8e7..0000000000 --- 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 64138269b5..cb3b21367b 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 18b8ea6410..eb2229360c 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 ff84a802d1..8aa5ee46b8 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 0000000000..77b2292051 --- /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/Config.in b/package/weston/Config.in index 1a7c27a715..db6a78ee8a 100644 --- a/package/weston/Config.in +++ b/package/weston/Config.in @@ -174,6 +174,18 @@ 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 @@ -188,6 +200,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.mk b/package/weston/weston.mk index 437c6f2e38..b07e798765 100644 --- a/package/weston/weston.mk +++ b/package/weston/weston.mk @@ -22,12 +22,19 @@ WESTON_CONF_OPTS = \ -Dlauncher-libseat=true \ -Dtools=calibrator,debug,info,terminal,touch-calibrator -# Uses VIDIOC_EXPBUF, only available from 3.8+ +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_TOOLCHAIN_HEADERS_AT_LEAST_3_8),y) -WESTON_CONF_OPTS += -Dsimple-clients=dmabuf-v4l -else -WESTON_CONF_OPTS += -Dsimple-clients= +# 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 @@ -46,6 +53,9 @@ endif ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGBM)$(BR2_PACKAGE_HAS_LIBGLES),yyy) WESTON_CONF_OPTS += -Drenderer-gl=true 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 -Dbackend-pipewire=true WESTON_DEPENDENCIES += pipewire @@ -59,6 +69,8 @@ WESTON_CONF_OPTS += \ -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 diff --git a/package/wilc-firmware/wilc-firmware.hash b/package/wilc-firmware/wilc-firmware.hash index 802cb4f9b1..8a7957a1d2 100644 --- a/package/wilc-firmware/wilc-firmware.hash +++ b/package/wilc-firmware/wilc-firmware.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a06a6a46e03ca00d35da220f7a9f353cc650e5e5657a7988ea732913ad26d9a0 wilc-firmware-wilc_linux_16_1.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 12c825cf92..3381162bbd 100644 --- a/package/wilc-firmware/wilc-firmware.mk +++ b/package/wilc-firmware/wilc-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -WILC_FIRMWARE_VERSION = wilc_linux_16_1 +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/wireless-regdb/wireless-regdb.mk b/package/wireless-regdb/wireless-regdb.mk index e9003ce2e6..5c8ef96398 100644 --- a/package/wireless-regdb/wireless-regdb.mk +++ b/package/wireless-regdb/wireless-regdb.mk @@ -9,7 +9,6 @@ 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 349908dbde..1d83cb5a5a 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 1d29c3b102..90c9286688 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/wireshark.hash b/package/wireshark/wireshark.hash index f044f99483..6610eb7781 100644 --- a/package/wireshark/wireshark.hash +++ b/package/wireshark/wireshark.hash @@ -1,6 +1,6 @@ -# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-4.0.8.txt -sha1 8ca1cc4471d0cb835cd5216833c393fa23bc154f wireshark-4.0.8.tar.xz -sha256 16663585c0ffefd5593a6628d4a20cc8241b9703b11283cfe71ead2b750888c8 wireshark-4.0.8.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 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index 500bdbb77a..3759f9bf94 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 4.0.8 +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 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 0ba078708a..0e1ae9d87a 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 fb23e9069c..7622a3033b 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 diff --git a/package/wlroots/wlroots.hash b/package/wlroots/wlroots.hash index 04bbd65e43..8ab05393b1 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 5b930a51be..fdd2fb8250 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 \ @@ -40,9 +41,9 @@ 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/wolfssl.hash b/package/wolfssl/wolfssl.hash index 3407586edd..e705bba9fd 100644 --- a/package/wolfssl/wolfssl.hash +++ b/package/wolfssl/wolfssl.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 2e74a397fa797c2902d7467d500de904907666afb4ff80f6464f6efd5afb114a wolfssl-5.6.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 9b35a6a84a..893408eca4 100644 --- a/package/wolfssl/wolfssl.mk +++ b/package/wolfssl/wolfssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -WOLFSSL_VERSION = 5.6.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 diff --git a/package/wolftpm/wolftpm.hash b/package/wolftpm/wolftpm.hash index 3329528095..33d0aa2414 100644 --- a/package/wolftpm/wolftpm.hash +++ b/package/wolftpm/wolftpm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d8e06e77893f104be7eb9421cac50518552ad9c5fc7fe8a9c1cdfaf4f11b92df wolftpm-2.7.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 db332712f5..4d1d459801 100644 --- a/package/wolftpm/wolftpm.mk +++ b/package/wolftpm/wolftpm.mk @@ -4,7 +4,7 @@ # ################################################################################ -WOLFTPM_VERSION = 2.7.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/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 index ea1676abb6..17d4957657 100644 --- 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 @@ -1,4 +1,4 @@ -From da159b0150cba0e5e5251e4cc6a090440f73cb7c Mon Sep 17 00:00:00 2001 +From 5ba2d275457c4fdf1efdcca8351792400bda5679 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 @@ -33,38 +33,47 @@ left for a follow-up fix. * 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] +Upstream: https://bugs.webkit.org/show_bug.cgi?id=241182 --- Source/WebCore/Sources.txt | 1 + - .../cpu/arm/filters/FELightingNEON.cpp | 4 +- + .../cpu/arm/filters/FELightingNEON.cpp | 6 +-- .../graphics/cpu/arm/filters/FELightingNEON.h | 54 +++++++++---------- .../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 ++++++ - 8 files changed, 58 insertions(+), 36 deletions(-) + 8 files changed, 59 insertions(+), 37 deletions(-) diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt -index 8ce3510fe1a8..efd56bcb8746 100644 +index 9ca28a7b2bc0..ed2c7f9f41ee 100644 --- a/Source/WebCore/Sources.txt +++ b/Source/WebCore/Sources.txt -@@ -2136,6 +2136,7 @@ platform/graphics/WebMResourceClient.cpp - platform/graphics/WOFFFileFormat.cpp - platform/graphics/WidthIterator.cpp +@@ -2303,6 +2303,7 @@ platform/graphics/controls/MeterPart.cpp + platform/graphics/controls/ProgressBarPart.cpp + platform/graphics/controls/SliderTrackPart.cpp platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp +platform/graphics/cpu/arm/filters/FELightingNEON.cpp platform/graphics/displaylists/DisplayList.cpp platform/graphics/displaylists/DisplayListDrawingContext.cpp platform/graphics/displaylists/DisplayListItems.cpp 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 +index f6ff8c20a5a8..dced3d55eb4e 100644 --- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp +++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp +@@ -35,7 +35,7 @@ namespace WebCore { + // ALPHAX_Q ALPHAY_Q REMAPX_D REMAPY_D + + +-static alignas(16) short s_FELightingConstantsForNeon[] = { ++alignas(16) static short s_FELightingConstantsForNeon[] = { + // Alpha coefficients. + -2, 1, 0, -1, 2, 1, 0, -1, + 0, -1, -2, -1, 0, 1, 2, 1, @@ -49,7 +49,7 @@ short* feLightingConstantsForNeon() return s_FELightingConstantsForNeon; } - + -void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) +void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) { @@ -73,26 +82,26 @@ index f6ff8c20a5a8..42a97ffc5372 100644 @@ -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..c6d17f573eca 100644 +index b17c603d40d3..fd23e31cce29 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" @@ -100,19 +109,19 @@ index b17c603d40d3..c6d17f573eca 100644 #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 = { - data.pixels->data(), -+ WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments; ++ alignas(16) WebCore::FELightingFloatArgumentsForNeon floatArguments; + WebCore::FELightingPaintingDataForNeon neonData = { + data.pixels->bytes(), 1, @@ -126,15 +135,15 @@ index b17c603d40d3..c6d17f573eca 100644 @@ -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; @@ -181,7 +190,7 @@ index b17c603d40d3..c6d17f573eca 100644 } 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; @@ -189,7 +198,7 @@ index b17c603d40d3..c6d17f573eca 100644 // 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) { @@ -213,42 +222,42 @@ index b17c603d40d3..c6d17f573eca 100644 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 +index 70f583b36e2c..7d5d27e5ccf8 100644 --- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h +++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h -@@ -25,6 +25,10 @@ - #include "LightSource.h" +@@ -26,6 +26,10 @@ + #include #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 +index 179edf6dba24..694d712d56fd 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: - + bool operator==(const FELighting&) const; +@@ -68,11 +66,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&); @@ -258,34 +267,34 @@ index 0c073bc13f8c..e0db00545c17 100644 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 126b3b2350f6..d906db21aa9c 100644 +index a8cfdab895a9..34f867bba237 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 641b205f986d..64380d9b6eb8 100644 +index 6404467a5b6f..5cac38f22362 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 c974d92115ff..e2896660cfbd 100644 @@ -293,14 +302,14 @@ index c974d92115ff..e2896660cfbd 100644 +++ 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*); + @@ -319,10 +328,10 @@ index c974d92115ff..e2896660cfbd 100644 + static void applyPlatform(const LightingData&); }; - + } // namespace WebCore + +#include "FELightingNEON.h" --- -2.37.3 +-- +2.43.1 diff --git a/package/wpewebkit/0002-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch b/package/wpewebkit/0002-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch new file mode 100644 index 0000000000..a15d9e647f --- /dev/null +++ b/package/wpewebkit/0002-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: Adrian Perez de Castro +--- + 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.43.1 + diff --git a/package/wpewebkit/Config.in b/package/wpewebkit/Config.in index ea2159945d..432aa4c3a3 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 >= 9, 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_9 \ + || !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_9 - 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,7 +51,7 @@ 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 diff --git a/package/wpewebkit/wpewebkit.hash b/package/wpewebkit/wpewebkit.hash index aaeea2bcda..71e41bb1dd 100644 --- a/package/wpewebkit/wpewebkit.hash +++ b/package/wpewebkit/wpewebkit.hash @@ -1,6 +1,6 @@ -# From https://wpewebkit.org/releases/wpewebkit-2.40.3.tar.xz.sums -sha1 c840bd76b2c86cb8ca0d68b56598cb0abbafc727 wpewebkit-2.40.3.tar.xz -sha256 05b6a9cb1d7d03485e0dc41b2a8e6f99a36aea23d32ba3ecb38d0d6860747ada wpewebkit-2.40.3.tar.xz +# From https://wpewebkit.org/releases/wpewebkit-2.42.5.tar.xz.sums +sha1 50a18f43452520e9f34f84c04bc0166af655ffff wpewebkit-2.42.5.tar.xz +sha256 4dbab6c5e6dc0c65a3d7dffc1c2390be5f9abd423faf983fe3a55fe081df0532 wpewebkit-2.42.5.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 c13a7201e6..442709848a 100644 --- a/package/wpewebkit/wpewebkit.mk +++ b/package/wpewebkit/wpewebkit.mk @@ -4,7 +4,8 @@ # ################################################################################ -WPEWEBKIT_VERSION = 2.40.3 +# The middle number is even for stable releases, odd for development ones. +WPEWEBKIT_VERSION = 2.42.5 WPEWEBKIT_SITE = https://wpewebkit.org/releases WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz WPEWEBKIT_INSTALL_STAGING = YES @@ -15,9 +16,11 @@ WPEWEBKIT_LICENSE_FILES = \ WPEWEBKIT_CPE_ID_VENDOR = wpewebkit WPEWEBKIT_CPE_ID_PRODUCT = wpe_webkit WPEWEBKIT_DEPENDENCIES = host-gperf host-python3 host-ruby host-unifdef \ - harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup libtasn1 \ + harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup3 libtasn1 \ libpng libxslt openjpeg wayland-protocols webp wpebackend-fdo +WPEWEBKIT_CMAKE_BACKEND = ninja + WPEWEBKIT_CONF_OPTS = \ -DPORT=WPE \ -DENABLE_ACCESSIBILITY=OFF \ @@ -26,8 +29,7 @@ WPEWEBKIT_CONF_OPTS = \ -DENABLE_INTROSPECTION=OFF \ -DENABLE_MINIBROWSER=OFF \ -DENABLE_WEB_RTC=OFF \ - -DUSE_AVIF=OFF \ - -DUSE_SOUP2=ON + -DUSE_AVIF=OFF ifeq ($(BR2_PACKAGE_WPEWEBKIT_SANDBOX),y) WPEWEBKIT_CONF_OPTS += \ @@ -83,6 +85,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 @@ -90,6 +99,13 @@ 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. @@ -104,23 +120,4 @@ ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF endif -# wpewebkit needs cmake >= 3.20 when building with the make backend, which is -# above our minimal version in -# support/dependencies/check-host-cmake.mk, so use the ninja backend: -# https://github.com/WebKit/WebKit/commit/6cd89696b5d406c1a3d9a7a9bbb18fda9284fa1f -WPEWEBKIT_CONF_OPTS += -GNinja -WPEWEBKIT_DEPENDENCIES += host-ninja - -define WPEWEBKIT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(WPEWEBKIT_BUILDDIR) -endef - -define WPEWEBKIT_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(WPEWEBKIT_BUILDDIR) -endef - -define WPEWEBKIT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(WPEWEBKIT_BUILDDIR) -endef - $(eval $(cmake-package)) 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 ee23033b97..0000000000 --- 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 66e2c3ed95..0000000000 --- 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 fb1e289643..0000000000 --- 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-video-glint/Config.in b/package/x11r7/xdriver_xf86-video-glint/Config.in deleted file mode 100644 index c474f6c912..0000000000 --- a/package/x11r7/xdriver_xf86-video-glint/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT - bool "xf86-video-glint" - depends on BR2_PACKAGE_MESA3D - select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_XORGPROTO - help - GLINT/Permedia video driver - -comment "xf86-video-glint needs mesa3d" - depends on !BR2_PACKAGE_MESA3D diff --git a/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.hash b/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.hash deleted file mode 100644 index 40474ebc7b..0000000000 --- a/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.hash +++ /dev/null @@ -1,4 +0,0 @@ -# From https://lists.x.org/archives/xorg-announce/2017-January/002759.html -sha256 852833ab2ea9ce519195dfd061a6c7aa5945a093cdc19546d1e9e69df7d577d2 xf86-video-glint-1.2.9.tar.bz2 -# Locally calculated -sha256 6ca8e1a7e1d491f3618d3f14df1be64dbc8adefae7bbaf11d4920240dfb12f6e COPYING diff --git a/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk b/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk deleted file mode 100644 index fba0030757..0000000000 --- a/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# xdriver_xf86-video-glint -# -################################################################################ - -XDRIVER_XF86_VIDEO_GLINT_VERSION = 1.2.9 -XDRIVER_XF86_VIDEO_GLINT_SOURCE = xf86-video-glint-$(XDRIVER_XF86_VIDEO_GLINT_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_GLINT_SITE = http://xorg.freedesktop.org/releases/individual/driver -XDRIVER_XF86_VIDEO_GLINT_LICENSE = MIT -XDRIVER_XF86_VIDEO_GLINT_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_GLINT_DEPENDENCIES = xserver_xorg-server libdrm xorgproto - -$(eval $(autotools-package)) 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 13cee14deb..0000000000 --- a/package/x11r7/xdriver_xf86-video-imx-viv/Config.in +++ /dev/null @@ -1,40 +0,0 @@ -config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV - bool "xf86-video-imx-viv" - 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_MESA3D # Needed in order to compile xorg with glx/dri - select BR2_PACKAGE_MESA3D_DRI_DRIVER - 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 - obscur message like "Segmentation fault at address 0xc"). - -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 5873b4b11c..0000000000 --- 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 0913427542..0000000000 --- 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-tga/Config.in b/package/x11r7/xdriver_xf86-video-tga/Config.in deleted file mode 100644 index 7c75661acc..0000000000 --- a/package/x11r7/xdriver_xf86-video-tga/Config.in +++ /dev/null @@ -1,5 +0,0 @@ -config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA - bool "xf86-video-tga" - select BR2_PACKAGE_XORGPROTO - help - X.Org driver for tga cards diff --git a/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.hash b/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.hash deleted file mode 100644 index 4f8c10965c..0000000000 --- a/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.hash +++ /dev/null @@ -1,4 +0,0 @@ -# From http://lists.x.org/archives/xorg-announce/2012-July/002025.html -sha256 2023818000200eb50a59476e36d59b07a361b110e73b1d9cc526beb669306131 xf86-video-tga-1.2.2.tar.bz2 -# Locally calculated -sha256 92e36c6b7c99c8335e5823d53686e58ebd82ee8051a6360f60c8c0fb05745954 COPYING diff --git a/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk b/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk deleted file mode 100644 index 421b09be22..0000000000 --- a/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# xdriver_xf86-video-tga -# -################################################################################ - -XDRIVER_XF86_VIDEO_TGA_VERSION = 1.2.2 -XDRIVER_XF86_VIDEO_TGA_SOURCE = xf86-video-tga-$(XDRIVER_XF86_VIDEO_TGA_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_TGA_SITE = http://xorg.freedesktop.org/releases/individual/driver -XDRIVER_XF86_VIDEO_TGA_LICENSE = MIT -XDRIVER_XF86_VIDEO_TGA_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_TGA_DEPENDENCIES = xserver_xorg-server xorgproto - -$(eval $(autotools-package)) diff --git a/package/x11r7/xlib_libX11/xlib_libX11.hash b/package/x11r7/xlib_libX11/xlib_libX11.hash index f443d947a4..56fecee9ff 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/2023-June/003407.html -sha256 59535b7cc6989ba806a022f7e8533b28c4397b9d86e9d07b6df0c0703fa25cc9 libX11-1.8.6.tar.xz -sha512 b94a578003078a42cea43d80fae2c54a3aaa30f706088bb3546331e9abfc180131cafb37887117abcc5b6116992e299974981eef96ecfcf883cc8a1aba4d1ade libX11-1.8.6.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 75199f1a3d..920a5d9aed 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.6 +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_libXpm/xlib_libXpm.hash b/package/x11r7/xlib_libXpm/xlib_libXpm.hash index a041f0d440..3582169891 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/2023-April/003385.html -sha256 e6bc5da7a69dbd9bcc67e87c93d4904fe2f5177a0711c56e71fa2f6eff649f51 libXpm-3.5.16.tar.xz -sha512 ee564311f8c1c9c08ed1035d55c287ecf7c20c6fee09ad448acfab59f38fd1ef381d4a24b4af2b581f3033730eebc7c690918e52ba706de689d1ef11085edac2 libXpm-3.5.16.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 a80d706759624a04aa90fd62bc644a360fc3d72e08dcbfb129f167c11ca285de COPYING sha256 cbe4ced0abc8a32bea471204ae01038c202758ce4e772d3d329a341ffa761e71 COPYRIGHT diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/package/x11r7/xlib_libXpm/xlib_libXpm.mk index 51f6283370..1239ba0d4d 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -4,12 +4,12 @@ # ################################################################################ -XLIB_LIBXPM_VERSION = 3.5.16 +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 \ diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index 092a640f04..be636936e2 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2023-March/003377.html -sha256 38aadb735650c8024ee25211c190bf8aad844c5f59632761ab1ef4c4d5aeb152 xorg-server-21.1.8.tar.xz -sha512 6104b3620ed2e1e27d9a8e963388bbe8785a764585b1bc03dbf5d719a92894773dda580d377ca18ceeab353e65a5d23cc947bab84a4012f9dd1eca31cac36937 xorg-server-21.1.8.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 ede03d024c..1d0807ffec 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -4,11 +4,13 @@ # ################################################################################ -XSERVER_XORG_SERVER_VERSION = 21.1.8 -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 diff --git a/package/x11r7/xwayland/Config.in b/package/x11r7/xwayland/Config.in index 241ab73ad3..9ac1928f51 100644 --- a/package/x11r7/xwayland/Config.in +++ b/package/x11r7/xwayland/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_XWAYLAND # 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 diff --git a/package/x11r7/xwayland/xwayland.hash b/package/x11r7/xwayland/xwayland.hash index b62f404d40..5bb26bf17e 100644 --- a/package/x11r7/xwayland/xwayland.hash +++ b/package/x11r7/xwayland/xwayland.hash @@ -1,6 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2023-March/003376.html -sha256 fb9461f5cb9fea5e07e91882311b0c88b43e8843b017ebac05eb5af69aa34c15 xwayland-23.1.1.tar.xz -sha512 21c386847135c5cb4ac884926b0fbeb6ad21c9ee54752e0cdc8418e31a72872d81032159c1d91b8afb915aaaf65e80454342461d676996b2f3c535a37b0147f0 xwayland-23.1.1.tar.xz +# 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 index 1b626327ad..c66dd471ac 100644 --- a/package/x11r7/xwayland/xwayland.mk +++ b/package/x11r7/xwayland/xwayland.mk @@ -4,13 +4,15 @@ # ################################################################################ -XWAYLAND_VERSION = 23.1.1 +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 \ @@ -22,15 +24,16 @@ XWAYLAND_DEPENDENCIES = \ 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_LIBDRM)$(BR2_PACKAGE_LIBEPOXY),yy) +ifeq ($(BR2_PACKAGE_LIBEPOXY),y) XWAYLAND_CONF_OPTS += -Dglamor=true -XWAYLAND_DEPENDENCIES += libdrm libepoxy +XWAYLAND_DEPENDENCIES += libepoxy else XWAYLAND_CONF_OPTS += -Dglamor=false endif @@ -78,13 +81,6 @@ XWAYLAND_CONF_OPTS += -Dsha1=libsha1 XWAYLAND_DEPENDENCIES += libsha1 endif -ifeq ($(BR2_PACKAGE_LIBDRM),y) -XWAYLAND_CONF_OPTS += -Ddri3=true -XWAYLAND_DEPENDENCIES += libdrm -else -XWAYLAND_CONF_OPTS += -Ddri3=false -endif - ifeq ($(BR2_PACKAGE_LIBUNWIND),y) XWAYLAND_CONF_OPTS += -Dlibunwind=true XWAYLAND_DEPENDENCIES += libunwind diff --git a/package/x11vnc/x11vnc.mk b/package/x11vnc/x11vnc.mk index 1eda717c68..aa0f14c456 100644 --- a/package/x11vnc/x11vnc.mk +++ b/package/x11vnc/x11vnc.mk @@ -12,7 +12,7 @@ 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 diff --git a/package/xdg-dbus-proxy/xdg-dbus-proxy.hash b/package/xdg-dbus-proxy/xdg-dbus-proxy.hash index 7bbea72b03..f61a6a91ae 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 48f49dba2a..2e8c054386 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 5637f0e8d9..d2350ac515 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 169753e89f..80412cca97 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 0000000000..fcc1f1e673 --- /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/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 510ed5b642..0000000000 --- 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 a382b63ff8..d14c3d4698 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 bb546601dc..8c73e14905 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 09f59a76f4..e657c8086d 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) 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 0000000000..74034dad53 --- /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/xmrig.hash b/package/xmrig/xmrig.hash index eab24a7eab..116855fdba 100644 --- a/package/xmrig/xmrig.hash +++ b/package/xmrig/xmrig.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 86c62eb6db83981b21ac1faac69c28fee2952cbbc207ea7476707d4f1799633f xmrig-6.20.0.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 982ccc8c5d..45538fa77e 100644 --- a/package/xmrig/xmrig.mk +++ b/package/xmrig/xmrig.mk @@ -4,7 +4,7 @@ # ################################################################################ -XMRIG_VERSION = 6.20.0 +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 1ff36368ec..388a3a3cd4 100644 --- a/package/xr819-xradio/xr819-xradio.hash +++ b/package/xr819-xradio/xr819-xradio.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 e27b6b5fb35ef44a93eb1f5b29bd61c06109e951c8a5ea2cc3e0310663f22001 xr819-xradio-547521df27d1a80fb5542e93fa13bd09fb2259a2.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 1e4cdb6872..8b576a347a 100644 --- a/package/xr819-xradio/xr819-xradio.mk +++ b/package/xr819-xradio/xr819-xradio.mk @@ -4,7 +4,7 @@ # ################################################################################ -XR819_XRADIO_VERSION = 547521df27d1a80fb5542e93fa13bd09fb2259a2 +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 6cc7e8febe..466d309940 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 840a31f947..7bdbbb8578 100644 --- a/package/xtables-addons/xtables-addons.hash +++ b/package/xtables-addons/xtables-addons.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 faa16a27166275afbfe8df605f55c3a81ac693bf19da674d45ceded4137ae217 xtables-addons-3.22.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 e794538956..efd8bd98ce 100644 --- a/package/xtables-addons/xtables-addons.mk +++ b/package/xtables-addons/xtables-addons.mk @@ -4,7 +4,7 @@ # ################################################################################ -XTABLES_ADDONS_VERSION = 3.22 +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,7 +13,6 @@ XTABLES_ADDONS_LICENSE_FILES = LICENSE XTABLES_ADDONS_CONF_OPTS = \ --with-kbuild="$(LINUX_DIR)" \ - --with-xtables="$(STAGING_DIR)/usr" \ --with-xtlibdir="/usr/lib/xtables" define XTABLES_ADDONS_BUILD_CMDS diff --git a/package/xterm/xterm.hash b/package/xterm/xterm.hash index 1a2ad8fea0..e0fdcfe66e 100644 --- a/package/xterm/xterm.hash +++ b/package/xterm/xterm.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 31ef870740ceae020c3c4b4a9601c7f47bfd46672c1aaf2d213a565d64cbc373 xterm-384.tgz +sha256 1cd5763d94d9370fed10d804e831a089b2ace0e7a74b6f56ef5a16a766bde7be xterm-389.tgz # Locally calculated -sha256 98d02d0b7f7b8aabb742b05e6960caaa9ae20e26d2f0d0dc57808362f2ac79bc COPYING +sha256 e38de4a0780954b5a7e69b5fa6c571daa8a1bfbacb4f2c5b2f07099e1a1d7c93 COPYING diff --git a/package/xterm/xterm.mk b/package/xterm/xterm.mk index 2fc2f734c8..c2c97dd318 100644 --- a/package/xterm/xterm.mk +++ b/package/xterm/xterm.mk @@ -4,7 +4,7 @@ # ################################################################################ -XTERM_VERSION = 384 +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/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 0000000000..349d4415e2 --- /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/xvisor.mk b/package/xvisor/xvisor.mk index eba37be9b7..c1b61270f1 100644 --- a/package/xvisor/xvisor.mk +++ b/package/xvisor/xvisor.mk @@ -11,7 +11,7 @@ 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 5d2a5a4efa..0000000000 --- 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 17d34a0823..0000000000 --- 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 3b65ae1d6c..0000000000 --- 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/0004-Makefile-add-install_libxxhash.includes-target.patch b/package/xxhash/0004-Makefile-add-install_libxxhash.includes-target.patch deleted file mode 100644 index 22c8cdaadf..0000000000 --- a/package/xxhash/0004-Makefile-add-install_libxxhash.includes-target.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b7c91f761b6d0b79398d0a064d2d6e34de3dfa47 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 27 Dec 2022 23:12:37 +0100 -Subject: [PATCH] Makefile: add install_libxxhash.includes target - -Add install_libxxhash.includes to be able to install headers when -building and installing the static library - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/Cyan4973/xxHash/pull/776] ---- - Makefile | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index cfa5779..2276282 100644 ---- a/Makefile -+++ b/Makefile -@@ -557,6 +557,8 @@ install_libxxhash: libxxhash - $(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) -+ -+install_libxxhash.includes: - $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR) # includes - $(Q)$(INSTALL_DATA) xxhash.h $(DESTDIR)$(INCLUDEDIR) - $(Q)$(INSTALL_DATA) xxh3.h $(DESTDIR)$(INCLUDEDIR) # for compatibility, will be removed in v0.9.0 -@@ -586,7 +588,7 @@ install_man: - $(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 -+install: install_libxxhash.a install_libxxhash install_libxxhash.includes install_libxxhash.pc install_xxhsum install_man ## install libraries, CLI, links and man page - @echo xxhash installation completed - - .PHONY: uninstall --- -2.35.1 - diff --git a/package/xxhash/xxhash.hash b/package/xxhash/xxhash.hash index 2c99236a45..216d07ddbd 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 75d375a2fa..7708ba1e19 100644 --- a/package/xxhash/xxhash.mk +++ b/package/xxhash/xxhash.mk @@ -4,7 +4,7 @@ # ################################################################################ -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 diff --git a/package/xz/xz.hash b/package/xz/xz.hash index 0a8a13f1eb..3d93ad6b5e 100644 --- a/package/xz/xz.hash +++ b/package/xz/xz.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://tukaani.org/xz/xz-5.4.3.tar.gz.sig -sha256 9243a04598d7a70c1f567a0143a255581ac5c64b140fd55fd5cbc1e00b0e6f90 xz-5.4.3.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 72d7ef9c98be319fd34ce88b45203b36d5936f9c49e82bf3198ffee5e0c7d87e COPYING diff --git a/package/xz/xz.mk b/package/xz/xz.mk index dcdbe142b6..547959c743 100644 --- a/package/xz/xz.mk +++ b/package/xz/xz.mk @@ -4,7 +4,7 @@ # ################################################################################ -XZ_VERSION = 5.4.3 +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 cd23c8728d..1a13cb9da8 100644 --- a/package/yajl/yajl.mk +++ b/package/yajl/yajl.mk @@ -9,6 +9,6 @@ YAJL_SITE = $(call github,lloyd,yajl,refs/tags/$(YAJL_VERSION)) YAJL_INSTALL_STAGING = YES YAJL_LICENSE = ISC YAJL_LICENSE_FILES = COPYING -YAJL_CPE_ID_VENDOR = yajl_project +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 9ad9041439..92bf65d2f7 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 367df27ff1..c259f1e531 100644 --- a/package/yaml-cpp/yaml-cpp.mk +++ b/package/yaml-cpp/yaml-cpp.mk @@ -4,12 +4,12 @@ # ################################################################################ -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 += \ diff --git a/package/yasm/yasm.mk b/package/yasm/yasm.mk index b294bd3aee..cdb8e15bee 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/ytree/0001-fix-musl.patch b/package/ytree/0001-fix-musl.patch deleted file mode 100644 index 0a24744669..0000000000 --- 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 88ca8282bf..f3fbba8673 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 a64ebe83ed..1bd2df46b6 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/z3.hash b/package/z3/z3.hash index bddf3066ba..e8110991fa 100644 --- a/package/z3/z3.hash +++ b/package/z3/z3.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9f58f3710bd2094085951a75791550f547903d75fe7e2fcb373c5f03fc761b8f z3-4.12.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 501d9ee61a..facbdec486 100644 --- a/package/z3/z3.mk +++ b/package/z3/z3.mk @@ -4,7 +4,7 @@ # ################################################################################ -Z3_VERSION = 4.12.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/Config.in b/package/zabbix/Config.in index 377c0ff692..9ac668117d 100644 --- a/package/zabbix/Config.in +++ b/package/zabbix/Config.in @@ -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.mk b/package/zabbix/zabbix.mk index 0d6c579f4c..76568f5a18 100644 --- a/package/zabbix/zabbix.mk +++ b/package/zabbix/zabbix.mk @@ -7,6 +7,7 @@ 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 @@ -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) 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 f525b62184..0000000000 --- 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 a4303266db..0136b1d1f3 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 2c933929cf..0e79004bb3 100644 --- a/package/zbar/zbar.mk +++ b/package/zbar/zbar.mk @@ -4,12 +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_VENDOR = zbar_project +ZBAR_CPE_ID_VALID = YES ZBAR_INSTALL_STAGING = YES ZBAR_DEPENDENCIES = libv4l jpeg $(TARGET_NLS_DEPENDENCIES) # uses C99 features 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 6c9cdba3ad..0000000000 --- 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 3c48ab3d50..0000000000 --- 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 fa097d4ae0..15103a9ea0 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 fc91f90431..39d51ac352 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/zeromq/0001-define-missing-rebind-type.patch b/package/zeromq/0001-define-missing-rebind-type.patch deleted file mode 100644 index f7484931e8..0000000000 --- a/package/zeromq/0001-define-missing-rebind-type.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 438d5d88392baffa6c2c5e0737d9de19d6686f0d Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Tue, 20 Dec 2022 21:45:16 +0000 -Subject: [PATCH] src/secure_allocator.hpp: define missing 'rebind' type - -`gcc-13` added an assert to standard headers to make sure custom -allocators have intended implementation of rebind type instead -of inherited rebind. gcc change: - https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=64c986b49558a7 - -Without the fix build fails on this week's `gcc-13` as: - - [ 92%] Building CXX object tests/CMakeFiles/test_security_curve.dir/test_security_curve.cpp.o - In file included from /<>/gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:34, - from /<>/gcc-13.0.0/include/c++/13.0.0/bits/stl_uninitialized.h:64, - from /<>/gcc-13.0.0/include/c++/13.0.0/memory:69, - from tests/../src/secure_allocator.hpp:42, - from tests/../src/curve_client_tools.hpp:49, - from tests/test_security_curve.cpp:53: - /<>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h: In instantiation of 'struct std::__allocator_traits_base::__rebind, unsigned char, void>': - /<>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:94:11: required by substitution of 'template using std::__alloc_rebind = typename std::__allocator_traits_base::__rebind<_Alloc, _Up>::type [with _Alloc = zmq::secure_allocator_t; _Up = unsigned char]' - /<>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:228:8: required by substitution of 'template template using std::allocator_traits< >::rebind_alloc = std::__alloc_rebind<_Alloc, _Tp> [with _Tp = unsigned char; _Alloc = zmq::secure_allocator_t]' - /<>/gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:126:65: required from 'struct __gnu_cxx::__alloc_traits, unsigned char>::rebind' - /<>/gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:88:21: required from 'struct std::_Vector_base >' - /<>/gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:423:11: required from 'class std::vector >' - tests/../src/curve_client_tools.hpp:64:76: required from here - /<>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits::rebind_alloc must be A - 70 | _Tp>::value, - | ^~~~~ - -The change adds trivial `rebind` definition with expected return type -and satisfies conversion requirements. - -Upstream: merged. Commit: bdd471fa17100fe84f64da348951dab3ee4780bb -Signed-off-by: Sergei Trofimovich -Signed-off-by: Adam Duskett ---- - src/secure_allocator.hpp | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/secure_allocator.hpp b/src/secure_allocator.hpp -index e0871dcc99..5e97368911 100644 ---- a/src/secure_allocator.hpp -+++ b/src/secure_allocator.hpp -@@ -99,6 +99,17 @@ bool operator!= (const secure_allocator_t &, const secure_allocator_t &) - #else - template struct secure_allocator_t : std::allocator - { -+ secure_allocator_t () ZMQ_DEFAULT; -+ -+ template -+ secure_allocator_t (const secure_allocator_t &) ZMQ_NOEXCEPT -+ { -+ } -+ -+ template struct rebind -+ { -+ typedef secure_allocator_t other; -+ }; - }; - #endif - } diff --git a/package/zeromq/zeromq.hash b/package/zeromq/zeromq.hash index 5085fbca33..e5ac289656 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 452c5f4291..137fad1a66 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_LICENSE = MPL-2.0 +ZEROMQ_LICENSE_FILES = LICENSE ZEROMQ_CPE_ID_VENDOR = zeromq ZEROMQ_CPE_ID_PRODUCT = libzmq diff --git a/package/zfs/zfs.hash b/package/zfs/zfs.hash index 3a73e5e94f..01c86f2bd6 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.12/zfs-2.1.12.sha256.asc -sha256 64daa26aed3e12c931f6f4413d7527c4ebdb8da35416b356152b5f9fdd4c6e6d zfs-2.1.12.tar.gz -sha256 96a27353fe717ff2c8b95deb8b009c4eb750303c6400e2d8a2582ab1ec12b25a bc3f12bfac152a0c28951cec92340ba14f9ccee9.patch +# From https://github.com/openzfs/zfs/releases/download/zfs-2.2.2/zfs-2.2.2.sha256.asc +sha256 76bc0547d9ba31d4b0142e417aaaf9f969072c3cb3c1a5b10c8738f39ed12fc9 zfs-2.2.2.tar.gz # Hash for license files: sha256 1ffb70c33c4f79f04e947facc5c7851f289609256aacb47fc115f700427d9520 LICENSE diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk index b852d8d4e2..59cdd31942 100644 --- a/package/zfs/zfs.mk +++ b/package/zfs/zfs.mk @@ -4,15 +4,15 @@ # ################################################################################ -ZFS_VERSION = 2.1.12 +ZFS_VERSION = 2.2.2 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-removal-of-LegacyVersion-broke-ax_python_dev.m4.patch +# 0001-config-user-check-for-aio.h.patch ZFS_AUTORECONF = YES ZFS_DEPENDENCIES = libaio openssl udev util-linux zlib libcurl linux @@ -58,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 \ diff --git a/package/zic/zic.hash b/package/zic/zic.hash index a2720a27ba..80c96ed793 100644 --- a/package/zic/zic.hash +++ b/package/zic/zic.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2023-March/000079.html -sha512 fa18bae9c0e7c061bc9d5f5f2eb9967f0e4ddb2baafdee9887fa30cd0c60f4aa6f21eacffb17df0d59d26ff54d08c5dcefa98159309eba497e86443624913a82 tzcode2023c.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 a915f6d256..8abcec9360 100644 --- a/package/zic/zic.mk +++ b/package/zic/zic.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZIC_VERSION = 2023c +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/zlib-ng/zlib-ng.mk b/package/zlib-ng/zlib-ng.mk index fbb906503a..33e8754c9d 100644 --- a/package/zlib-ng/zlib-ng.mk +++ b/package/zlib-ng/zlib-ng.mk @@ -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 \ diff --git a/package/zlog/zlog.hash b/package/zlog/zlog.hash index 3b7c6aa78c..19881183e9 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 329f2cfe2c..e5bbf6ff3b 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/zziplib/zziplib.mk b/package/zziplib/zziplib.mk index 6b7b64cacc..6cb9dedce8 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/andes-nds32.config b/support/config-fragments/autobuild/andes-nds32.config deleted file mode 100644 index 541677e002..0000000000 --- a/support/config-fragments/autobuild/andes-nds32.config +++ /dev/null @@ -1,3 +0,0 @@ -BR2_nds32=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_ANDES_NDS32=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 4c0e01fecb..0000000000 --- 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 e726757a16..0000000000 --- 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 8ade4647f2..0000000000 --- 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 a65e9bacc3..2c4fa45fe7 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 @@ -66,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/dependencies/check-host-tar.sh b/support/dependencies/check-host-tar.sh index b7d607a47a..7d6b3bf688 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 6e7d067ccd..6d5fc36037 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -282,6 +282,10 @@ required_perl_modules="$required_perl_modules Thread::Queue" # Used by host-auto 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 diff --git a/support/docker/Dockerfile b/support/docker/Dockerfile index a16c1e3849..8c6e2add60 100644 --- a/support/docker/Dockerfile +++ b/support/docker/Dockerfile @@ -44,6 +44,7 @@ RUN apt-get -o APT::Retries=3 install -y --no-install-recommends \ python3-pexpect \ python3-pytest \ qemu-system-arm \ + qemu-system-misc \ qemu-system-x86 \ rsync \ shellcheck \ diff --git a/support/download/check-hash b/support/download/check-hash index 5a47f49bc3..9db647885a 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 1e8d6058f6..35428faeef 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 @@ -154,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/helpers b/support/download/helpers index 265685eff5..90a7d6c1ec 100755 --- a/support/download/helpers +++ b/support/download/helpers @@ -53,9 +53,6 @@ mk_tar_gz() { tmp="$(mktemp --tmpdir="$(pwd)")" pushd "${in_dir}" >/dev/null - # Enforce group/others mode bits - chmod -R go-wx+X . - # Establish list find . -not -type d -and -not \( -false "${find_opts[@]}" \) >"${tmp}.list" # Sort list for reproducibility diff --git a/support/download/svn b/support/download/svn index b23b7773d3..1decb2310b 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/misc/Vagrantfile b/support/misc/Vagrantfile index 1d42a647ac..ac595f5749 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2023.08.2' +RELEASE='2024.02.2' ### 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 7053df472b..a58ab553d0 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 4d9acbc3d3..db206432aa 100644 --- a/support/misc/gitlab-ci.yml.in +++ b/support/misc/gitlab-ci.yml.in @@ -103,7 +103,16 @@ before_script: 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: diff --git a/support/scripts/cpedb.py b/support/scripts/cpedb.py deleted file mode 100644 index f4daf56124..0000000000 --- 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 7cd6fce4d8..e25825581e 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 @@ class 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) + 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, + ) - # 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 + @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 @@ class CVE: 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 @@ class CVE: 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 @@ class CVE: 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 @@ class CVE: } 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/eclipse-register-toolchain b/support/scripts/eclipse-register-toolchain deleted file mode 100755 index 891d29ee6f..0000000000 --- a/support/scripts/eclipse-register-toolchain +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh - -# This script registers the toolchain of a Buildroot project into the -# Eclipse plugin. To do so, it adds a new line for the Buildroot -# toolchain into the $HOME/.buildroot-eclipse.toolchains file, which -# the Eclipse Buildroot plugin reads to discover automatically the -# available Buildroot toolchains on the system. -# -# This script should typically not be called manually. Instead, one -# should enable the BR2_ECLIPSE_REGISTER configuration option, which -# will lead Buildroot to automatically call this script with the -# appropriate arguments. -# -# Usage: -# eclipse-register-toolchain project-directory toolchain-prefix architecture -# -# project-directory is the absolute path to the Buildroot project -# output directory (which contains the host/, target/, build/, -# images/, etc. subdirectories). It should be an absolute and -# canonical path. -# -# toolchain-prefix is the prefix of the cross-compilation tools, i.e -# 'arm-linux-' if the cross-compiler executable is 'arm-linux-gcc'. -# -# architecture is the lower-cased name of the architecture targetted -# by the Buildroot project. - -if test $# -ne 3; then - echo "Invalid number of arguments." - echo "Usage: $0 project-directory toolchain-prefix architecture" - exit 1 -fi - -project_directory=$1 -toolchain_prefix=$2 -architecture=$3 - -if test ! -d ${project_directory} ; then - echo "Non-existing project directory ${project_directory}" - exit 1 -fi - -if test ! -d ${project_directory}/host ; then - echo "Your project directory does not look like a Buildroot output" - exit 1 -fi - -if test ! -e ${project_directory}/host/bin/${toolchain_prefix}gcc ; then - echo "Cannot find the cross-compiler in the project directory" - exit 1 -fi - -TOOLCHAIN_ECLIPSE_FILE=${HOME}/.buildroot-eclipse.toolchains - -# First, we remove all lines from the ${TOOLCHAIN_ECLISPE_FILE} that -# correspond to toolchains that no longer exist. -if test -f ${TOOLCHAIN_ECLIPSE_FILE} ; then - mv ${TOOLCHAIN_ECLIPSE_FILE} ${TOOLCHAIN_ECLIPSE_FILE}.tmp - cat ${TOOLCHAIN_ECLIPSE_FILE}.tmp | while read toolchain ; do - path=$(echo ${toolchain} | cut -f1 -d ':') - # Filter lines corresponding to still existing projects - echo "Testing ${path} ..." - if ! test -d ${path} ; then - continue - fi - # .. and the current project - if test ${path} = ${project_directory} ; then - continue - fi - echo ${toolchain} >> ${TOOLCHAIN_ECLIPSE_FILE} - done - rm ${TOOLCHAIN_ECLIPSE_FILE}.tmp -fi - -# Add the toolchain -echo "${project_directory}:${toolchain_prefix}:${architecture}" >> ${TOOLCHAIN_ECLIPSE_FILE} diff --git a/support/scripts/fix-rpath b/support/scripts/fix-rpath index 3e67e770e5..1e58646cea 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" ) + find_args+=( "-type" "f" "-print0" ) - 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[@]}) + 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-missing-cpe b/support/scripts/gen-missing-cpe deleted file mode 100755 index 0b222f2659..0000000000 --- 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/mkusers b/support/scripts/mkusers index 4fc06f8fdf..ee09bbd1f2 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 28f5a0789c..4dc1857a9e 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -23,15 +23,11 @@ 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__), "..", "..")) @@ -40,7 +36,6 @@ from getdeveloperlib import parse_developers # noqa: E402 INFRA_RE = re.compile(r"\$\(eval \$\(([a-z-]*)-package\)\)") URL_RE = re.compile(r"\s*https?://\S*\s*$") -CPEDB_URL = "https://static.nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-dictionary_v2.3.xml.gz" RM_API_STATUS_ERROR = 1 RM_API_STATUS_FOUND_BY_DISTRO = 2 @@ -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() @@ -89,7 +97,9 @@ class Package: 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 dictionary") + 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: @@ -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/scripts/pycompile.py b/support/scripts/pycompile.py deleted file mode 100644 index b8cd3cee6c..0000000000 --- a/support/scripts/pycompile.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env python - -""" -Byte compile all .py files from provided directories. This script is an -alternative implementation of compileall.compile_dir written with -cross-compilation in mind. -""" - -from __future__ import print_function - -import argparse -import os -import py_compile -import re -import sys - - -def compile_one(host_path, strip_root=None, verbose=False): - """ - Compile a .py file into a .pyc file located next to it. - - :arg host_path: - Absolute path to the file to compile on the host running the build. - :arg strip_root: - Prefix to remove from the original source paths encoded in compiled - files. - :arg verbose: - Print compiled file paths. - """ - if os.path.islink(host_path) or not os.path.isfile(host_path): - return # only compile real files - - if not re.match(r"^[_A-Za-z][_A-Za-z0-9]*\.py$", - os.path.basename(host_path)): - return # only compile "importable" python modules - - if strip_root is not None: - # determine the runtime path of the file (i.e.: relative path to root - # dir prepended with "/"). - runtime_path = os.path.join("/", os.path.relpath(host_path, strip_root)) - else: - runtime_path = host_path - - if verbose: - print(" PYC {}".format(runtime_path)) - - # will raise an error if the file cannot be compiled - py_compile.compile(host_path, cfile=host_path + "c", - dfile=runtime_path, doraise=True) - - -def existing_dir_abs(arg): - """ - argparse type callback that checks that argument is a directory and returns - its absolute path. - """ - if not os.path.isdir(arg): - raise argparse.ArgumentTypeError('no such directory: {!r}'.format(arg)) - return os.path.abspath(arg) - - -def main(): - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("dirs", metavar="DIR", nargs="+", type=existing_dir_abs, - help="Directory to recursively scan and compile") - parser.add_argument("--strip-root", metavar="ROOT", type=existing_dir_abs, - help=""" - Prefix to remove from the original source paths encoded - in compiled files - """) - parser.add_argument("--verbose", action="store_true", - help="Print compiled files") - - args = parser.parse_args() - - try: - for d in args.dirs: - if args.strip_root and ".." in os.path.relpath(d, args.strip_root): - parser.error("DIR: not inside ROOT dir: {!r}".format(d)) - for parent, _, files in os.walk(d): - for f in files: - compile_one(os.path.join(parent, f), args.strip_root, - args.verbose) - - except Exception as e: - print("error: {}".format(e)) - return 1 - - return 0 - - -if __name__ == "__main__": - sys.exit(main()) 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 7c992ff71b..0000000000 --- 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 0000000000..9122238993 --- /dev/null +++ b/support/testing/conf/overlayfs-kernel-fragment.config @@ -0,0 +1 @@ +CONFIG_OVERLAY_FS=y diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py index 02cf486128..624740fcb1 100644 --- a/support/testing/infra/emulator.py +++ b/support/testing/infra/emulator.py @@ -54,16 +54,16 @@ class Emulator(object): 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 @@ class Emulator(object): # 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 e8c540f370..485811b746 100755 --- a/support/testing/run-tests +++ b/support/testing/run-tests @@ -65,10 +65,10 @@ def main(): BRConfigTest.downloaddir = os.path.abspath(args.download) if args.prepare_only: - emulator_builtin_binaries = ["kernel-vexpress-5.10.7", - "vexpress-v2p-ca9-5.10.7.dtb", - "kernel-versatile-5.10.7", - "versatile-pb-5.10.7.dtb"] + 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) diff --git a/support/testing/tests/boot/test_atf.py b/support/testing/tests/boot/test_atf.py index 4fcb9b241c..352725e721 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,15 +9,15 @@ 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_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/support/testing/tests/boot/test_grub.py b/support/testing/tests/boot/test_grub.py index 9f3a6a8495..5315fa23ba 100644 --- a/support/testing/tests/boot/test_grub.py +++ b/support/testing/tests/boot/test_grub.py @@ -120,7 +120,7 @@ class TestGrubX8664EFI(infra.basetest.BRTest): # 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, "-hda", hda, "-fw_cfg", qemu_fw_cfg]) + 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 0000000000..5f5cd17464 --- /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 0000000000..b9505a1ff8 --- /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/core/test_file_capabilities.py b/support/testing/tests/core/test_file_capabilities.py index fe21d76c94..e2600ae794 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/init/systemd-overlay-fstab/etc/fstab b/support/testing/tests/init/systemd-overlay-fstab/etc/fstab new file mode 100644 index 0000000000..d5c84406db --- /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 0000000000..520cd6d9da --- /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 c6ade7676d..a1eb8fe213 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 ddc32b0838..7bbc112a56 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 = \ """ @@ -17,7 +25,10 @@ class InitSystemSystemdBase(InitSystemBase): """ 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 @@ -40,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 + \ @@ -191,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 fab23e3330..e9bb3405cd 100644 --- a/support/testing/tests/init/test_systemd_selinux.py +++ b/support/testing/tests/init/test_systemd_selinux.py @@ -21,9 +21,9 @@ class TestSELinuxSystemd(infra.basetest.BRTest): """ 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 3d6c17b746..21d9679788 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 @@ public class JniTest 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_nu.nu b/support/testing/tests/package/sample_nu.nu new file mode 100644 index 0000000000..5287862cf1 --- /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 8160a37219..0000000000 --- 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_fastapi.py b/support/testing/tests/package/sample_python_fastapi.py new file mode 100644 index 0000000000..ee60be1f96 --- /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_mako.py b/support/testing/tests/package/sample_python_mako.py new file mode 100644 index 0000000000..833ead87be --- /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 0000000000..855d64ebf5 --- /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_minimalmodbus.py b/support/testing/tests/package/sample_python_minimalmodbus.py new file mode 100644 index 0000000000..dc5db8d9e2 --- /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 0000000000..156d54a875 --- /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_segno.py b/support/testing/tests/package/sample_python_segno.py new file mode 100644 index 0000000000..c96d6087ce --- /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_subprocess32.py b/support/testing/tests/package/sample_python_subprocess32.py deleted file mode 100644 index 8579745cc8..0000000000 --- a/support/testing/tests/package/sample_python_subprocess32.py +++ /dev/null @@ -1,6 +0,0 @@ -import subprocess32 - -output = subprocess32.check_output(["ls", "-l", "/dev/null"]) -print(output) -assert("/dev/null" in output) -assert("No such" not in output) 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 0000000000..ea4d20c9a2 --- /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 0000000000..dc85d3e04e --- /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 0000000000..e4827c7bec --- /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_apache.py b/support/testing/tests/package/test_apache.py new file mode 100644 index 0000000000..f29f4e2524 --- /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_bc.py b/support/testing/tests/package/test_bc.py new file mode 100644 index 0000000000..46e2612b93 --- /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 0000000000..93aa9383ab --- /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_coremark.py b/support/testing/tests/package/test_coremark.py new file mode 100644 index 0000000000..8bd2f32143 --- /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 0000000000..759dfd7c5f --- /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 0000000000..37d5494fc2 --- /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_dtbocfg.py b/support/testing/tests/package/test_dtbocfg.py index d25b1692b4..56a1ed4820 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 0000000000..eee5f8c4fc --- /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 0000000000..1c5aa36037 --- /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 0000000000..95d398f8d1 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 0000000000..eea0ae8b76 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 0000000000..79191b3048 --- /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 0000000000..75b2d5e017 --- /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 0000000000..a3ae3c0058 --- /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 0000000000..700337f637 --- /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_flutter.py b/support/testing/tests/package/test_flutter.py new file mode 100644 index 0000000000..a3e98a43e5 --- /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 0000000000..3fc7a5dded --- /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 0000000000..40993fb16c --- /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 0000000000..88a2bcbf0b --- /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 0000000000..507c4ce73b --- /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_ghostscript.py b/support/testing/tests/package/test_ghostscript.py new file mode 100644 index 0000000000..3c6c16ef2c --- /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 0000000000..5ca2b3581f --- /dev/null +++ b/support/testing/tests/package/test_ghostscript/rootfs-overlay/root/document.ps @@ -0,0 +1,9 @@ +%!PS +% See: PostScript: Language Reference, third edition +% Example 5.1, page 314 +% https://www.adobe.com/jp/print/postscript/pdfs/PLRM.pdf +/Helvetica findfont +16 scalefont setfont +54 720 moveto +(Hello Buildroot!) show +showpage diff --git a/support/testing/tests/package/test_glxinfo.py b/support/testing/tests/package/test_glxinfo.py index 6bedee5298..3ccbdca8d9 100644 --- a/support/testing/tests/package/test_glxinfo.py +++ b/support/testing/tests/package/test_glxinfo.py @@ -42,7 +42,8 @@ class TestGlxinfo(infra.basetest.BRTest): 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 index 4505e1c339..2b18f54fa3 100644 --- a/support/testing/tests/package/test_gnupg2.py +++ b/support/testing/tests/package/test_gnupg2.py @@ -37,7 +37,7 @@ class TestGnupg2(infra.basetest.BRTest): # Test symmetric encrypt cmd = "gpg --batch --symmetric" cmd += " --passphrase '{}' {}".format(good_passphrase, plain_file) - self.assertRunOk(cmd) + self.assertRunOk(cmd, timeout=10) # Test symmetric decrypt cmd = "gpg --batch --decrypt" diff --git a/support/testing/tests/package/test_iozone.py b/support/testing/tests/package/test_iozone.py new file mode 100644 index 0000000000..9a9843df56 --- /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_iptables.py b/support/testing/tests/package/test_iptables.py new file mode 100644 index 0000000000..ee57b31558 --- /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 0000000000..4634fc4de2 --- /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 0000000000..67420abb6b --- /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 0000000000..fc2bf94565 --- /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 0000000000..52b7b6493f --- /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 0000000000..b4545b28c8 --- /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 0000000000..6ccebb9abe --- /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 0000000000..d81cc0710e --- /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 0000000000..27ba77ddaf --- /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_kmscube.py b/support/testing/tests/package/test_kmscube.py new file mode 100644 index 0000000000..0ddeb67939 --- /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 0000000000..ec2ed4460c --- /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 0000000000..3d8c4fc94c --- /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 0000000000..8953021b82 --- /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 0000000000..04436e7518 --- /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 0000000000..b497891249 --- /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 < {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 0000000000..0552f6894c --- /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 0000000000..3b8c60bdd1 --- /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_mtr.py b/support/testing/tests/package/test_mtr.py new file mode 100644 index 0000000000..d78b33a31a --- /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 0000000000..88d58a72f3 --- /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_ngrep.py b/support/testing/tests/package/test_ngrep.py new file mode 100644 index 0000000000..29aaa55c2c --- /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 /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_fastapi.py b/support/testing/tests/package/test_python_fastapi.py new file mode 100644 index 0000000000..85cdd0b65a --- /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 9d8587e918..32d9da34a5 100644 --- a/support/testing/tests/package/test_python_flask.py +++ b/support/testing/tests/package/test_python_flask.py @@ -21,9 +21,13 @@ class TestPythonPy3Flask(TestPythonPackageBase): _, 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_mako.py b/support/testing/tests/package/test_python_mako.py new file mode 100644 index 0000000000..ea8fe57a5b --- /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_minimalmodbus.py b/support/testing/tests/package/test_python_minimalmodbus.py new file mode 100644 index 0000000000..53813406de --- /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 0000000000..8367107247 --- /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_scipy.py b/support/testing/tests/package/test_python_scipy.py index 06297763c3..fb51f25d79 100644 --- a/support/testing/tests/package/test_python_scipy.py +++ b/support/testing/tests/package/test_python_scipy.py @@ -10,7 +10,7 @@ class TestPythonPy3SciPy(TestPythonPackageBase): 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 0000000000..75e7124399 --- /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_subprocess32.py b/support/testing/tests/package/test_python_subprocess32.py deleted file mode 100644 index d2878046d1..0000000000 --- a/support/testing/tests/package/test_python_subprocess32.py +++ /dev/null @@ -1,11 +0,0 @@ -from tests.package.test_python import TestPythonPackageBase - - -class TestPythonPy2Subprocess32(TestPythonPackageBase): - __test__ = True - config = TestPythonPackageBase.config + \ - """ - BR2_PACKAGE_PYTHON=y - BR2_PACKAGE_PYTHON_SUBPROCESS32=y - """ - sample_scripts = ["tests/package/sample_python_subprocess32.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 0000000000..d64f2c29d7 --- /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_uvloop.py b/support/testing/tests/package/test_python_uvloop.py new file mode 100644 index 0000000000..c5079ba59c --- /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_ruby.py b/support/testing/tests/package/test_ruby.py new file mode 100644 index 0000000000..5d4c0031fb --- /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 fb9dd2d916..763125ca20 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 0000000000..b6264d34df --- /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 0000000000..0a0fdb890a --- /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_sox.py b/support/testing/tests/package/test_sox.py new file mode 100644 index 0000000000..74f784a36f --- /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 0000000000..215703d7f2 --- /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 0000000000..c1cba2173f --- /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_tcl.py b/support/testing/tests/package/test_tcl.py new file mode 100644 index 0000000000..ae94e80a92 --- /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 0000000000..0398f24ceb --- /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 0000000000..42bfc96082 --- /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 0000000000..232025bad2 --- /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 0000000000..007bc91f2d --- /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_trace_cmd.py b/support/testing/tests/package/test_trace_cmd.py new file mode 100644 index 0000000000..5d37aef375 --- /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 0000000000..ef82146616 --- /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 0000000000..83c3f7f920 --- /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 0000000000..d9abd2821e --- /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 0000000000..df1b7a4135 --- /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 0000000000..3fc7a5dded --- /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 0000000000..534b5c1f4a --- /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_zfs.py b/support/testing/tests/package/test_zfs.py index 1f01ddd768..27dbc2869b 100644 --- a/support/testing/tests/package/test_zfs.py +++ b/support/testing/tests/package/test_zfs.py @@ -40,11 +40,11 @@ class TestZfsBase(infra.basetest.BRTest): 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/toolchain/test_external.py b/support/testing/tests/toolchain/test_external.py index d22f38cedc..27dfd68500 100644 --- a/support/testing/tests/toolchain/test_external.py +++ b/support/testing/tests/toolchain/test_external.py @@ -37,103 +37,6 @@ class TestExternalToolchain(infra.basetest.BRTest): 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 96a8780d36..02090755fd 100644 --- a/support/testing/tests/toolchain/test_external_bootlin.py +++ b/support/testing/tests/toolchain/test_external_bootlin.py @@ -115,6 +115,34 @@ class TestExternalToolchainBootlinAarch64beGlibcStable(TestExternalToolchain): 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 @@ class TestExternalToolchainBootlinArmv7mUclibcStable(TestExternalToolchain): 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 diff --git a/support/testing/tests/utils/test_check_package.py b/support/testing/tests/utils/test_check_package.py index 9aa117d211..2125b34170 100644 --- a/support/testing/tests/utils/test_check_package.py +++ b/support/testing/tests/utils/test_check_package.py @@ -200,13 +200,13 @@ class TestCheckPackage(unittest.TestCase): 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 (http://nightly.buildroot.org/#writing-rules-mk)".format(abs_file), w) + 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") diff --git a/system/Config.in b/system/Config.in index 24798dc068..e590a8a3ff 100644 --- a/system/Config.in +++ b/system/Config.in @@ -105,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 @@ -159,10 +160,24 @@ endchoice if BR2_INIT_SYSTEMD -config BR2_INIT_SYSTEMD_VAR_FACTORY - bool "build a factory to populate a tmpfs on /var" - default y # legacy +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 @@ -173,17 +188,31 @@ config BR2_INIT_SYSTEMD_VAR_FACTORY It probably does not play very well with triggering a call to systemd-tmpfiles at build time (below). - Note: Buildroot mounts a tmpfs on /var 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, so that falls - out of the scope of Buildroot. - 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 @@ -375,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 @@ -666,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 da6bf5f4c8..1641dbae06 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 @@ -302,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 @@ -636,6 +637,14 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3 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 @@ -649,6 +658,8 @@ 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 @@ -875,7 +886,6 @@ config BR2_TOOLCHAIN_HAS_SYNC_8 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 @@ -913,4 +923,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 e5c838c0af..839ee278d0 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -483,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 ; \ @@ -494,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 0000000000..6fe969357f --- /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 0000000000..dbfe30a910 --- /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 64f7892f98..0173f40d97 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 6da64b7c77..76862fa2e3 100644 --- a/toolchain/toolchain-buildroot/toolchain-buildroot.mk +++ b/toolchain/toolchain-buildroot/toolchain-buildroot.mk @@ -6,11 +6,11 @@ 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 diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index c1c159cb8e..af9082cf6e 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/toolchain-external-andes-nds32/Config.in b/toolchain/toolchain-external/toolchain-external-andes-nds32/Config.in deleted file mode 100644 index 9c937b8c44..0000000000 --- a/toolchain/toolchain-external/toolchain-external-andes-nds32/Config.in +++ /dev/null @@ -1,15 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_ANDES_NDS32 - bool "Andes nds32" - depends on BR2_nds32 - depends on !BR2_STATIC_LIBS - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_GCC_AT_LEAST_8 - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HAS_SSP - help - nds32 toolchain for the nds32 architecture. It uses GCC - 8.2.1, GDB 8.1.1, glibc 2.28, Binutils 2.30. It generates - code that runs on ae3xx platform diff --git a/toolchain/toolchain-external/toolchain-external-andes-nds32/Config.in.options b/toolchain/toolchain-external/toolchain-external-andes-nds32/Config.in.options deleted file mode 100644 index 7d11ae2098..0000000000 --- a/toolchain/toolchain-external/toolchain-external-andes-nds32/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_ANDES_NDS32 - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "nds32le-linux" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-andes-nds32" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.hash b/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.hash deleted file mode 100644 index 4314bb1f55..0000000000 --- a/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz -sha256 6050601df85ad93a4c211c1d57ed3773edb62aa505f7e07d7d555652e83af2cc nds32le-linux-glibc-v3-upstream.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.mk b/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.mk deleted file mode 100644 index fa29490b4f..0000000000 --- a/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.mk +++ /dev/null @@ -1,10 +0,0 @@ -################################################################################ -# -# toolchain-external-andes-nds32 -# -################################################################################ - -TOOLCHAIN_EXTERNAL_ANDES_NDS32_SITE = https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521 -TOOLCHAIN_EXTERNAL_ANDES_NDS32_SOURCE = nds32le-linux-glibc-v3-upstream.tar.gz - -$(eval $(toolchain-external-package)) 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 466b1587c3..1cee601a89 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE - bool "Arm AArch64 BE 12.2.rel1" + 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 @@ -7,7 +7,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + 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 f148d6326d..a9830c43c3 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,2 +1,2 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-aarch64_be-none-linux-gnu.tar.xz.sha256asc -sha256 47632b5594ed6c3efda92a55c4c330263fc22f5d845d9e1c7d969ce24fcedeea arm-gnu-toolchain-12.2.rel1-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 d35b945b04..7771269b0d 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,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION = 12.2.rel1 +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 = arm-gnu-toolchain-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)-x86_64-aarch64_be-none-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index fc62b759e5..2565707def 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 - bool "Arm AArch64 12.2.rel1" + 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 @@ -7,7 +7,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + 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 6c4847831e..9de90d4b06 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,2 +1,2 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz.sha256asc -sha256 6e8112dce0d4334d93bd3193815f16abe6a2dd5e7872697987a0b12308f876a4 arm-gnu-toolchain-12.2.rel1-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 9cdf58305b..f9adda8921 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,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 12.2.rel1 +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 = arm-gnu-toolchain-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-none-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in index 9b314795cb..bee8d61164 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -3,7 +3,7 @@ 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 12.2.rel1" + 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 @@ -14,12 +14,12 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + 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 12.2, - GDB 12, glibc 2.36, Binutils 2.39. 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 2c1af4cfcc..e979e5f508 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,4 +1,4 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz.sha256asc -sha256 d73f230bb946231b648a960b719f2cc1afc792ec2e36f9abc25552f00923a926 arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz -# From https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-aarch64-arm-none-linux-gnueabihf.tar.xz.sha256asc -sha256 860f49bc60d559f06408f07a24bc2a09e5b8f9118cfe1daed521ab321c03c78e arm-gnu-toolchain-12.2.rel1-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 164b60e6ca..5962121af6 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,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 12.2.rel1 +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 = arm-gnu-toolchain-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)-$(HOSTARCH)-arm-none-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options index 84e295064e..37daa731f2 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options @@ -58,12 +58,12 @@ 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 2022.08-1" + bool "aarch64 glibc bleeding-edge 2023.11-1" depends on BR2_aarch64 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -83,12 +83,12 @@ 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 2022.08-1" + bool "aarch64 glibc stable 2023.11-1" depends on BR2_aarch64 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_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 @@ -108,12 +108,12 @@ 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 2022.08-1" + bool "aarch64 musl bleeding-edge 2023.11-1" depends on BR2_aarch64 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -133,11 +133,11 @@ 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 2022.08-2" + bool "aarch64 musl stable 2023.11-1" depends on BR2_aarch64 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -157,11 +157,11 @@ 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 2022.08-1" + bool "aarch64 uclibc bleeding-edge 2023.11-1" depends on BR2_aarch64 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -182,11 +182,11 @@ 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 2022.08-1" + bool "aarch64 uclibc stable 2023.11-1" depends on BR2_aarch64 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -207,12 +207,12 @@ 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 2022.08-1" + bool "aarch64be glibc bleeding-edge 2023.11-1" depends on BR2_aarch64_be - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -232,12 +232,12 @@ 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 2022.08-1" + bool "aarch64be glibc stable 2023.11-1" depends on BR2_aarch64_be - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_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 @@ -256,12 +256,61 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE - bool "aarch64be uclibc bleeding-edge 2022.08-1" +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_5_4 + 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 2023.11-1" + depends on BR2_aarch64_be + 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 @@ -282,11 +331,11 @@ 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 2022.08-1" + bool "aarch64be uclibc stable 2023.11-1" depends on BR2_aarch64_be - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -307,12 +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 2022.08-1" + bool "arcle-750d uclibc bleeding-edge 2023.11-1" depends on BR2_arcle depends on BR2_arc750d - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -332,12 +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 2022.08-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 @@ -357,13 +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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -382,7 +431,7 @@ 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 2022.08-1" + 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 @@ -407,12 +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 2022.08-1" + bool "arcle-hs38 uclibc bleeding-edge 2023.11-1" depends on BR2_arcle depends on BR2_archs38 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -432,12 +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 2022.08-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 @@ -457,14 +506,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -484,14 +533,14 @@ 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 2022.08-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_12 + 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_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 @@ -511,14 +560,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -538,14 +587,14 @@ 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 2022.08-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_12 + 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_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 @@ -565,13 +614,13 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -592,13 +641,13 @@ 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 2022.08-1" + bool "armv5-eabi uclibc 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -619,14 +668,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -646,14 +695,14 @@ 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 2022.08-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_12 + 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_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 @@ -673,14 +722,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -700,14 +749,14 @@ 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 2022.08-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_12 + 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_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 @@ -727,13 +776,13 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -754,13 +803,13 @@ 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 2022.08-1" + bool "armv6-eabihf uclibc 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -781,14 +830,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -808,14 +857,14 @@ 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 2022.08-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_12 + 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_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 @@ -835,14 +884,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -862,14 +911,14 @@ 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 2022.08-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_12 + 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_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 @@ -889,13 +938,13 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -916,13 +965,13 @@ 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 2022.08-1" + bool "armv7-eabihf uclibc 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -943,14 +992,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -970,14 +1019,14 @@ 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 2022.08-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_12 + 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_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 @@ -997,14 +1046,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1024,14 +1073,14 @@ 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 2022.08-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_12 + 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_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 @@ -1051,13 +1100,13 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1078,13 +1127,13 @@ 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 2022.08-1" + bool "armebv7-eabihf uclibc 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -1105,12 +1154,12 @@ 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 2022.08-1" + bool "armv7m uclibc bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7M - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1129,12 +1178,12 @@ 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 2022.08-1" + bool "armv7m uclibc stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7M - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -1152,12 +1201,112 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE - bool "m68k-68xxx uclibc bleeding-edge 2022.08-1" +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_5_4 + 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 2023.11-1" + depends on BR2_m68k_m68k + 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 @@ -1178,11 +1327,11 @@ 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 2022.08-1" + bool "m68k-68xxx uclibc stable 2023.11-1" depends on BR2_m68k_m68k - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -1203,15 +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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - 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 @@ -1225,15 +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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11 - 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 @@ -1247,13 +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 2022.08-1" + bool "microblazebe glibc bleeding-edge 2023.11-1" depends on BR2_microblazebe - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + 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_12 - 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 @@ -1271,13 +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 2022.08-1" + bool "microblazebe glibc stable 2023.11-1" depends on BR2_microblazebe - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_11 - 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 @@ -1295,13 +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 2022.08-1" + bool "microblazebe musl bleeding-edge 2023.11-1" depends on BR2_microblazebe - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + 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_12 - 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 @@ -1319,13 +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 2022.08-1" + bool "microblazebe musl stable 2023.11-1" depends on BR2_microblazebe - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_11 - 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 @@ -1343,12 +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 2022.08-1" + bool "microblazebe uclibc bleeding-edge 2023.11-1" depends on BR2_microblazebe - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1368,12 +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 2022.08-1" + bool "microblazebe uclibc stable 2023.11-1" depends on BR2_microblazebe - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -1393,13 +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 2022.08-1" + bool "microblazeel glibc bleeding-edge 2023.11-1" depends on BR2_microblazeel - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + 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_12 - 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 @@ -1417,13 +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 2022.08-1" + bool "microblazeel glibc stable 2023.11-1" depends on BR2_microblazeel - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_11 - 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 @@ -1441,13 +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 2022.08-1" + bool "microblazeel musl bleeding-edge 2023.11-1" depends on BR2_microblazeel - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + 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_12 - 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 @@ -1465,13 +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 2022.08-1" + bool "microblazeel musl stable 2023.11-1" depends on BR2_microblazeel - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_11 - 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 @@ -1489,12 +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 2022.08-1" + bool "microblazeel uclibc bleeding-edge 2023.11-1" depends on BR2_microblazeel - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1514,12 +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 2022.08-1" + bool "microblazeel uclibc stable 2023.11-1" depends on BR2_microblazeel - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -1539,14 +1690,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1566,14 +1717,14 @@ 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 2022.08-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_12 + 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_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 @@ -1593,14 +1744,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1620,14 +1771,14 @@ 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 2022.08-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_12 + 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_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 @@ -1646,13 +1797,13 @@ 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 2022.08-1" + bool "mips32 uclibc 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_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1673,13 +1824,13 @@ 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 2022.08-1" + bool "mips32 uclibc 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -1700,14 +1851,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1727,14 +1878,14 @@ 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 2022.08-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_12 + 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_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 @@ -1754,14 +1905,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1781,14 +1932,14 @@ 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 2022.08-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_12 + 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_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 @@ -1807,13 +1958,13 @@ 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 2022.08-1" + bool "mips32el uclibc 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_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1834,13 +1985,13 @@ 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 2022.08-1" + bool "mips32el uclibc 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -1861,14 +2012,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1888,14 +2039,14 @@ 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 2022.08-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_12 + 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_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 @@ -1915,14 +2066,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1942,14 +2093,14 @@ 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 2022.08-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_12 + 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_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 @@ -1969,13 +2120,13 @@ 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 2022.08-1" + bool "mips32r5el uclibc 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_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -1996,13 +2147,13 @@ 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 2022.08-1" + bool "mips32r5el uclibc 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -2023,14 +2174,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2050,14 +2201,14 @@ 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 2022.08-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_12 + 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_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 @@ -2077,14 +2228,14 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2104,14 +2255,14 @@ 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 2022.08-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_12 + 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_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 @@ -2131,13 +2282,13 @@ 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 2022.08-1" + bool "mips32r6el uclibc 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_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2158,13 +2309,13 @@ 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 2022.08-1" + bool "mips32r6el uclibc 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -2185,15 +2336,15 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2213,15 +2364,15 @@ 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 2022.08-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_12 + 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_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 @@ -2241,15 +2392,15 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2269,15 +2420,15 @@ 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 2022.08-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_12 + 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_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 @@ -2297,14 +2448,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2325,14 +2476,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -2353,15 +2504,15 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2381,15 +2532,15 @@ 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 2022.08-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_12 + 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_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 @@ -2409,15 +2560,15 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2437,15 +2588,15 @@ 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 2022.08-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_12 + 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_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 @@ -2465,14 +2616,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2493,14 +2644,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -2521,15 +2672,15 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2549,15 +2700,15 @@ 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 2022.08-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_12 + 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_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 @@ -2577,15 +2728,15 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2605,15 +2756,15 @@ 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 2022.08-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_12 + 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_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 @@ -2633,14 +2784,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2661,14 +2812,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -2689,12 +2840,12 @@ 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 2022.08-1" + bool "nios2 glibc bleeding-edge 2023.11-1" depends on BR2_nios2 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2714,12 +2865,12 @@ 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 2022.08-1" + bool "nios2 glibc stable 2023.11-1" depends on BR2_nios2 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_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 @@ -2739,13 +2890,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_BLEEDING_EDGE - bool "openrisc glibc bleeding-edge 2022.08-1" + bool "openrisc glibc bleeding-edge 2023.11-1" depends on BR2_or1k - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + 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_12 - 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 @@ -2765,12 +2916,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_STABLE - bool "openrisc glibc stable 2022.08-1" + bool "openrisc glibc stable 2023.11-1" depends on BR2_or1k - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_11 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN @@ -2791,13 +2942,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE - bool "openrisc musl bleeding-edge 2022.08-1" + bool "openrisc musl bleeding-edge 2023.11-1" depends on BR2_or1k - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + 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_12 - 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 @@ -2817,13 +2968,13 @@ 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 2022.08-1" + bool "openrisc musl stable 2023.11-1" depends on BR2_or1k - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + 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_11 - 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 @@ -2842,12 +2993,12 @@ 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 2022.08-1" + bool "openrisc uclibc bleeding-edge 2023.11-1" depends on BR2_or1k - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2868,12 +3019,12 @@ 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 2022.08-1" + bool "openrisc uclibc stable 2023.11-1" depends on BR2_or1k - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -2894,13 +3045,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2920,13 +3071,13 @@ 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 2022.08-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_12 + 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_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 @@ -2946,13 +3097,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -2971,13 +3122,13 @@ 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 2022.08-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_12 + 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_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 @@ -2996,12 +3147,12 @@ 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 2022.08-1" + bool "powerpc-440fp uclibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3022,12 +3173,12 @@ 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 2022.08-1" + bool "powerpc-440fp uclibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -3048,13 +3199,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3074,13 +3225,13 @@ 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 2022.08-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_12 + 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_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 @@ -3100,13 +3251,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3125,13 +3276,13 @@ 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 2022.08-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_12 + 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_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 @@ -3150,12 +3301,12 @@ 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 2022.08-1" + bool "powerpc-e300c3 uclibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3176,12 +3327,12 @@ 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 2022.08-1" + bool "powerpc-e300c3 uclibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -3202,13 +3353,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3228,13 +3379,13 @@ 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 2022.08-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_12 + 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_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 @@ -3254,13 +3405,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3279,13 +3430,13 @@ 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 2022.08-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_12 + 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_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 @@ -3304,12 +3455,12 @@ 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 2022.08-1" + bool "powerpc-e500mc uclibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3330,12 +3481,12 @@ 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 2022.08-1" + bool "powerpc-e500mc uclibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -3356,13 +3507,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3382,13 +3533,13 @@ 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 2022.08-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_12 + 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_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 @@ -3408,13 +3559,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3434,13 +3585,13 @@ 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 2022.08-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_12 + 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_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 @@ -3460,13 +3611,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3486,13 +3637,13 @@ 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 2022.08-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_12 + 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_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 @@ -3512,13 +3663,13 @@ 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 2022.08-1" + 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3538,13 +3689,13 @@ 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 2022.08-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_12 + 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_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 @@ -3564,13 +3715,13 @@ 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 2022.08-1" + 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3590,13 +3741,13 @@ 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 2022.08-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_12 + 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_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 @@ -3616,13 +3767,13 @@ 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 2022.08-1" + 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3642,13 +3793,13 @@ 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 2022.08-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_12 + 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_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 @@ -3668,13 +3819,13 @@ 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 2022.08-1" + 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3694,13 +3845,13 @@ 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 2022.08-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_12 + 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_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 @@ -3720,15 +3871,15 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3748,15 +3899,15 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3776,14 +3927,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + 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 @@ -3804,15 +3955,15 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3832,14 +3983,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + 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 @@ -3860,15 +4011,15 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3889,14 +4040,14 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + 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 @@ -3918,13 +4069,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3944,13 +4095,13 @@ 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 2022.08-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_12 + 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_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 @@ -3970,13 +4121,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -3996,13 +4147,13 @@ 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 2022.08-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_12 + 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_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 @@ -4022,13 +4173,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4048,13 +4199,13 @@ 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 2022.08-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_12 + 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_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 @@ -4073,12 +4224,12 @@ 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 2022.08-1" + bool "sh-sh4 uclibc bleeding-edge 2023.11-1" depends on BR2_sh depends on BR2_sh4 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4099,12 +4250,12 @@ 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 2022.08-1" + bool "sh-sh4 uclibc stable 2023.11-1" depends on BR2_sh depends on BR2_sh4 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -4125,13 +4276,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4151,13 +4302,13 @@ 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 2022.08-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_12 + 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_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 @@ -4177,13 +4328,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4203,13 +4354,13 @@ 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 2022.08-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_12 + 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_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 @@ -4228,13 +4379,13 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4254,13 +4405,13 @@ 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 2022.08-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_12 + 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_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 @@ -4332,15 +4483,15 @@ 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 2022.08-1" + 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4360,15 +4511,15 @@ 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 2022.08-1" + 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_12 + 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_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 @@ -4388,15 +4539,15 @@ 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 2022.08-1" + 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4416,15 +4567,15 @@ 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 2022.08-1" + 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_12 + 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_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 @@ -4443,14 +4594,14 @@ 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 2022.08-1" + 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4471,14 +4622,14 @@ 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 2022.08-1" + 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -4499,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 2022.08-1" + 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 @@ -4508,10 +4659,10 @@ 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4531,7 +4682,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_STABLE - bool "x86-64-v2 glibc stable 2022.08-1" + 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 @@ -4540,10 +4691,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_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_12 + 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_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 @@ -4563,7 +4714,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE - bool "x86-64-v2 musl bleeding-edge 2022.08-1" + 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 @@ -4572,10 +4723,10 @@ 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_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4595,7 +4746,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_STABLE - bool "x86-64-v2 musl stable 2022.08-1" + 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 @@ -4604,10 +4755,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_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_12 + 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_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 @@ -4626,7 +4777,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE - bool "x86-64-v2 uclibc bleeding-edge 2022.08-1" + 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 @@ -4635,9 +4786,9 @@ 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4658,7 +4809,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_STABLE - bool "x86-64-v2 uclibc stable 2022.08-1" + 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 @@ -4667,9 +4818,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -4690,7 +4841,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE - bool "x86-64-v3 glibc bleeding-edge 2022.08-1" + 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 @@ -4701,10 +4852,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4724,7 +4875,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_STABLE - bool "x86-64-v3 glibc stable 2022.08-1" + 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 @@ -4735,10 +4886,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_STABLE 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_12 + 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_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 @@ -4758,7 +4909,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_BLEEDING_EDGE - bool "x86-64-v3 musl bleeding-edge 2022.08-1" + 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 @@ -4769,10 +4920,10 @@ 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4792,7 +4943,7 @@ 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 2022.08-1" + 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 @@ -4803,10 +4954,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_STABLE 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_12 + 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_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 @@ -4825,7 +4976,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_BLEEDING_EDGE - bool "x86-64-v3 uclibc bleeding-edge 2022.08-1" + 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 @@ -4836,9 +4987,9 @@ 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4859,7 +5010,7 @@ 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 2022.08-1" + 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 @@ -4870,9 +5021,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_STABLE 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -4893,7 +5044,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_BLEEDING_EDGE - bool "x86-64-v4 glibc bleeding-edge 2022.08-1" + 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 @@ -4905,10 +5056,10 @@ 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4928,7 +5079,7 @@ 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 2022.08-1" + 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 @@ -4940,10 +5091,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_STABLE 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_12 + 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_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 @@ -4963,7 +5114,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_BLEEDING_EDGE - bool "x86-64-v4 musl bleeding-edge 2022.08-1" + 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 @@ -4975,10 +5126,10 @@ 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -4998,7 +5149,7 @@ 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 2022.08-1" + 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 @@ -5010,10 +5161,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_STABLE 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_12 + 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_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 @@ -5032,7 +5183,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_BLEEDING_EDGE - bool "x86-64-v4 uclibc bleeding-edge 2022.08-1" + 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 @@ -5044,9 +5195,9 @@ 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5067,7 +5218,7 @@ 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 2022.08-1" + 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 @@ -5079,9 +5230,9 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_STABLE 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_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -5102,7 +5253,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE - bool "x86-64-core-i7 glibc bleeding-edge 2022.08-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 @@ -5111,10 +5262,10 @@ 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5134,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 2022.08-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 @@ -5143,10 +5294,10 @@ 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_12 + 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_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 @@ -5166,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 2022.08-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 @@ -5175,10 +5326,10 @@ 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5198,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 2022.08-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 @@ -5207,10 +5358,10 @@ 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_12 + 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_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 @@ -5230,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 2022.08-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 @@ -5239,9 +5390,9 @@ 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5262,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 2022.08-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 @@ -5271,9 +5422,9 @@ 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -5294,17 +5445,17 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5324,17 +5475,17 @@ 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 2022.08-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_12 + 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_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 @@ -5354,17 +5505,17 @@ 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 2022.08-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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5383,17 +5534,17 @@ 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 2022.08-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_12 + 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_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 @@ -5411,16 +5562,16 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5441,16 +5592,16 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -5471,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 2022.08-1" + bool "x86-i686 glibc bleeding-edge 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -5481,10 +5632,10 @@ 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5504,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 2022.08-1" + bool "x86-i686 glibc stable 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -5514,10 +5665,10 @@ 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_12 + 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_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 @@ -5537,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 2022.08-1" + bool "x86-i686 musl bleeding-edge 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -5547,10 +5698,10 @@ 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_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5569,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 2022.08-1" + bool "x86-i686 musl stable 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -5579,10 +5730,10 @@ 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_12 + 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_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 @@ -5600,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 2022.08-1" + bool "x86-i686 uclibc bleeding-edge 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -5610,9 +5761,9 @@ 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5633,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 2022.08-1" + bool "x86-i686 uclibc stable 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -5643,9 +5794,9 @@ 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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 @@ -5666,13 +5817,13 @@ 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 2022.08-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 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_12 - 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 @@ -5693,13 +5844,13 @@ 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 2022.08-1" + bool "xtensa-lx60 uclibc stable 2023.11-1" depends on BR2_xtensa depends on BR2_XTENSA_CUSTOM depends on BR2_XTENSA_LITTLE_ENDIAN - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - 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 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 9565ab1c1e..38cdba5d7d 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash +++ b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash @@ -1,416 +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-2022.08-1.sha256 -sha256 d11a94113dc92fe1c141096dbeb1c3fe2adb0552b495bb9e3e41fad96b4b429a aarch64--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2022.08-1.sha256 -sha256 844df3c99508030ee9cb1152cb182500bb9816ff01968f2e18591d51d766c9e7 aarch64--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--bleeding-edge-2022.08-1.sha256 -sha256 20d9b6cca203d18355a57cc8014ebf701e548922149aeec0d6109399bcc37b42 aarch64--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--stable-2022.08-2.sha256 -sha256 06f5e1d63be86dfbe3c8f7508164464116d43a044b9bef20fe97277f34400bc2 aarch64--musl--stable-2022.08-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 24d3c9c294ef15669fa6182dff951f3850320e590b869587cc1650633f6c9b7f aarch64--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--stable-2022.08-1.sha256 -sha256 b448a1752a58d6bb118c030028cd26f070cedccc0edc95ce8d684cced1bd1c0d aarch64--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--bleeding-edge-2022.08-1.sha256 -sha256 456b684924d581749fc6c2889320170b1bb5e3227324922109432e2a1dd54d91 aarch64be--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--stable-2022.08-1.sha256 -sha256 6cbc48f30cc0e8178cf083eeb48123c519f6e5e0a628a531a415d8907027b2d3 aarch64be--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 923441910c0d132e94a0f0681c403feea78d84a47b593f7946640c2e687771b0 aarch64be--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--stable-2022.08-1.sha256 -sha256 b29fc8d852f531aaa094cda9ab08d0f28817f7404990f3b3a20b2ce180091566 aarch64be--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 bea37db5d3f229318c44d59efa444f5c2012bc773dbf23f1914669110c931f9b arcle-750d--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--stable-2022.08-1.sha256 -sha256 b333bfbb6b664f7f38a36a5648bac3567cec3f3672c12eadb368b3fc773e5570 arcle-750d--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--bleeding-edge-2022.08-1.sha256 -sha256 2c5fd77f67f2126412fcc7b163e492452f8bb0a2c7fa943cb7350387d00e2a46 arcle-hs38--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--stable-2022.08-1.sha256 -sha256 af8295901ad4bd359dc3e5da442ad9e6d0474e96cd38f31479d8c714bf4315e2 arcle-hs38--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 c6a00bae6d5e1bb343c339a942466f5f0de7d736671a6ba2d3f76890d9b0d486 arcle-hs38--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--stable-2022.08-1.sha256 -sha256 8fbe4086d5dafb1e0cd69f3762cb4d8c1273ee8b6bbbd8850fce54a5a8dad374 arcle-hs38--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--bleeding-edge-2022.08-1.sha256 -sha256 4c015e4fcee7eab2782f6be04acdb15c55986b98f6e1f4c0e23458461f76c84f armv5-eabi--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--stable-2022.08-1.sha256 -sha256 6230d9835894347f5c2b84e81d6d4825bb5315908a4ab50edd6270c8ba4477bf armv5-eabi--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--bleeding-edge-2022.08-1.sha256 -sha256 fbc0db4138768433fc1704e2d7a82c7f527c82549c1562d09e12c154037a4f2c armv5-eabi--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--stable-2022.08-1.sha256 -sha256 74c4d7969e8c92b3ce848e957fc0aae3238eb826e0707692adf4993de5323a72 armv5-eabi--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 5072d99dc06123d197fc171d3dcfc15d7c1767dbcba0f0b95ed3b8de7fb78d2d armv5-eabi--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--stable-2022.08-1.sha256 -sha256 6a39098391ecaab84c090fb7aba02e595ea07d4916b687bc1e2a6731a4c60506 armv5-eabi--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--bleeding-edge-2022.08-1.sha256 -sha256 123e69824b789c752c980f36fb3923bb88baa23c05beff138c8fe119d3a2d1f3 armv6-eabihf--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--stable-2022.08-1.sha256 -sha256 474167bc7f97af44a73a1f96ed088d201a42645af2e99f7c9c57bf0d45966407 armv6-eabihf--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--bleeding-edge-2022.08-1.sha256 -sha256 f971220c45074a93ec52298917a30a93f541599c545c389618984e2b603ee34b armv6-eabihf--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--stable-2022.08-1.sha256 -sha256 91cc2a45cccd9eb89b2737fbd4461c73bb589882d1a377408d0e3cefc24ca59a armv6-eabihf--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 320df86444cced5d346f7bd5baa9b3cab04ffe5004feab16286ee7b25b14e2cf armv6-eabihf--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--stable-2022.08-1.sha256 -sha256 80a3ca5009440e2a0924eea60f915c75f10067427fb0312591b0936a8146cec0 armv6-eabihf--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2022.08-1.sha256 -sha256 7a3ceba0e5ed7ccb16da16e630a905c76c2ea58f66d161d6d45dce33321e70f6 armv7-eabihf--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--stable-2022.08-1.sha256 -sha256 64329b3e72350ceda65997368395a945ef83769013d82414dc5f2021c33f2d44 armv7-eabihf--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--bleeding-edge-2022.08-1.sha256 -sha256 9f9837426dc798d8bd70458b6eb1f7c8f278a5bba5a212462bd8672d61177d83 armv7-eabihf--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--stable-2022.08-1.sha256 -sha256 71f156ab45a9d9790d3b36ff970d9ce2e476e96b2ea94eb17aac632777e14eca armv7-eabihf--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 01182a4fcdfcffe53bb2ade152e0bca40b36c1817c78cfb155306ae5250e0e7b armv7-eabihf--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--stable-2022.08-1.sha256 -sha256 9e4191ab996fdf5f4e8de7e4617c67cbf46127ca2754fca0ad45d60e393ace05 armv7-eabihf--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--glibc--bleeding-edge-2022.08-1.sha256 -sha256 d5dff34e074b56a6132361415e8416c0efec583b2a001005d51ff54f2eaed4d4 armebv7-eabihf--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--glibc--stable-2022.08-1.sha256 -sha256 ba6916b3045cdbaa251673acf1585254b929b2ee641282ce0c4d694211489fb4 armebv7-eabihf--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--musl--bleeding-edge-2022.08-1.sha256 -sha256 f33c5cdedb914e11f2c7c0095c476f410e0d1d231848b2efbac1cb53f0262625 armebv7-eabihf--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--musl--stable-2022.08-1.sha256 -sha256 7cec24dbf74fed46d461cc92aae0147069f13f1fa55ec76b317c2d3fa8398570 armebv7-eabihf--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 e469ec0b72464c8722cf51c2ed09fc435815b72a4e82011843ecba75d99c30f7 armebv7-eabihf--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--uclibc--stable-2022.08-1.sha256 -sha256 7f95f52d5a56f824269effc28cfbd9c8722de6d612899e888b5651c762a4d800 armebv7-eabihf--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 8eb72d7d9585b7305112d9c2ad3e6156b148f88acdf933381a414cb2c77ff797 armv7m--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--stable-2022.08-1.sha256 -sha256 f6ae943fe56fbda046b27015e5b1bab6fc647b29f65d2d1720afc43ab36e876e armv7m--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 cf4a2e56a0f325db586f80cef6bb252eff70d34981445e1bb77336fd03617df4 m68k-68xxx--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--stable-2022.08-1.sha256 -sha256 885983f2c4273934018ade58b33863b43bf69d05a95342526b4ef4da7bdd7ab0 m68k-68xxx--uclibc--stable-2022.08-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-2022.08-1.sha256 -sha256 e0af9e5a647b432c22693c6a7e7114ecd5475007b2b17d10075d61509246d81d microblazebe--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--stable-2022.08-1.sha256 -sha256 1b73e8ef541ab0a43314ec8354368adfb333657f3ae3e2ef4cb966721db2d068 microblazebe--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--bleeding-edge-2022.08-1.sha256 -sha256 8a2570a5f490249a7a02afef62c00140e2eb3fa2cdf41e5897f484e41f5c55a1 microblazebe--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--stable-2022.08-1.sha256 -sha256 90c26fedc85eba703e37e85036e284bb73475bb07d004ceedc27a4e64110ecad microblazebe--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 44b04fb51396e84b51f395bf1f08176b759cc8a85080980c45653ff0bd8b3602 microblazebe--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--stable-2022.08-1.sha256 -sha256 23189d4f0ec2a1de15d7e30e7d12327fe7c620b395b6e402b6be42c3ad148656 microblazebe--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--bleeding-edge-2022.08-1.sha256 -sha256 2371b597fad7ec6092e1417c21343cd78f59c0b68c189d77a306bfcebd1dda31 microblazeel--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--stable-2022.08-1.sha256 -sha256 9507f13355a37ab0401c3225251d9760a0e40475243744b2e9bd5f11113ca8a0 microblazeel--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--bleeding-edge-2022.08-1.sha256 -sha256 b67eef1613e960df351a4600c845d6ac24c60a3b2362f195c4b69bf21f7874e0 microblazeel--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--stable-2022.08-1.sha256 -sha256 44b767649a3d8a9546dd27c1b53aea8a3f106e99d9ae650e1746551c78f7cf8c microblazeel--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 08e0a44f0beb4675745d25a1f98afa31a672caec5150da73a8b23038e931426e microblazeel--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--stable-2022.08-1.sha256 -sha256 70883813924f9a1756e08258d8c41e06bb6d4e9571fdb020b2097dd4823ffb9f microblazeel--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--bleeding-edge-2022.08-1.sha256 -sha256 69f8608d78e295bc9c78a57f47d3f2aa1d74a8ee69307e1f112588dc08c29adc mips32--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--stable-2022.08-1.sha256 -sha256 27fdea806e3d02441ed034f500843b9137b34ec144cab9d2aeb991644f32af5b mips32--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--bleeding-edge-2022.08-1.sha256 -sha256 190023be69fdedbcc758184cbd02e0e64df99c5d1d2f9330c239c97cdca4928e mips32--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--stable-2022.08-1.sha256 -sha256 5e971b1420f29c5c694a93591f7eda5048d7dc792bff6d2117b6f2866970fd5a mips32--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 c937259732031ca4c640257774e80b0d6b42cc3e90e6677d6b3a014b0e3fd155 mips32--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--stable-2022.08-1.sha256 -sha256 e670cf475c47dabac6e8fb4ffc0df5bb9c4ffeb55aeff55099ffd0b969e919ce mips32--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--bleeding-edge-2022.08-1.sha256 -sha256 0984a478a526e943e22fbe979bd083acf34bcd99e1366c8aca11d4ed43af8b66 mips32el--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--stable-2022.08-1.sha256 -sha256 8e5d9b8ba0b4f7add2001143ffd92718c037c27aa2cef64d79aa577e6b0bf2e1 mips32el--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--bleeding-edge-2022.08-1.sha256 -sha256 89b6b64b9839c506e38e5c57d01de0a15018a6d82c41cc3b001708725032ecba mips32el--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--stable-2022.08-1.sha256 -sha256 ca6ddc1ec4b053116f854767c04c49ebd3442e15ad6529eaeafa4fd0272021ff mips32el--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 dd0d1144113a79aa32457d008302e11e354d949a63718f0984a5dbe185099275 mips32el--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--stable-2022.08-1.sha256 -sha256 f20f373afdec0e36afefd0b1eec7dfb9609e110ef19feb40df7e37196a23ccbf mips32el--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--bleeding-edge-2022.08-1.sha256 -sha256 dc6cee7db89c2263c8de0a8c902dabfed02186ccb9b6f643bf2b3fcaa6f694d3 mips32r5el--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--stable-2022.08-1.sha256 -sha256 d7e14faebf10897799426c8579b9e01c3479a290bb6b30ef37a2b4e1fbe4e440 mips32r5el--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--bleeding-edge-2022.08-1.sha256 -sha256 d6aa828f18fddb4a4bdb78720ac1ecca76f0a0941d2fc3854a75a10ffe5069f3 mips32r5el--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--stable-2022.08-1.sha256 -sha256 c29003698f82de6a6c5a3b4b4029e1a6f563d4417296941d84882f9e3cf4c573 mips32r5el--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 38fbc1b77e010723ef939ee52e6fc42adc0042139fe61f018c4b67767966e36f mips32r5el--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--stable-2022.08-1.sha256 -sha256 f04408f2903b0488392cc097062d0295d6d2d02000f09edfe63a33237a09695c mips32r5el--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--bleeding-edge-2022.08-1.sha256 -sha256 be3eb28eff19cfe7471e92716cfce112eddb13a27322f7abd0987b3864b33776 mips32r6el--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--stable-2022.08-1.sha256 -sha256 4c89db5c2548d1fda32c61f86399d5c53749becfb260e22776866b3b0343deed mips32r6el--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--bleeding-edge-2022.08-1.sha256 -sha256 4f3312d85183c8ac83e793ec4f8788053215381edca1904b1286bc0eca0dab36 mips32r6el--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--stable-2022.08-1.sha256 -sha256 46b7d074f395cf1264109b78053c944b54c580812999b017fee60ecf196efda6 mips32r6el--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 5adc9fffcca0e6ea08edccfc72ff5330ffd7949c0f236ff198f93afba29d308e mips32r6el--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--stable-2022.08-1.sha256 -sha256 03d90d509f745f29ad04ebc9ef29e38b8d015c25c5bb0d5e0ddd214a1d28b26d mips32r6el--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--bleeding-edge-2022.08-1.sha256 -sha256 764aef21ef143613595595ed0ff81491636b2381b77ef082dbb4a2e2f17542a8 mips64-n32--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--stable-2022.08-1.sha256 -sha256 4bc1a70194be6d87502f403ab59d95bfeacbdc3903f8b45464734f7447301cd3 mips64-n32--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--bleeding-edge-2022.08-1.sha256 -sha256 f50358647c98c6b4eb373e732187e3b405402487b5e55d2ef63481d4a4ed017b mips64-n32--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--stable-2022.08-1.sha256 -sha256 fa77ef0623b92baf20405cee90d52c6d91e2daddfed0a89a28b781fd36a4279c mips64-n32--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 f03f7070063921143cc01d9591b10abfa185617c71008adc2c7e059202d42c43 mips64-n32--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--stable-2022.08-1.sha256 -sha256 892f2e5912c48901e2c40df7eac1109d7fd02c6b2aa9b6c13d8659dae50e781f mips64-n32--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--bleeding-edge-2022.08-1.sha256 -sha256 5c9e79402471f35401ac8737fdee39156f1db1e72f5c9c4c2b4fea988fbc0c72 mips64el-n32--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--stable-2022.08-1.sha256 -sha256 59e2fe9b268fdbd8b4bcba14574c1293171675249a0e6913e1525adee66a7b36 mips64el-n32--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--bleeding-edge-2022.08-1.sha256 -sha256 c6c76749c40d41a020bf0943bb5f3d67ad0a9a9994a4883c73c7302944f87814 mips64el-n32--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--stable-2022.08-1.sha256 -sha256 6e0cd1b77c9333807fa575aff24a7274817840442f9cd32c653a70a07d3b5b55 mips64el-n32--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 b9c573bfbda5ba60bb80652879664cb0d515b179c9d06ca1321f506d26f7a7af mips64el-n32--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--stable-2022.08-1.sha256 -sha256 850817e5d1f99c11dae52abdd35518b855382587ffd4345c44131d26b04d6dcd mips64el-n32--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--bleeding-edge-2022.08-1.sha256 -sha256 a665beeacd598da7de8f4ae44b938fb374d4a301daeae99de14e67d3fd5696c0 mips64r6el-n32--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--stable-2022.08-1.sha256 -sha256 8a0f0a4fc4e1a09f20ec45005dcf6f074be416fa26838eb19831a47f00da6391 mips64r6el-n32--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--bleeding-edge-2022.08-1.sha256 -sha256 ed9b42fb60074f31664626796b1a47f9ec4b46a25dee78904dbda93613b50bae mips64r6el-n32--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--stable-2022.08-1.sha256 -sha256 03e4d97084f8f5cc7bb1452a862e1e3856b2a63b903779be0cda0577195603c0 mips64r6el-n32--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 e5aeb7b0bd9bbc5c283eeb28545f35f3fcec43e72ed9c7d0e8fa9fd112ec20eb mips64r6el-n32--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--stable-2022.08-1.sha256 -sha256 7d523cea26e84487860de83556c10d790876c98f27d9e7987c1b1ecdcc4a43e7 mips64r6el-n32--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--bleeding-edge-2022.08-1.sha256 -sha256 bbb95de0b45d06429b9212682df0392f1c8255aaae9febeef586ed556c0cb537 nios2--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--stable-2022.08-1.sha256 -sha256 bcc84bf3a37c1d19e4de21d0eee6848d9917b5cc6cba7e734ce2fffa4aefc2bd nios2--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--glibc--bleeding-edge-2022.08-1.sha256 -sha256 69461f231e4d994a6b0fa6dc2e71610037f277d7bccb7b43acef43a3245bff7f openrisc--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--glibc--stable-2022.08-1.sha256 -sha256 e8122c2b52ed2ebf7b65384f9fe0782b95cb541702341ea73046165acc80cf4b openrisc--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--bleeding-edge-2022.08-1.sha256 -sha256 562582da8b5a386624a7c18cbe0511f8f4bed206f2de7009e66b75214f56dd32 openrisc--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--stable-2022.08-1.sha256 -sha256 cf2b57067d9621f0eb74622412e8ca3eaa85e98a2044e5974cfc573eeb6cc8f0 openrisc--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 b9125cb9d238100a4ab88795f55d5e92e5cd43e302d7f306dbad0e1900976892 openrisc--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--stable-2022.08-1.sha256 -sha256 cdb6df4a341d8d30b005f8175fb79fdbb3fff08b363d83d2bf39bf216f22410f openrisc--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--bleeding-edge-2022.08-1.sha256 -sha256 d21b08f39f6f6b038fb37e3c71130c8db86c76a060b4b9980efd083bcb9c2b21 powerpc-440fp--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--stable-2022.08-1.sha256 -sha256 5d891f8fae87fcd0736e3250864bec3199a03bbce66c21a3b145e34de80c4c7a powerpc-440fp--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--bleeding-edge-2022.08-1.sha256 -sha256 322acf83e10c951ac8fa1b7826d4d0ae041c1a9ad2c1df45ea9cadf5cbb76922 powerpc-440fp--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--stable-2022.08-1.sha256 -sha256 60298c1c675467ccfef3d7021c7d16beff59c4bc10ff86b07b07ed9bc9342903 powerpc-440fp--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 dd3a795f3079d8f559bd81c5ea35b20355c0b2188a5d75c493f7a75da83fde6d powerpc-440fp--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--stable-2022.08-1.sha256 -sha256 61be67b9dc19e764791190d0cae4b23a620ccf9b1715e3e4700983a15ebdca49 powerpc-440fp--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--bleeding-edge-2022.08-1.sha256 -sha256 2b4feb8fe946c4571639590ad7972fccd860b153aa192826861f6a40ba46531f powerpc-e300c3--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--stable-2022.08-1.sha256 -sha256 f4fcbefcf0748198b0fed7b27a7f45023067b8550d1b29857e3de8b3e394d44e powerpc-e300c3--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--bleeding-edge-2022.08-1.sha256 -sha256 6e8e152d4bc58891c9b93b98e2d4a15ab26f9ceee00725092c0f9c2aff4ed503 powerpc-e300c3--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--stable-2022.08-1.sha256 -sha256 0c2418120d9b32faddb59570e18d700c5d17396e6287a368263b59eea1895f08 powerpc-e300c3--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 07a8e609ee1ab8b5aa4c8a2fa07a6c7a2ba47f387ef180e33f8b3972a976a138 powerpc-e300c3--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--stable-2022.08-1.sha256 -sha256 a755ab1c79099e089aa238ff5dc012fea756076fb60f39fbf53d151985825eb1 powerpc-e300c3--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--bleeding-edge-2022.08-1.sha256 -sha256 e932a8f76e00140b246ea3a925f6eafc4921cb974b527336ec737be9f1b7ff31 powerpc-e500mc--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--stable-2022.08-1.sha256 -sha256 fce8332a339732350350d06340003d450a7ba315cf8c03655be5377b953a843e powerpc-e500mc--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--bleeding-edge-2022.08-1.sha256 -sha256 33600548051fae6e44fbf34fcf2116ab0c8dc8db79e51d2ed8ffe23baac04447 powerpc-e500mc--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--stable-2022.08-1.sha256 -sha256 1c2fea3db1c5fb058b56739b2e716f8ce8e1e4a605e5a46c45abfcb1a36103ea powerpc-e500mc--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 6d622a86574d29b1e84aadad1a1a58737c9b0068fcb8093739684ceea949b089 powerpc-e500mc--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--stable-2022.08-1.sha256 -sha256 cd3c1a34d7825b268cf1a2aaa906aabcb6ea9a1cb3764efe5efad7d6d56567a4 powerpc-e500mc--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--bleeding-edge-2022.08-1.sha256 -sha256 d05d7d247d53b552fa3656384a4c4252a09aa3b58004854f315f2e576c833fe9 powerpc64-e5500--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--stable-2022.08-1.sha256 -sha256 d754ce34ea8d028abed71672c92530a4d1839e4108323f2ff7d6e71d60e4f23a powerpc64-e5500--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--bleeding-edge-2022.08-1.sha256 -sha256 f601c50d1d1eb6fc9d8162270c5fc631f86cc622d7d732100d2764a31a3a2c41 powerpc64-e6500--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--stable-2022.08-1.sha256 -sha256 3327d4b9c27a51efa6f5128d2f582c8685df1a5a095a7fd316ab78573d9d13ec powerpc64-e6500--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--bleeding-edge-2022.08-1.sha256 -sha256 ee6f75dfde53782763a9d39f8293f93b44e2e1685db967530c3b6011771337e3 powerpc64-e6500--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--stable-2022.08-1.sha256 -sha256 66e358b0a46593f32aab0aa942f327787f3d99a55c3ff063001cabcc04deb85c powerpc64-e6500--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--bleeding-edge-2022.08-1.sha256 -sha256 0cf79c59189f1c9e5b058986b5535b845c53d787a9879923b20ccd4b6561cc3c powerpc64-power8--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--stable-2022.08-1.sha256 -sha256 ece83b6b7ad026eb769d555264dc7565cb7c04f9742355a171882a1817e98b73 powerpc64-power8--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--bleeding-edge-2022.08-1.sha256 -sha256 3eade3adc05e3b09f7b65d31e724d37ceac7c81d78afecf3394a7ad0c84972b5 powerpc64-power8--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--stable-2022.08-1.sha256 -sha256 5196955f9f4b46d12d8e0211ae64902a73bc491cfced31e2d85865bda5ed3443 powerpc64-power8--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--bleeding-edge-2022.08-1.sha256 -sha256 9882709003776bf8da785a30bbd1b75b64d9752ef70bface22ff6434be136682 powerpc64le-power8--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--stable-2022.08-1.sha256 -sha256 37e404425c3d8176b3a19b5a2ae8b57460871f9aec4e6491ded638f5115f5081 powerpc64le-power8--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--bleeding-edge-2022.08-1.sha256 -sha256 9eb4ca911853d259228229490af9ae6eaf30d79b8d41a29f807cc27979cd9104 powerpc64le-power8--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--stable-2022.08-1.sha256 -sha256 c1bce8d56c1b667a382eccc4a061d35add21a68d7479e9c62f8c35271d8c5f32 powerpc64le-power8--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--bleeding-edge-2022.08-1.sha256 -sha256 47a4b8365d5d772de4b4b1100a221421c5a3cb8ff09d366d4578df2c0cdf23bb riscv32-ilp32d--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--bleeding-edge-2022.08-1.sha256 -sha256 a5ceafc2d1dbe2598ed9c8018f8f7108b7d5cb4847303842e924976a4cfe14be riscv64-lp64d--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2022.08-1.sha256 -sha256 556c860783c69f21d77be8b2856e7dd24f66b115775bb5ef6c8de5f4a6b1b861 riscv64-lp64d--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--musl--bleeding-edge-2022.08-1.sha256 -sha256 3e8d0ac53b9188d46630fe8ade2794e05ae9a2636a45c60b89b62ac1a3f6e6c5 riscv64-lp64d--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--musl--stable-2022.08-1.sha256 -sha256 fd2d6b2ac2b2e02caabd9fa43b506dcc87eb1afbe475999180891a5e0208c436 riscv64-lp64d--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 8469a9c7ec50a401fc6466e81dc0d7032648c4e7f1b602afcf5ddab2ffabaac4 riscv64-lp64d--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--uclibc--stable-2022.08-1.sha256 -sha256 002e98d438519f62a2b2de42acac226051b1887a98523f02d54322275c3ffd25 riscv64-lp64d--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs/s390x-z13--glibc--bleeding-edge-2022.08-1.sha256 -sha256 295e281935dd22433d1a819a7a010356fdf6e19cea27631fdc884d3251c344a0 s390x-z13--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs/s390x-z13--glibc--stable-2022.08-1.sha256 -sha256 965c7ab533e7e4812fc515badc595f0e4f79ab7986eef992889f6a1a225d4c19 s390x-z13--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--bleeding-edge-2022.08-1.sha256 -sha256 413703c54af9fdceb955a311f5db4f3fa34b4170dc5f12b99da3c464915bcbfa sh-sh4--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--stable-2022.08-1.sha256 -sha256 5084c4545a60bdec153bcef7dd52a824c3937c85686b223a6e92667d71850963 sh-sh4--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--bleeding-edge-2022.08-1.sha256 -sha256 243079028e9155c7dfcb1c67ae9bd42bfcb9d5a23f9e9078c9ca53613c5d607b sh-sh4--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--stable-2022.08-1.sha256 -sha256 46ad264d4074ca4ac0ab4acd244145e4820aef315a14bdd9a6e54e888c04b630 sh-sh4--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 7c7a009e0335396839ab1be8b7817084414792ef04aa25df4c178c9d2ec0aa13 sh-sh4--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--stable-2022.08-1.sha256 -sha256 1b1c22ebf92664df828151eaec3c7fe9a6bb1c48fa177c85a62418ec627b2756 sh-sh4--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--bleeding-edge-2022.08-1.sha256 -sha256 5765af1f25bcc34e31561b7cf955dabae5a3fb1650148a60915cbb4ccd87e49a sh-sh4aeb--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--stable-2022.08-1.sha256 -sha256 47f9694a263af6e943acf59d8da9af34b6f9a562d67883f4298b4cc4469fdcff sh-sh4aeb--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--bleeding-edge-2022.08-1.sha256 -sha256 fa519ec4e29701de84af63943c51c0f740620ce3577ae689d89c2a578ed425de sh-sh4aeb--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--stable-2022.08-1.sha256 -sha256 f3ca7d35bd5ce1b99dd1395b8f2a7c162b23a60eed6ae938cfa2fbd20d25a470 sh-sh4aeb--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--bleeding-edge-2022.08-1.sha256 -sha256 bb08735ffbb2c0e60bd5b1fa1d65fe44f7781a4c57872ede0797a9a495ed575e sparc64--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--stable-2022.08-1.sha256 -sha256 9c14934230a73f4ca99d4452dd0f24a033e3843fe2be28cb723f0d66635d4a4f sparc64--glibc--stable-2022.08-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-2022.08-1.sha256 -sha256 9a09ac03001ef2a6cab391cc658fc2a32730b6a8f25614e97a91b9a79537fe33 x86-64--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--stable-2022.08-1.sha256 -sha256 861c1e8ad0a66e4c28e7a1f8319d68080ab0ff8d16a765e65540f1957203a190 x86-64--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--bleeding-edge-2022.08-1.sha256 -sha256 18149a2d69d1cd392536a97f53d6a02b90887c7e8b86db871b80396d46b9142d x86-64--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--stable-2022.08-1.sha256 -sha256 6a47708f72d2c01721e31907ceb524b7980764d3546b9aca4a6804f6d8db2676 x86-64--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 ef40c02af986bb3e4d14c76a3bc60285f5249d0676fb01400081f87b2414438b x86-64--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--uclibc--stable-2022.08-1.sha256 -sha256 d4fbec618e17a70521c0b6339c9889f298b9806ee342e29ffe05ac76ee87c83c x86-64--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--glibc--bleeding-edge-2022.08-1.sha256 -sha256 7ac996b2ca1acdcdaddce38a3fd19bc30b864f6b73f8e6d0537243e912b5d36f x86-64-v2--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--glibc--stable-2022.08-1.sha256 -sha256 4313a04996173bd79935ffaec48b97ba7c32332880774ec61b40ab76804b8fbb x86-64-v2--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--musl--bleeding-edge-2022.08-1.sha256 -sha256 83c57b50ba00555c4e2d7fdfa700b69032f06bfe743b5022a69036b0f18fbfdf x86-64-v2--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--musl--stable-2022.08-1.sha256 -sha256 a76ebe570be5e74875d8f0b82aba3ad055679e734af5c6bdac036ef5f7c7b6fd x86-64-v2--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 ab395da0c3d64a8a7121f640d16c8e79d4c187dbd866b42e4456f8c26eeadf4a x86-64-v2--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--uclibc--stable-2022.08-1.sha256 -sha256 f64742f3c5cfdde7e068c3694e86d9df1b5a5ad8e4b0c9542c1e7de55951459a x86-64-v2--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--glibc--bleeding-edge-2022.08-1.sha256 -sha256 40196066dcd7b6d52b956de823f7840fcae76207030d885bb4d07b692505f71f x86-64-v3--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--glibc--stable-2022.08-1.sha256 -sha256 97e43a5e7059a6262278795a102c6b0a2895731ba6aba8125ccd8a354cc68216 x86-64-v3--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--musl--bleeding-edge-2022.08-1.sha256 -sha256 6a26d96022edde94de3b2ec9b414b2865cb99430b0eef4b3f263b0f0713875ac x86-64-v3--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--musl--stable-2022.08-1.sha256 -sha256 082b698fdf995806a4b94c30c7a3c90755747a5cbd73e5f89423052063c7b562 x86-64-v3--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 1102391f5c03c335f7a27d2bf67818f67b675768c9e4fb1beb826624cc468033 x86-64-v3--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--uclibc--stable-2022.08-1.sha256 -sha256 c9f0fb4ea32d5d878ef8b719b750904ad4779a01c54a186a05f0e15f5257a653 x86-64-v3--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--glibc--bleeding-edge-2022.08-1.sha256 -sha256 95d25e92e4b4d1b93da6667e61615457d2086efa2ea9f1fbd73404bcad1f3456 x86-64-v4--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--glibc--stable-2022.08-1.sha256 -sha256 93b31a24c7ec8b1d4fc8343edf506b78e2b15d017e7436bf28be4e888af183a1 x86-64-v4--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--musl--bleeding-edge-2022.08-1.sha256 -sha256 e67339ac587bc8815a2ee7fa2e74240ffacae75c26a785d4f3404766c550e15a x86-64-v4--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--musl--stable-2022.08-1.sha256 -sha256 d20b1866f77a9ea4789404610859ea08e76803bbfca3d92627c9a7ae036eb13f x86-64-v4--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 4c0ae459a70134fe61b0cb32bfb94e61504efd3e8860cc265dfb3043ec140929 x86-64-v4--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--uclibc--stable-2022.08-1.sha256 -sha256 bec5542fe02be69e4ef8d0722d3c920b64a06206adc580434f2d0088eaa9effa x86-64-v4--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--bleeding-edge-2022.08-1.sha256 -sha256 995dcaf678cf37b193be86ce6733c0402129fc22eee6a45f76acb86deb8c481d x86-64-core-i7--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--stable-2022.08-1.sha256 -sha256 7a31f72e6dc378eac8a97b0915b3619ba95c79f73046d052539c44f91bee9a02 x86-64-core-i7--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--bleeding-edge-2022.08-1.sha256 -sha256 2ff43343f39f99a238502293b6ce20b0324f850c1b606ad4772d7d54f2b73206 x86-64-core-i7--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--stable-2022.08-1.sha256 -sha256 fbfdf31724e24a19af4f83e3a9bc766f8fc455f4c4e912401aec1e81f2e71b4c x86-64-core-i7--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 86e9c65eebf909f7deae7d75ef3af4fc6bcee51ef21c92f0ed6fa1ae7206ae50 x86-64-core-i7--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--stable-2022.08-1.sha256 -sha256 cc06ac611d1930a4a87016adfabade8b3bba5ce6ed743a60059fee9d70634de5 x86-64-core-i7--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--bleeding-edge-2022.08-1.sha256 -sha256 3c828987dcd4be469dce355d44e0c42166ab9d939a99b8f1d1463b769f6ecbea x86-core2--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--stable-2022.08-1.sha256 -sha256 5bff24ea3e83207e91cae12ca5929da823f3caf2a035ed4995658a5b7b571ecb x86-core2--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--bleeding-edge-2022.08-1.sha256 -sha256 75b83133ba59c87bd060cd8f516df9685eaa70a7bda544447630c2c0b94dd1fb x86-core2--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--stable-2022.08-1.sha256 -sha256 61ee5639fa9fb5b454bd675061b539c51615b4e95c7939ca5ef4d46f4e9d8b31 x86-core2--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 5107c9a89a2162393c95d9aa63ea1c85892ea9cb1393556110af844f147f8bad x86-core2--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--stable-2022.08-1.sha256 -sha256 ce9bed3cc5d21f3b12b7780783b32498beae186e0693f57884d0cffff13d445f x86-core2--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2022.08-1.sha256 -sha256 6eda31bf8c4504f322e1e2689beb7172f831400061168a03c0c16956a777a806 x86-i686--glibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--stable-2022.08-1.sha256 -sha256 6364eb674e5594947cc658bd7ff4928624eb03a20469395a0be93761a804723b x86-i686--glibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--bleeding-edge-2022.08-1.sha256 -sha256 fd94a3905991bab90e5474e7407e6b593222e44947e70e9d0061f393ab420b0d x86-i686--musl--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--stable-2022.08-1.sha256 -sha256 7cc2a015e12ac0ae1bd2050e9078fbe87241de2e30ecd4b789ba494b08b3382a x86-i686--musl--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 c61f6090e96813417880150b8c89ad34502c74e5b69b640701e98378441d9cfc x86-i686--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--stable-2022.08-1.sha256 -sha256 a35b1f2d4ef5ce829d2211efb4735196c0c7dcb451d5d40089c126e8b8e6c02e x86-i686--uclibc--stable-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--bleeding-edge-2022.08-1.sha256 -sha256 a822972e8865b4bc9ad1a077c38fbe095c89ea018364411240da1183fcf7c2ad xtensa-lx60--uclibc--bleeding-edge-2022.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--stable-2022.08-1.sha256 -sha256 35df9b38a5b424cc7d18dd7d382a7962c813dcd19b0c6e9887e3fbb4e3a6d44d xtensa-lx60--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 230552af71..4a09fd8825 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk +++ b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk @@ -7,967 +7,1003 @@ # 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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-2 +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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-1 +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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-1 +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 = 2022.08-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 = 2022.08-1 +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 = 2022.08-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 = 2022.08-1 +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 = 2022.08-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 = 2022.08-1 +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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 @@ -985,265 +1021,265 @@ TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/relea endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-1 +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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 = 2022.08-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 d49c610237..0000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in +++ /dev/null @@ -1,66 +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_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - 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 3eaa2a9522..0000000000 --- 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 65e1861f12..0000000000 --- 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 55424918c7..0000000000 --- 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 720d705d14..0000000000 --- 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) - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - 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 464c9b8448..0000000000 --- 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 b07281de48..0000000000 --- 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 9bee1ab87d..0000000000 --- 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 8c0f985c5b..0000000000 --- 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 1eab839216..0000000000 --- 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 8f8fca0d0c..0000000000 --- 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 192763a0e0..0000000000 --- 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 aea2ba34f2..0000000000 --- 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 7f3654dc70..0000000000 --- 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 c01a7b17c5..0000000000 --- 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 f15a50c43e..0000000000 --- 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 0f4f5eef2e..5554d56719 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -162,8 +162,16 @@ 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 or later" + bool "6.4.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_3 diff --git a/utils/add-custom-hashes b/utils/add-custom-hashes new file mode 100755 index 0000000000..20e48d8ef3 --- /dev/null +++ b/utils/add-custom-hashes @@ -0,0 +1,103 @@ +#!/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 + +message Verifying hashes + +make clean +make BR2_DOWNLOAD_FORCE_CHECK_HASHES=y source diff --git a/utils/check-package b/utils/check-package index 3de3a72e0c..de41891b56 100755 --- a/utils/check-package +++ b/utils/check-package @@ -69,7 +69,7 @@ def parse_args(): 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) @@ -233,16 +233,18 @@ def check_file_using_lib(fname): nwarnings += warn lastline = "" - for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()): - nlines += 1 - for name, cf in objects: - if cf.disable.search(lastline): - continue - warn, fail = print_warnings(cf.check_line(lineno + 1, text), name in xfail) - if fail > 0: - failed.add(name) - nwarnings += warn - lastline = text + 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) diff --git a/utils/checkpackagelib/lib_mk.py b/utils/checkpackagelib/lib_mk.py index d340882971..ce2ab5157c 100644 --- a/utils/checkpackagelib/lib_mk.py +++ b/utils/checkpackagelib/lib_mk.py @@ -366,3 +366,76 @@ class VariableWithBraces(_CheckFunction): 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 1909d3acd0..b01d28a7e7 100644 --- a/utils/checkpackagelib/lib_patch.py +++ b/utils/checkpackagelib/lib_patch.py @@ -62,6 +62,7 @@ class Sob(_CheckFunction): "({}#_format_and_licensing_of_the_package_patches)" .format(self.filename, self.url_to_manual)] + class Upstream(_CheckFunction): UPSTREAM_ENTRY = re.compile(r"^Upstream: .*$") diff --git a/utils/checksymbolslib/br.py b/utils/checksymbolslib/br.py index 846a609829..f9dc336e64 100644 --- a/utils/checksymbolslib/br.py +++ b/utils/checksymbolslib/br.py @@ -36,11 +36,14 @@ symbols_defined_only_for_barebox_variant = [ ] # 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 = [ diff --git a/utils/docker-run b/utils/docker-run index ab95e61e84..79694474c1 100755 --- a/utils/docker-run +++ b/utils/docker-run @@ -9,18 +9,46 @@ else # Support git-worktree GIT_DIR="$(cd "${MAIN_DIR}" && git rev-parse --no-flags --git-common-dir)" fi -# 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') +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)" - --mount "type=bind,src=${MAIN_DIR},dst=${MAIN_DIR}" - --workdir "${MAIN_DIR}" + --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 @@ -31,9 +59,27 @@ if [ "${GIT_DIR}" ]; then # 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}")" - docker_opts+=( --mount "type=bind,src=${GIT_DIR},dst=${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 diff --git a/utils/genrandconfig b/utils/genrandconfig index 52edad06d8..5ebec415b5 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -315,6 +315,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 diff --git a/utils/readme.txt b/utils/readme.txt index 3e8833c4ea..6488d13c75 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/scanpypi b/utils/scanpypi index 3c98bb4bcc..5a58550145 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))