diff --git a/DEVELOPERS b/DEVELOPERS index ee840dbb8b..42fa5a4956 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1087,6 +1087,7 @@ N: Gwenhael Goavec-Merou F: package/gnuradio/ F: package/gqrx/ F: package/gr-osmosdr/ +F: package/librtlsdr/ F: package/libusbgx/ F: package/matio/ F: package/python-cheetah/ diff --git a/board/arcturus/aarch64-ucls1012a/post-build.sh b/board/arcturus/aarch64-ucls1012a/post-build.sh new file mode 100755 index 0000000000..f8ba78095f --- /dev/null +++ b/board/arcturus/aarch64-ucls1012a/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +mkdir -p ${TARGET_DIR}/lib/firmware +cp -f ${BUILD_DIR}/linux-custom/firmware/ppfe/* ${TARGET_DIR}/lib/firmware/ +cp -f ${BUILD_DIR}/linux-custom/br2-ucls1012a.its ${BINARIES_DIR}/ diff --git a/boot/optee-os/0003-mk-core-ta-Configurable-Python-interpreter.patch b/boot/optee-os/0003-mk-core-ta-Configurable-Python-interpreter.patch new file mode 100644 index 0000000000..911a09b986 --- /dev/null +++ b/boot/optee-os/0003-mk-core-ta-Configurable-Python-interpreter.patch @@ -0,0 +1,249 @@ +From 49c7d2557d92993a1e09e50c961b9d4f7ab1091b Mon Sep 17 00:00:00 2001 +From: Dick Olsson +Date: Wed, 22 Jul 2020 08:49:12 +0200 +Subject: [PATCH] mk: core: ta: Configurable Python interpreter + +Build systems that manage multiple different python interpreters need +explicit control over which version of the interpreter to use. +This patch enables one to override the default interpreter with the path +to a specific one. + +Signed-off-by: Dick Olsson +Reviewed-by: Jens Wiklander +Reviewed-by: Jerome Forissier +--- + core/arch/arm/arm.mk | 2 ++ + core/arch/arm/kernel/link.mk | 22 +++++++++++----------- + core/sub.mk | 10 +++++----- + mk/config.mk | 6 ++++++ + mk/lib.mk | 2 +- + ta/arch/arm/link.mk | 2 +- + ta/arch/arm/link_shlib.mk | 2 +- + ta/ta.mk | 2 +- + 8 files changed, 28 insertions(+), 20 deletions(-) + +diff --git a/core/arch/arm/arm.mk b/core/arch/arm/arm.mk +index 5c9f16ef..878035c5 100644 +--- a/core/arch/arm/arm.mk ++++ b/core/arch/arm/arm.mk +@@ -245,6 +245,7 @@ ta-mk-file-export-add-ta_arm32 += CROSS_COMPILE32 ?= $$(CROSS_COMPILE)_nl_ + ta-mk-file-export-add-ta_arm32 += CROSS_COMPILE_ta_arm32 ?= $$(CROSS_COMPILE32)_nl_ + ta-mk-file-export-add-ta_arm32 += COMPILER ?= gcc_nl_ + ta-mk-file-export-add-ta_arm32 += COMPILER_ta_arm32 ?= $$(COMPILER)_nl_ ++ta-mk-file-export-add-ta_arm32 += PYTHON3 ?= python3_nl_ + endif + + ifneq ($(filter ta_arm64,$(ta-targets)),) +@@ -275,6 +276,7 @@ ta-mk-file-export-add-ta_arm64 += CROSS_COMPILE64 ?= $$(CROSS_COMPILE)_nl_ + ta-mk-file-export-add-ta_arm64 += CROSS_COMPILE_ta_arm64 ?= $$(CROSS_COMPILE64)_nl_ + ta-mk-file-export-add-ta_arm64 += COMPILER ?= gcc_nl_ + ta-mk-file-export-add-ta_arm64 += COMPILER_ta_arm64 ?= $$(COMPILER)_nl_ ++ta-mk-file-export-add-ta_arm64 += PYTHON3 ?= python3_nl_ + endif + + # Set cross compiler prefix for each TA target +diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk +index 1b89b895..69375ad6 100644 +--- a/core/arch/arm/kernel/link.mk ++++ b/core/arch/arm/kernel/link.mk +@@ -62,13 +62,13 @@ cleanfiles += $(link-out-dir)/text_unpaged.ld.S + $(link-out-dir)/text_unpaged.ld.S: $(link-out-dir)/unpaged.o + @$(cmd-echo-silent) ' GEN $@' + $(q)$(READELFcore) -S -W $< | \ +- ./scripts/gen_ld_sects.py .text. > $@ ++ $(PYTHON3) ./scripts/gen_ld_sects.py .text. > $@ + + cleanfiles += $(link-out-dir)/rodata_unpaged.ld.S + $(link-out-dir)/rodata_unpaged.ld.S: $(link-out-dir)/unpaged.o + @$(cmd-echo-silent) ' GEN $@' + $(q)$(READELFcore) -S -W $< | \ +- ./scripts/gen_ld_sects.py .rodata. > $@ ++ $(PYTHON3) ./scripts/gen_ld_sects.py .rodata. > $@ + + + cleanfiles += $(link-out-dir)/init_entries.txt +@@ -92,12 +92,12 @@ cleanfiles += $(link-out-dir)/text_init.ld.S + $(link-out-dir)/text_init.ld.S: $(link-out-dir)/init.o + @$(cmd-echo-silent) ' GEN $@' + $(q)$(READELFcore) -S -W $< | \ +- ./scripts/gen_ld_sects.py .text. > $@ ++ $(PYTHON3) ./scripts/gen_ld_sects.py .text. > $@ + + cleanfiles += $(link-out-dir)/rodata_init.ld.S + $(link-out-dir)/rodata_init.ld.S: $(link-out-dir)/init.o + @$(cmd-echo-silent) ' GEN $@' +- $(q)$(READELFcore) -S -W $< | ./scripts/gen_ld_sects.py .rodata. > $@ ++ $(q)$(READELFcore) -S -W $< | $(PYTHON3) ./scripts/gen_ld_sects.py .rodata. > $@ + + -include $(link-script-dep) + +@@ -176,39 +176,39 @@ cleanfiles += $(link-out-dir)/tee-pager.bin + $(link-out-dir)/tee-pager.bin: $(link-out-dir)/tee.elf scripts/gen_tee_bin.py + @echo Warning: $@ is deprecated + @$(cmd-echo-silent) ' GEN $@' +- $(q)scripts/gen_tee_bin.py --input $< --out_tee_pager_bin $@ ++ $(q)$(PYTHON3) scripts/gen_tee_bin.py --input $< --out_tee_pager_bin $@ + + cleanfiles += $(link-out-dir)/tee-pageable.bin + $(link-out-dir)/tee-pageable.bin: $(link-out-dir)/tee.elf scripts/gen_tee_bin.py + @echo Warning: $@ is deprecated + @$(cmd-echo-silent) ' GEN $@' +- $(q)scripts/gen_tee_bin.py --input $< --out_tee_pageable_bin $@ ++ $(q)$(PYTHON3) scripts/gen_tee_bin.py --input $< --out_tee_pageable_bin $@ + + all: $(link-out-dir)/tee.bin + cleanfiles += $(link-out-dir)/tee.bin + $(link-out-dir)/tee.bin: $(link-out-dir)/tee.elf scripts/gen_tee_bin.py + @$(cmd-echo-silent) ' GEN $@' +- $(q)scripts/gen_tee_bin.py --input $< --out_tee_bin $@ ++ $(q)$(PYTHON3) scripts/gen_tee_bin.py --input $< --out_tee_bin $@ + + all: $(link-out-dir)/tee-header_v2.bin + cleanfiles += $(link-out-dir)/tee-header_v2.bin + $(link-out-dir)/tee-header_v2.bin: $(link-out-dir)/tee.elf \ + scripts/gen_tee_bin.py + @$(cmd-echo-silent) ' GEN $@' +- $(q)scripts/gen_tee_bin.py --input $< --out_header_v2 $@ ++ $(q)$(PYTHON3) scripts/gen_tee_bin.py --input $< --out_header_v2 $@ + + all: $(link-out-dir)/tee-pager_v2.bin + cleanfiles += $(link-out-dir)/tee-pager_v2.bin + $(link-out-dir)/tee-pager_v2.bin: $(link-out-dir)/tee.elf scripts/gen_tee_bin.py + @$(cmd-echo-silent) ' GEN $@' +- $(q)scripts/gen_tee_bin.py --input $< --out_pager_v2 $@ ++ $(q)$(PYTHON3) scripts/gen_tee_bin.py --input $< --out_pager_v2 $@ + + all: $(link-out-dir)/tee-pageable_v2.bin + cleanfiles += $(link-out-dir)/tee-pageable_v2.bin + $(link-out-dir)/tee-pageable_v2.bin: $(link-out-dir)/tee.elf \ + scripts/gen_tee_bin.py + @$(cmd-echo-silent) ' GEN $@' +- $(q)scripts/gen_tee_bin.py --input $< --out_pageable_v2 $@ ++ $(q)$(PYTHON3) scripts/gen_tee_bin.py --input $< --out_pageable_v2 $@ + + all: $(link-out-dir)/tee.symb_sizes + cleanfiles += $(link-out-dir)/tee.symb_sizes +@@ -222,5 +222,5 @@ mem_usage: $(link-out-dir)/tee.mem_usage + + $(link-out-dir)/tee.mem_usage: $(link-out-dir)/tee.elf + @$(cmd-echo-silent) ' GEN $@' +- $(q)./scripts/mem_usage.py $< > $@ ++ $(q)$(PYTHON3) ./scripts/mem_usage.py $< > $@ + endif +diff --git a/core/sub.mk b/core/sub.mk +index 03cc6bc7..0959c9a9 100644 +--- a/core/sub.mk ++++ b/core/sub.mk +@@ -9,13 +9,13 @@ ifeq ($(CFG_WITH_USER_TA),y) + gensrcs-y += ta_pub_key + produce-ta_pub_key = ta_pub_key.c + depends-ta_pub_key = $(TA_SIGN_KEY) scripts/pem_to_pub_c.py +-recipe-ta_pub_key = scripts/pem_to_pub_c.py --prefix ta_pub_key \ ++recipe-ta_pub_key = $(PYTHON3) scripts/pem_to_pub_c.py --prefix ta_pub_key \ + --key $(TA_SIGN_KEY) --out $(sub-dir-out)/ta_pub_key.c + + gensrcs-y += ldelf + produce-ldelf = ldelf_hex.c + depends-ldelf = scripts/gen_ldelf_hex.py $(out-dir)/ldelf/ldelf.elf +-recipe-ldelf = scripts/gen_ldelf_hex.py --input $(out-dir)/ldelf/ldelf.elf \ ++recipe-ldelf = $(PYTHON3) scripts/gen_ldelf_hex.py --input $(out-dir)/ldelf/ldelf.elf \ + --output $(sub-dir-out)/ldelf_hex.c + endif + +@@ -25,7 +25,7 @@ early-ta-$1-uuid := $(firstword $(subst ., ,$(notdir $1))) + gensrcs-y += early-ta-$1 + produce-early-ta-$1 = early_ta_$$(early-ta-$1-uuid).c + depends-early-ta-$1 = $1 scripts/ta_bin_to_c.py +-recipe-early-ta-$1 = scripts/ta_bin_to_c.py --compress --ta $1 \ ++recipe-early-ta-$1 = $(PYTHON3) scripts/ta_bin_to_c.py --compress --ta $1 \ + --out $(sub-dir-out)/early_ta_$$(early-ta-$1-uuid).c + endef + $(foreach f, $(EARLY_TA_PATHS), $(eval $(call process_early_ta,$(f)))) +@@ -40,7 +40,7 @@ core-embed-fdt-c = $(out-dir)/$(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=. + gensrcs-y += embedded_secure_dtb + produce-embedded_secure_dtb = arch/$(ARCH)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.c) + depends-embedded_secure_dtb = $(core-embed-fdt-dtb) scripts/bin_to_c.py +-recipe-embedded_secure_dtb = scripts/bin_to_c.py \ ++recipe-embedded_secure_dtb = $(PYTHON3) scripts/bin_to_c.py \ + --bin $(core-embed-fdt-dtb) \ + --vname embedded_secure_dtb \ + --out $(core-embed-fdt-c) +@@ -58,7 +58,7 @@ $(conf-mk-xz-base64): $(conf-mk-file) + gensrcs-y += conf_str + produce-conf_str = conf.mk.xz.base64.c + depends-conf_str = $(conf-mk-xz-base64) +-recipe-conf_str = scripts/bin_to_c.py --text --bin $(conf-mk-xz-base64) \ ++recipe-conf_str = $(PYTHON3) scripts/bin_to_c.py --text --bin $(conf-mk-xz-base64) \ + --out $(sub-dir-out)/conf.mk.xz.base64.c \ + --vname conf_str + endif +diff --git a/mk/config.mk b/mk/config.mk +index 70732c4d..1fe65576 100644 +--- a/mk/config.mk ++++ b/mk/config.mk +@@ -32,6 +32,12 @@ endif + # Supported values: undefined, 1, 2 and 3. 3 gives more warnings. + WARNS ?= 3 + ++# Path to the Python interpreter used by the build system. ++# This variable is set to the default python3 interpreter in the user's ++# path. But build environments that require more explicit control can ++# set the path to a specific interpreter through this variable. ++PYTHON3 ?= python3 ++ + # Define DEBUG=1 to compile without optimization (forces -O0) + # DEBUG=1 + +diff --git a/mk/lib.mk b/mk/lib.mk +index 6e890893..3bd422d6 100644 +--- a/mk/lib.mk ++++ b/mk/lib.mk +@@ -72,7 +72,7 @@ $(lib-shlibstrippedfile): $(lib-shlibfile) + + $(lib-shlibtafile): $(lib-shlibstrippedfile) $(TA_SIGN_KEY) + @$(cmd-echo-silent) ' SIGN $$@' +- $$(q)$$(SIGN) --key $(TA_SIGN_KEY) --uuid $(libuuid) --in $$< --out $$@ ++ $$(q)$$(PYTHON3) $$(SIGN) --key $(TA_SIGN_KEY) --uuid $(libuuid) --in $$< --out $$@ + + $(lib-libuuidln): $(lib-shlibfile) + @$(cmd-echo-silent) ' LN $$@' +diff --git a/ta/arch/arm/link.mk b/ta/arch/arm/link.mk +index db7d0b9a..b95c0cba 100644 +--- a/ta/arch/arm/link.mk ++++ b/ta/arch/arm/link.mk +@@ -2,7 +2,7 @@ link-script$(sm) = $(ta-dev-kit-dir$(sm))/src/ta.ld.S + link-script-pp$(sm) = $(link-out-dir$(sm))/ta.lds + link-script-dep$(sm) = $(link-out-dir$(sm))/.ta.ld.d + +-SIGN_ENC ?= $(ta-dev-kit-dir$(sm))/scripts/sign_encrypt.py ++SIGN_ENC ?= $(PYTHON3) $(ta-dev-kit-dir$(sm))/scripts/sign_encrypt.py + TA_SIGN_KEY ?= $(ta-dev-kit-dir$(sm))/keys/default_ta.pem + + ifeq ($(CFG_ENCRYPT_TA),y) +diff --git a/ta/arch/arm/link_shlib.mk b/ta/arch/arm/link_shlib.mk +index ed81e59a..cc177ef0 100644 +--- a/ta/arch/arm/link_shlib.mk ++++ b/ta/arch/arm/link_shlib.mk +@@ -47,5 +47,5 @@ $(link-out-dir)/$(shlibuuid).elf: $(link-out-dir)/$(shlibname).so + $(link-out-dir)/$(shlibuuid).ta: $(link-out-dir)/$(shlibname).stripped.so \ + $(TA_SIGN_KEY) + @$(cmd-echo-silent) ' SIGN $@' +- $(q)$(SIGN) --key $(TA_SIGN_KEY) --uuid $(shlibuuid) \ ++ $(q)$(PYTHON3) $(SIGN) --key $(TA_SIGN_KEY) --uuid $(shlibuuid) \ + --in $< --out $@ +diff --git a/ta/ta.mk b/ta/ta.mk +index 918880f4..59ed87f7 100644 +--- a/ta/ta.mk ++++ b/ta/ta.mk +@@ -67,7 +67,7 @@ $$(arm32-user-sysregs-out)/$$(arm32-user-sysregs-$(1)-h): \ + $(1) scripts/arm32_sysreg.py + @$(cmd-echo-silent) ' GEN $$@' + $(q)mkdir -p $$(dir $$@) +- $(q)scripts/arm32_sysreg.py --guard __$$(arm32-user-sysregs-$(1)-h) \ ++ $(q)$(PYTHON3) scripts/arm32_sysreg.py --guard __$$(arm32-user-sysregs-$(1)-h) \ + < $$< > $$@ + + endef #process-arm32-user-sysreg +-- +2.20.1 + diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk index c6d1bbd48a..03ce08ffb2 100644 --- a/boot/optee-os/optee-os.mk +++ b/boot/optee-os/optee-os.mk @@ -21,7 +21,7 @@ else OPTEE_OS_SITE = $(call github,OP-TEE,optee_os,$(OPTEE_OS_VERSION)) endif -OPTEE_OS_DEPENDENCIES = host-openssl host-python-pycryptodomex host-python-pyelftools +OPTEE_OS_DEPENDENCIES = host-openssl host-python3 host-python3-pycryptodomex host-python3-pyelftools # On 64bit targets, OP-TEE OS can be built in 32bit mode, or # can be built in 64bit mode and support 32bit and 64bit @@ -32,7 +32,8 @@ OPTEE_OS_MAKE_OPTS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ CROSS_COMPILE_core="$(TARGET_CROSS)" \ CROSS_COMPILE_ta_arm64="$(TARGET_CROSS)" \ - CROSS_COMPILE_ta_arm32="$(TARGET_CROSS)" + CROSS_COMPILE_ta_arm32="$(TARGET_CROSS)" \ + PYTHON3="$(HOST_DIR)/bin/python3" ifeq ($(BR2_aarch64),y) OPTEE_OS_MAKE_OPTS += \ diff --git a/configs/arcturus_ucls1012a_defconfig b/configs/arcturus_ucls1012a_defconfig index fceaed0db7..fd33ebf1f6 100644 --- a/configs/arcturus_ucls1012a_defconfig +++ b/configs/arcturus_ucls1012a_defconfig @@ -1,20 +1,21 @@ # Architecture BR2_aarch64=y -# Linux headers same as kernel, a 4.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y # System settings BR2_TARGET_GENERIC_HOSTNAME="ucls1012a" BR2_TARGET_GENERIC_ISSUE="Welcome to uCLS1012A-SOM" BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_OVERLAY="board/arcturus/aarch64-ucls1012a/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/arcturus/aarch64-ucls1012a/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/arcturus/aarch64-ucls1012a/post-image.sh" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,ArcturusNetworks,uCLS1012A-kernel,v0.2.1935)/linux-v0.2.1935.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,ArcturusNetworks,uCLS1012A-kernel,v.20.31)/linux-v.20.31.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="ucls1012a" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="arcturus/arc-ucls1012a" @@ -27,7 +28,7 @@ BR2_TARGET_ROOTFS_CPIO_GZIP=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,ArcturusNetworks,uCLS1012A-uboot,v0.2.1935)/uboot-v0.2.1935.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,ArcturusNetworks,uCLS1012A-uboot,v.20.31)/uboot-v.20.31.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="UCLS1012A_QSPI128" # Tools diff --git a/configs/ci20_defconfig b/configs/ci20_defconfig index 8f2604b07c..076f21bdfe 100644 --- a/configs/ci20_defconfig +++ b/configs/ci20_defconfig @@ -2,9 +2,8 @@ BR2_mipsel=y BR2_mips_xburst=y # BR2_MIPS_SOFT_FLOAT is not set - -# Linux headers same as kernel, a 3.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y +BR2_KERNEL_HEADERS_AS_KERNEL=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttyS4" @@ -15,19 +14,17 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci20/genimage.cfg" # kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,MIPS,CI20_linux,7dff33297116643485ca37141d804eddd793e834)/linux-7dff33297116643485ca37141d804eddd793e834.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.58" BR2_LINUX_KERNEL_DEFCONFIG="ci20" BR2_LINUX_KERNEL_INSTALL_TARGET=y # u-boot BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY=y -BR2_TARGET_UBOOT_BOARDNAME="ci20_mmc" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_u-boot" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="dd3c1b95dac7d10b2ca5806f65e5c1050d7dd0fa" -BR2_TARGET_UBOOT_PATCH="board/ci20/patches/uboot" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ci20_mmc" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin" diff --git a/configs/globalscale_espressobin_defconfig b/configs/globalscale_espressobin_defconfig index c0b9f69559..50cfc6b530 100644 --- a/configs/globalscale_espressobin_defconfig +++ b/configs/globalscale_espressobin_defconfig @@ -14,6 +14,7 @@ BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/globalscale/espressobin/linux-extr BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-3720-espressobin marvell/armada-3720-espressobin-emmc marvell/armada-3720-espressobin-v7 marvell/armada-3720-espressobin-v7-emmc" BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # Filesystem BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Marvell ESPRESSObin" diff --git a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig index 200b365353..031a533bc9 100644 --- a/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig +++ b/configs/microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig @@ -50,7 +50,7 @@ BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_DTC=y BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_ARGP_STANDALONE=y -BR2_PACKAGE_BLUEZ_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y BR2_PACKAGE_ETHTOOL=y diff --git a/configs/nitrogen6sx_defconfig b/configs/nitrogen6sx_defconfig index f151d4dc08..d5bf87b086 100644 --- a/configs/nitrogen6sx_defconfig +++ b/configs/nitrogen6sx_defconfig @@ -40,3 +40,4 @@ BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-nitrogen6sx imx6sx-nitrogen6sx-m4" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/nitrogen6x_defconfig b/configs/nitrogen6x_defconfig index 9c24dadbc0..01d49bb09c 100644 --- a/configs/nitrogen6x_defconfig +++ b/configs/nitrogen6x_defconfig @@ -40,3 +40,4 @@ BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-nit6xlite imx6dl-nitrogen6_vm imx6dl-nitrogen6x imx6q-nitrogen6x imx6dl-nitrogen6_som2 imx6q-nitrogen6_som2 imx6qp-nitrogen6_som2 imx6q-nitrogen6_max imx6qp-nitrogen6_max imx6q-sabrelite" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/nitrogen7_defconfig b/configs/nitrogen7_defconfig index 2a1ff2ecc1..4178ca9787 100644 --- a/configs/nitrogen7_defconfig +++ b/configs/nitrogen7_defconfig @@ -39,3 +39,4 @@ BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-nitrogen7 imx7d-nitrogen7-m4" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/nitrogen8m_defconfig b/configs/nitrogen8m_defconfig index 54473203a5..6e104ce84c 100644 --- a/configs/nitrogen8m_defconfig +++ b/configs/nitrogen8m_defconfig @@ -54,3 +54,4 @@ BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-nitrogen8m freescale/imx8mq-nitrogen8m-m4 freescale/imx8mq-nitrogen8m_som freescale/imx8mq-nitrogen8m_som-m4" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/nitrogen8mm_defconfig b/configs/nitrogen8mm_defconfig index b1ebb45438..2560b36c7b 100644 --- a/configs/nitrogen8mm_defconfig +++ b/configs/nitrogen8mm_defconfig @@ -54,3 +54,4 @@ BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-nitrogen8mm freescale/imx8mm-nitrogen8mm-m4 freescale/imx8mm-nitrogen8mm_rev2 freescale/imx8mm-nitrogen8mm_rev2-m4 freescale/imx8mm-nitrogen8mm_som freescale/imx8mm-nitrogen8mm_som-m4" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/nitrogen8mn_defconfig b/configs/nitrogen8mn_defconfig index 3b441d723a..cb5cc24806 100644 --- a/configs/nitrogen8mn_defconfig +++ b/configs/nitrogen8mn_defconfig @@ -54,3 +54,4 @@ BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-nitrogen8_nano freescale/imx8mn-nitrogen8mn freescale/imx8mn-nitrogen8mn_som" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_arm_vexpress_tz_defconfig b/configs/qemu_arm_vexpress_tz_defconfig index 37244cc969..7ded044016 100644 --- a/configs/qemu_arm_vexpress_tz_defconfig +++ b/configs/qemu_arm_vexpress_tz_defconfig @@ -27,7 +27,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca15_a7" # TF-A for booting OP-TEE secure and uboot/linux non secure BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.2" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y @@ -40,13 +40,6 @@ BR2_PACKAGE_OPTEE_BENCHMARK=y BR2_PACKAGE_OPTEE_EXAMPLES=y BR2_PACKAGE_OPTEE_TEST=y -# OP-TEE components needs host-python3 interpreter and its modules -BR2_PACKAGE_HOST_PYTHON3=y -# Select python3 on the target to make sure Buildroot builds host-python using -# python3 and builds all host-python modules for python3. -BR2_TOOLCHAIN_BUILDROOT_WCHAR=y -BR2_PACKAGE_PYTHON3=y - # U-boot for booting the dear Linux kernel BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/package/aircrack-ng/0001-Expand-packed-definition.patch b/package/aircrack-ng/0001-Expand-packed-definition.patch new file mode 100644 index 0000000000..f0c033a1aa --- /dev/null +++ b/package/aircrack-ng/0001-Expand-packed-definition.patch @@ -0,0 +1,26 @@ +From d4496006ac1e0c99908108b998ae39afb0658733 Mon Sep 17 00:00:00 2001 +From: Joseph Benden +Date: Tue, 7 Jul 2020 11:42:40 -0700 +Subject: [PATCH] Expand __packed definition. + +Signed-off-by: Joseph Benden +[Retrieved from: +https://github.com/aircrack-ng/aircrack-ng/commit/d4496006ac1e0c99908108b998ae39afb0658733] +Signed-off-by: Fabrice Fontaine +--- + lib/radiotap/radiotap.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/radiotap/radiotap.h b/lib/radiotap/radiotap.h +index 57f784b8d..bb5a41dfc 100644 +--- a/lib/radiotap/radiotap.h ++++ b/lib/radiotap/radiotap.h +@@ -56,7 +56,7 @@ struct ieee80211_radiotap_header { + * @it_present: (first) present word + */ + uint32_t it_present; +-} __packed; ++} __attribute__((__packed__)); + + /* version is always 0 */ + #define PKTHDR_RADIOTAP_VERSION 0 diff --git a/package/aircrack-ng/0002-Fix-duplicated-symbols.patch b/package/aircrack-ng/0002-Fix-duplicated-symbols.patch new file mode 100644 index 0000000000..f181580808 --- /dev/null +++ b/package/aircrack-ng/0002-Fix-duplicated-symbols.patch @@ -0,0 +1,74 @@ +From f6f1396807607f5649d20631db517cfca3a1f5c4 Mon Sep 17 00:00:00 2001 +From: Joseph Benden +Date: Tue, 7 Jul 2020 11:44:40 -0700 +Subject: [PATCH] Fix duplicated symbols. + +Signed-off-by: Joseph Benden +[Retrieved from: +https://github.com/aircrack-ng/aircrack-ng/commit/f6f1396807607f5649d20631db517cfca3a1f5c4] +Signed-off-by: Fabrice Fontaine +--- + src/airodump-ng/airodump-ng.c | 2 -- + src/airventriloquist-ng/airventriloquist-ng.c | 6 +++--- + src/tkiptun-ng/tkiptun-ng.c | 4 ++-- + 3 files changed, 5 insertions(+), 7 deletions(-) + +diff --git a/src/airodump-ng/airodump-ng.c b/src/airodump-ng/airodump-ng.c +index 3ae6994dd..e72bc88e2 100644 +--- a/src/airodump-ng/airodump-ng.c ++++ b/src/airodump-ng/airodump-ng.c +@@ -92,8 +92,6 @@ + #include "radiotap/radiotap_iter.h" + + struct devices dev; +-uint8_t h80211[4096] __attribute__((aligned(16))); +-uint8_t tmpbuf[4096] __attribute__((aligned(16))); + + static const unsigned char llcnull[] = {0, 0, 0, 0}; + +diff --git a/src/airventriloquist-ng/airventriloquist-ng.c b/src/airventriloquist-ng/airventriloquist-ng.c +index ac6b7647e..267d95540 100644 +--- a/src/airventriloquist-ng/airventriloquist-ng.c ++++ b/src/airventriloquist-ng/airventriloquist-ng.c +@@ -173,7 +173,7 @@ static struct local_options + } lopt; + + struct devices dev; +-struct wif *_wi_in, *_wi_out; ++extern struct wif *_wi_in, *_wi_out; + + struct ARP_req + { +@@ -195,8 +195,8 @@ struct APt + }; + + unsigned long nb_pkt_sent; +-u_int8_t h80211[4096]; +-static u_int8_t tmpbuf[4096]; ++extern u_int8_t h80211[4096]; ++extern u_int8_t tmpbuf[4096]; + + static int tcp_test(const char * ip_str, const short port) + { +diff --git a/src/tkiptun-ng/tkiptun-ng.c b/src/tkiptun-ng/tkiptun-ng.c +index dc67f5d58..43db0bc23 100644 +--- a/src/tkiptun-ng/tkiptun-ng.c ++++ b/src/tkiptun-ng/tkiptun-ng.c +@@ -267,7 +267,7 @@ static struct local_options + + // unused, but needed for link + struct devices dev; +-struct wif *_wi_in, *_wi_out; ++extern struct wif *_wi_in, *_wi_out; + + struct ARP_req + { +@@ -289,7 +289,7 @@ struct APt + }; + + unsigned long nb_pkt_sent; +-unsigned char h80211[4096]; ++extern unsigned char h80211[4096]; + static unsigned char srcbuf[4096]; + static char strbuf[512]; + static int alarmed; diff --git a/package/apache/apache.hash b/package/apache/apache.hash index 7b0e4ad8e7..bd3f6ac7ba 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,4 +1,5 @@ -# From http://archive.apache.org/dist/httpd/httpd-2.4.43.tar.bz2.sha256 -sha256 a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43 httpd-2.4.43.tar.bz2 +# From http://archive.apache.org/dist/httpd/httpd-2.4.46.tar.bz2.{sha256,sha512} +sha256 740eddf6e1c641992b22359cabc66e6325868c3c5e2e3f98faf349b61ecf41ea httpd-2.4.46.tar.bz2 +sha512 5936784bb662e9d8a4f7fe38b70c043b468114d931cd10ea831bfe74461ea5856b64f88f42c567ab791fc8907640a99884ba4b6a600f86d661781812735b6f13 httpd-2.4.46.tar.bz2 # Locally computed sha256 47b8c2b6c3309282a99d4a3001575c790fead690cc14734628c4667d2bbffc43 LICENSE diff --git a/package/apache/apache.mk b/package/apache/apache.mk index 068f36e325..203d637fbb 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.43 +APACHE_VERSION = 2.4.46 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 APACHE_SITE = http://archive.apache.org/dist/httpd APACHE_LICENSE = Apache-2.0 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 new file mode 100644 index 0000000000..c0ae042b01 --- /dev/null +++ b/package/atest/0001-seq.h-fix-build-with-gcc-10.patch @@ -0,0 +1,40 @@ +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/boost/boost.mk b/package/boost/boost.mk index ef638fc9df..323802488d 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -134,6 +134,7 @@ define BOOST_CONFIGURE_CMDS (cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS)) echo "using gcc : `$(TARGET_CC) -dumpversion` : $(TARGET_CXX) : \"$(BOOST_TARGET_CXXFLAGS)\" \"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam echo "" >> $(@D)/user-config.jam + sed -i "s/: -O.* ;/: $(TARGET_OPTIMIZATION) ;/" $(@D)/tools/build/src/tools/gcc.jam endef define BOOST_BUILD_CMDS diff --git a/package/collectd/Config.in b/package/collectd/Config.in index 276ad17329..cd5d876e80 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -572,6 +572,7 @@ config BR2_PACKAGE_COLLECTD_GRPC depends on BR2_INSTALL_LIBSTDCPP # grpc -> protobuf depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # grpc -> protobuf depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # grpc -> protobuf + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc select BR2_PACKAGE_GRPC help Send/receive values using the gRPC protocol. @@ -580,6 +581,7 @@ comment "grpc needs a toolchain w/ C++, gcc >= 4.8" depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc config BR2_PACKAGE_COLLECTD_MQTT bool "mqtt" diff --git a/package/efl/efl.mk b/package/efl/efl.mk index 6dc38b1626..b8c4a506ad 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -29,6 +29,7 @@ EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \ # elua=true: build elua for the target. # sdl=false: disable sdl2 support. # embedded-lz4=false: use liblz4 from lz4 package. +# native-arch-optimization=false: avoid optimization flags added by meson. # network-backend=none: disable connman networkmanager. EFL_CONF_OPTS = \ -Davahi=false \ @@ -39,6 +40,7 @@ EFL_CONF_OPTS = \ -Delua=true \ -Dembedded-lz4=false \ -Dlua-interpreter=luajit \ + -Dnative-arch-optimization=false \ -Dnetwork-backend=none \ -Dpixman=false \ -Dsdl=false \ diff --git a/package/f2fs-tools/0002-fsck.f2fs-correct-return-value.patch b/package/f2fs-tools/0002-fsck.f2fs-correct-return-value.patch new file mode 100644 index 0000000000..b420e27a0e --- /dev/null +++ b/package/f2fs-tools/0002-fsck.f2fs-correct-return-value.patch @@ -0,0 +1,195 @@ +From eee12fe5e2e6c5f71bc7cbe25a608b730fd5362e Mon Sep 17 00:00:00 2001 +From: Chao Yu +Date: Fri, 7 Aug 2020 10:02:31 +0800 +Subject: [PATCH] fsck.f2fs: correct return value +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As Norbert Lange reported: + +" +$ fsck.f2fs -a /dev/mmcblk0p5; echo $? +Info: Fix the reported corruption. +Info: Mounted device! +Info: Check FS only on RO mounted device +Error: Failed to open the device! +255 +" + +Michael Laß reminds: + +" +I think the return value is exactly the problem here. See fsck(8) ( +https://linux.die.net/man/8/fsck) which specifies the return values. +Systemd looks at these and decides how to proceed: + +https://github.com/systemd/systemd/blob/a859abf062cef1511e4879c4ee39c6036ebeaec8/src/fsck/fsck.c#L407 + +That means, if fsck.f2fs returns 255, then +the FSCK_SYSTEM_SHOULD_REBOOT bit is set and systemd will reboot. +" + +So the problem here is fsck.f2fs didn't return correct value to userspace +apps, result in later unexpected behavior of rebooting, let's fix this. + +Reported-by: Norbert Lange +Reported-by: Michael Laß +Signed-off-by: Chao Yu +Signed-off-by: Norbert Lange +--- + fsck/fsck.h | 11 +++++++++++ + fsck/main.c | 45 +++++++++++++++++++++++++++++++-------------- + 2 files changed, 42 insertions(+), 14 deletions(-) + +diff --git a/fsck/fsck.h b/fsck/fsck.h +index ccf4a39..c8aeb06 100644 +--- a/fsck/fsck.h ++++ b/fsck/fsck.h +@@ -13,6 +13,17 @@ + + #include "f2fs.h" + ++enum { ++ FSCK_SUCCESS = 0, ++ FSCK_ERROR_CORRECTED = 1 << 0, ++ FSCK_SYSTEM_SHOULD_REBOOT = 1 << 1, ++ FSCK_ERRORS_LEFT_UNCORRECTED = 1 << 2, ++ FSCK_OPERATIONAL_ERROR = 1 << 3, ++ FSCK_USAGE_OR_SYNTAX_ERROR = 1 << 4, ++ FSCK_USER_CANCELLED = 1 << 5, ++ FSCK_SHARED_LIB_ERROR = 1 << 7, ++}; ++ + struct quota_ctx; + + #define FSCK_UNMATCHED_EXTENT 0x00000001 +diff --git a/fsck/main.c b/fsck/main.c +index 8c62a14..b0f2ec3 100644 +--- a/fsck/main.c ++++ b/fsck/main.c +@@ -591,7 +591,7 @@ void f2fs_parse_options(int argc, char *argv[]) + error_out(prog); + } + +-static void do_fsck(struct f2fs_sb_info *sbi) ++static int do_fsck(struct f2fs_sb_info *sbi) + { + struct f2fs_checkpoint *ckpt = F2FS_CKPT(sbi); + u32 flag = le32_to_cpu(ckpt->ckpt_flags); +@@ -614,7 +614,7 @@ static void do_fsck(struct f2fs_sb_info *sbi) + } else { + MSG(0, "[FSCK] F2FS metadata [Ok..]"); + fsck_free(sbi); +- return; ++ return FSCK_SUCCESS; + } + + if (!c.ro) +@@ -646,7 +646,7 @@ static void do_fsck(struct f2fs_sb_info *sbi) + ret = quota_init_context(sbi); + if (ret) { + ASSERT_MSG("quota_init_context failure: %d", ret); +- return; ++ return FSCK_OPERATIONAL_ERROR; + } + } + fsck_chk_orphan_node(sbi); +@@ -654,8 +654,14 @@ static void do_fsck(struct f2fs_sb_info *sbi) + F2FS_FT_DIR, TYPE_INODE, &blk_cnt, NULL); + fsck_chk_quota_files(sbi); + +- fsck_verify(sbi); ++ ret = fsck_verify(sbi); + fsck_free(sbi); ++ ++ if (!c.bug_on) ++ return FSCK_SUCCESS; ++ if (!ret) ++ return FSCK_ERROR_CORRECTED; ++ return FSCK_ERRORS_LEFT_UNCORRECTED; + } + + static void do_dump(struct f2fs_sb_info *sbi) +@@ -763,7 +769,7 @@ static int do_sload(struct f2fs_sb_info *sbi) + int main(int argc, char **argv) + { + struct f2fs_sb_info *sbi; +- int ret = 0; ++ int ret = 0, ret2; + clock_t start = clock(); + + f2fs_init_configuration(); +@@ -771,10 +777,15 @@ int main(int argc, char **argv) + f2fs_parse_options(argc, argv); + + if (c.func != DUMP && f2fs_devs_are_umounted() < 0) { +- if (errno == EBUSY) ++ if (errno == EBUSY) { ++ if (c.func == FSCK) ++ return FSCK_OPERATIONAL_ERROR; + return -1; ++ } + if (!c.ro || c.func == DEFRAG) { + MSG(0, "\tError: Not available on mounted device!\n"); ++ if (c.func == FSCK) ++ return FSCK_OPERATIONAL_ERROR; + return -1; + } + +@@ -789,8 +800,11 @@ int main(int argc, char **argv) + } + + /* Get device */ +- if (f2fs_get_device_info() < 0) ++ if (f2fs_get_device_info() < 0) { ++ if (c.func == FSCK) ++ return FSCK_OPERATIONAL_ERROR; + return -1; ++ } + + fsck_again: + memset(&gfsck, 0, sizeof(gfsck)); +@@ -808,7 +822,7 @@ fsck_again: + + switch (c.func) { + case FSCK: +- do_fsck(sbi); ++ ret = do_fsck(sbi); + break; + #ifdef WITH_DUMP + case DUMP: +@@ -856,8 +870,8 @@ fsck_again: + char ans[255] = {0}; + retry: + printf("Do you want to fix this partition? [Y/N] "); +- ret = scanf("%s", ans); +- ASSERT(ret >= 0); ++ ret2 = scanf("%s", ans); ++ ASSERT(ret2 >= 0); + if (!strcasecmp(ans, "y")) + c.fix_on = 1; + else if (!strcasecmp(ans, "n")) +@@ -869,12 +883,15 @@ retry: + goto fsck_again; + } + } +- ret = f2fs_finalize_device(); +- if (ret < 0) +- return ret; ++ ret2 = f2fs_finalize_device(); ++ if (ret2) { ++ if (c.func == FSCK) ++ return FSCK_OPERATIONAL_ERROR; ++ return ret2; ++ } + + printf("\nDone: %lf secs\n", (clock() - start) / (double)CLOCKS_PER_SEC); +- return 0; ++ return ret; + + out_err: + if (sbi->ckpt) +-- +2.27.0 + diff --git a/package/feh/feh.hash b/package/feh/feh.hash index eea32dbca5..20916af640 100644 --- a/package/feh/feh.hash +++ b/package/feh/feh.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature sha256 782463034ab0135bc8438515191f986db23a79d502154d23a7c07a7574907b7b feh-3.4.1.tar.bz2 -sha256 a289176a74d8e5d071456df5d4ee629aeb86f8eeeb6570076fe126f182c6b91d COPYING +sha256 2c3a31327dc3cc3331aa6e759d378e4f66d0ece7174a0d5aa137f3cba4bf0509 COPYING diff --git a/package/fping/fping.hash b/package/fping/fping.hash index 0aa0330b5a..0b2233f379 100644 --- a/package/fping/fping.hash +++ b/package/fping/fping.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 7d339674b6a95aae1d8ad487ff5056fd95b474c3650938268f6a905c3771b64a fping-4.2.tar.gz +sha256 ed38c0b9b64686a05d1b3bc1d66066114a492e04e44eef1821d43b1263cd57b8 fping-5.0.tar.gz # Hash for license file -sha256 6051b27e4b4a648f7bc8b329024da53a6e95ce88fcf0ccc259c371a74b741757 COPYING +sha256 6051b27e4b4a648f7bc8b329024da53a6e95ce88fcf0ccc259c371a74b741757 COPYING diff --git a/package/fping/fping.mk b/package/fping/fping.mk index 5d3ad59e56..24aca32367 100644 --- a/package/fping/fping.mk +++ b/package/fping/fping.mk @@ -4,7 +4,7 @@ # ################################################################################ -FPING_VERSION = 4.2 +FPING_VERSION = 5.0 FPING_SITE = http://fping.org/dist FPING_LICENSE = BSD-like FPING_LICENSE_FILES = COPYING diff --git a/package/gdk-pixbuf/gdk-pixbuf.hash b/package/gdk-pixbuf/gdk-pixbuf.hash index 9cb947f195..8fa178b55c 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.hash +++ b/package/gdk-pixbuf/gdk-pixbuf.hash @@ -1,4 +1,4 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.10.sha256sum -sha256 f8f6fa896b89475c73b6e9e8d2a2b062fc359c4b4ccb8e96470d6ab5da949ace gdk-pixbuf-2.36.10.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.12.sha256sum +sha256 fff85cf48223ab60e3c3c8318e2087131b590fd6f1737e42cb3759a3b427a334 gdk-pixbuf-2.36.12.tar.xz # Locally calculated -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk index b7937a48e9..0266e04978 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.mk +++ b/package/gdk-pixbuf/gdk-pixbuf.mk @@ -5,7 +5,7 @@ ################################################################################ GDK_PIXBUF_VERSION_MAJOR = 2.36 -GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).10 +GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).12 GDK_PIXBUF_SOURCE = gdk-pixbuf-$(GDK_PIXBUF_VERSION).tar.xz GDK_PIXBUF_SITE = http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/$(GDK_PIXBUF_VERSION_MAJOR) GDK_PIXBUF_LICENSE = LGPL-2.0+ diff --git a/package/grpc/Config.in b/package/grpc/Config.in index 45299888ea..a2da3f4c53 100644 --- a/package/grpc/Config.in +++ b/package/grpc/Config.in @@ -4,8 +4,9 @@ config BR2_PACKAGE_GRPC depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf - depends on !BR2_STATIC_LIBS # protobuf + depends on !BR2_STATIC_LIBS # protobuf, libabseil-cpp depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS select BR2_PACKAGE_C_ARES select BR2_PACKAGE_LIBABSEIL_CPP select BR2_PACKAGE_OPENSSL @@ -18,6 +19,7 @@ config BR2_PACKAGE_GRPC http://github.com/grpc/grpc comment "grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.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_4_8 diff --git a/package/htop/0002-Resolve-complation-issues-with-fno-common.patch b/package/htop/0002-Resolve-complation-issues-with-fno-common.patch new file mode 100644 index 0000000000..097a8df7ea --- /dev/null +++ b/package/htop/0002-Resolve-complation-issues-with-fno-common.patch @@ -0,0 +1,173 @@ +From dfd9279f87791e36a5212726781c31fbe7110361 Mon Sep 17 00:00:00 2001 +From: Nathan Scott +Date: Fri, 10 Jul 2020 10:35:32 +1000 +Subject: [PATCH] Resolve complation issues with -fno-common (default from + gcc-10) + +Extends the MakeHeader script to auto-generate correct "extern" +function declarations in some cases that it currently does not. + +Related to https://github.com/hishamhm/htop/pull/981 + +Signed-off-by: Maxim Kochetkov +Fetch from: https://github.com/hishamhm/htop/commit/dfd9279f87791e36a5212726781c31fbe7110361.patch +--- + CRT.c | 4 ++-- + CRT.h | 28 ++++++++++++++-------------- + linux/LinuxProcess.c | 3 ++- + linux/LinuxProcess.h | 19 ++++++++++--------- + scripts/MakeHeader.py | 4 +++- + 5 files changed, 31 insertions(+), 27 deletions(-) + +diff --git a/CRT.c b/CRT.c +index ca9a10dd..088cd1a4 100644 +--- a/CRT.c ++++ b/CRT.c +@@ -131,9 +131,9 @@ typedef enum ColorElements_ { + LAST_COLORELEMENT + } ColorElements; + +-void CRT_fatalError(const char* note) __attribute__ ((noreturn)); ++extern void CRT_fatalError(const char* note) __attribute__ ((noreturn)); + +-void CRT_handleSIGSEGV(int sgn); ++extern void CRT_handleSIGSEGV(int sgn); + + #define KEY_ALT(x) (KEY_F(64 - 26) + (x - 'A')) + +diff --git a/CRT.h b/CRT.h +index 933fe068..bc3fb8b7 100644 +--- a/CRT.h ++++ b/CRT.h +@@ -119,9 +119,9 @@ typedef enum ColorElements_ { + LAST_COLORELEMENT + } ColorElements; + +-void CRT_fatalError(const char* note) __attribute__ ((noreturn)); ++extern void CRT_fatalError(const char* note) __attribute__ ((noreturn)); + +-void CRT_handleSIGSEGV(int sgn); ++extern void CRT_handleSIGSEGV(int sgn); + + #define KEY_ALT(x) (KEY_F(64 - 26) + (x - 'A')) + +@@ -140,7 +140,7 @@ extern const char **CRT_treeStr; + + extern int CRT_delay; + +-int* CRT_colors; ++extern int* CRT_colors; + + extern int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT]; + +@@ -150,21 +150,21 @@ extern int CRT_scrollHAmount; + + extern int CRT_scrollWheelVAmount; + +-char* CRT_termType; ++extern char* CRT_termType; + + // TODO move color scheme to Settings, perhaps? + + extern int CRT_colorScheme; + +-void *backtraceArray[128]; ++extern void *backtraceArray[128]; + + #if HAVE_SETUID_ENABLED + + #define DIE(msg) do { CRT_done(); fprintf(stderr, msg); exit(1); } while(0) + +-void CRT_dropPrivileges(); ++extern void CRT_dropPrivileges(); + +-void CRT_restorePrivileges(); ++extern void CRT_restorePrivileges(); + + #else + +@@ -179,18 +179,18 @@ void CRT_restorePrivileges(); + + // TODO: pass an instance of Settings instead. + +-void CRT_init(int delay, int colorScheme); ++extern void CRT_init(int delay, int colorScheme); + +-void CRT_done(); ++extern void CRT_done(); + +-void CRT_fatalError(const char* note); ++extern void CRT_fatalError(const char* note); + +-int CRT_readKey(); ++extern int CRT_readKey(); + +-void CRT_disableDelay(); ++extern void CRT_disableDelay(); + +-void CRT_enableDelay(); ++extern void CRT_enableDelay(); + +-void CRT_setColors(int colorScheme); ++extern void CRT_setColors(int colorScheme); + + #endif + +diff --git a/linux/LinuxProcess.h b/linux/LinuxProcess.h +index 6ce3037d..586aa717 100644 +--- a/linux/LinuxProcess.h ++++ b/linux/LinuxProcess.h +@@ -152,9 +153,9 @@ extern ProcessPidColumn Process_pidColumns[]; + + extern ProcessClass LinuxProcess_class; + +-LinuxProcess* LinuxProcess_new(Settings* settings); ++extern LinuxProcess* LinuxProcess_new(Settings* settings); + +-void Process_delete(Object* cast); ++extern void Process_delete(Object* cast); + + /* + [1] Note that before kernel 2.6.26 a process that has not asked for +@@ -166,19 +167,19 @@ extern io_priority; + */ + #define LinuxProcess_effectiveIOPriority(p_) (IOPriority_class(p_->ioPriority) == IOPRIO_CLASS_NONE ? IOPriority_tuple(IOPRIO_CLASS_BE, (p_->super.nice + 20) / 5) : p_->ioPriority) + +-IOPriority LinuxProcess_updateIOPriority(LinuxProcess* this); ++extern IOPriority LinuxProcess_updateIOPriority(LinuxProcess* this); + +-bool LinuxProcess_setIOPriority(LinuxProcess* this, IOPriority ioprio); ++extern bool LinuxProcess_setIOPriority(LinuxProcess* this, IOPriority ioprio); + + #ifdef HAVE_DELAYACCT +-void LinuxProcess_printDelay(float delay_percent, char* buffer, int n); ++extern void LinuxProcess_printDelay(float delay_percent, char* buffer, int n); + #endif + +-void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field); ++extern void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field); + +-long LinuxProcess_compare(const void* v1, const void* v2); ++extern long LinuxProcess_compare(const void* v1, const void* v2); + +-bool Process_isThread(Process* this); ++extern bool Process_isThread(Process* this); + + + #endif +diff --git a/scripts/MakeHeader.py b/scripts/MakeHeader.py +index 349531b8..3ef34b88 100755 +--- a/scripts/MakeHeader.py ++++ b/scripts/MakeHeader.py +@@ -54,8 +54,10 @@ + elif line.startswith("typedef struct"): + state = SKIP + elif line[-1] == "{": +- out.write( line[:-2].replace("inline", "extern") + ";\n" ) ++ out.write("extern " + line[:-2].replace("inline ", "") + ";\n") + state = SKIP ++ elif line[-1] == ";": ++ out.write("extern " + line + "\n") + else: + out.write( line + "\n") + is_blank = False diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk index 0d260891e2..d09bc58b34 100644 --- a/package/iputils/iputils.mk +++ b/package/iputils/iputils.mk @@ -40,13 +40,8 @@ IPUTILS_DEPENDENCIES += libgcrypt else ifeq ($(BR2_PACKAGE_OPENSSL),y) IPUTILS_CONF_OPTS += -DUSE_CRYPTO=openssl IPUTILS_DEPENDENCIES += openssl -else ifeq ($(BR2_PACKAGE_LINUX_HEADERS),y) -IPUTILS_CONF_OPTS += -DUSE_CRYPTO=kernel -IPUTILS_DEPENDENCIES += linux-headers else -IPUTILS_CONF_OPTS += -DUSE_CRYPTO=none -# BUILD_NINFOD=true and USE_CRYPTO=none cannot be combined -IPUTILS_NINFOD = n +IPUTILS_CONF_OPTS += -DUSE_CRYPTO=kernel endif ifeq ($(BR2_PACKAGE_SYSTEMD),y) diff --git a/package/libabseil-cpp/0003-Fix-build-on-riscv32-675.patch b/package/libabseil-cpp/0003-Fix-build-on-riscv32-675.patch new file mode 100644 index 0000000000..0077c5fe9b --- /dev/null +++ b/package/libabseil-cpp/0003-Fix-build-on-riscv32-675.patch @@ -0,0 +1,77 @@ +From 3f347c46272886a099852a4cd303ecf37a054de8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 18 May 2020 10:23:50 -0700 +Subject: [PATCH] Fix build on riscv32 (#675) + +[Backport from upstream commit 3f347c46272886a099852a4cd303ecf37a054de8] +Signed-off-by: Thomas Petazzoni +--- + absl/base/internal/direct_mmap.h | 5 +++++ + absl/base/internal/spinlock_linux.inc | 8 ++++++++ + absl/synchronization/internal/waiter.cc | 8 ++++++++ + 3 files changed, 21 insertions(+) + +diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h +index 5618867..16accf0 100644 +--- a/absl/base/internal/direct_mmap.h ++++ b/absl/base/internal/direct_mmap.h +@@ -61,6 +61,10 @@ extern "C" void* __mmap2(void*, size_t, int, int, int, size_t); + #endif + #endif // __BIONIC__ + ++#if defined(__NR_mmap2) && !defined(SYS_mmap2) ++#define SYS_mmap2 __NR_mmap2 ++#endif ++ + namespace absl { + ABSL_NAMESPACE_BEGIN + namespace base_internal { +@@ -72,6 +76,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd, + #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \ + (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) || \ + (defined(__PPC__) && !defined(__PPC64__)) || \ ++ (defined(__riscv) && __riscv_xlen == 32) || \ + (defined(__s390__) && !defined(__s390x__)) + // On these architectures, implement mmap with mmap2. + static int pagesize = 0; +diff --git a/absl/base/internal/spinlock_linux.inc b/absl/base/internal/spinlock_linux.inc +index 323edd6..e31c6ed 100644 +--- a/absl/base/internal/spinlock_linux.inc ++++ b/absl/base/internal/spinlock_linux.inc +@@ -46,6 +46,14 @@ static_assert(sizeof(std::atomic) == sizeof(int), + #endif + #endif + ++#if defined(__NR_futex_time64) && !defined(SYS_futex_time64) ++#define SYS_futex_time64 __NR_futex_time64 ++#endif ++ ++#if defined(SYS_futex_time64) && !defined(SYS_futex) ++#define SYS_futex SYS_futex_time64 ++#endif ++ + extern "C" { + + ABSL_ATTRIBUTE_WEAK void AbslInternalSpinLockDelay( +diff --git a/absl/synchronization/internal/waiter.cc b/absl/synchronization/internal/waiter.cc +index 2949f5a..b6150b9 100644 +--- a/absl/synchronization/internal/waiter.cc ++++ b/absl/synchronization/internal/waiter.cc +@@ -86,6 +86,14 @@ static void MaybeBecomeIdle() { + #endif + #endif + ++#if defined(__NR_futex_time64) && !defined(SYS_futex_time64) ++#define SYS_futex_time64 __NR_futex_time64 ++#endif ++ ++#if defined(SYS_futex_time64) && !defined(SYS_futex) ++#define SYS_futex SYS_futex_time64 ++#endif ++ + class Futex { + public: + static int WaitUntil(std::atomic *v, int32_t val, +-- +2.26.2 + diff --git a/package/libabseil-cpp/Config.in b/package/libabseil-cpp/Config.in index 38cb66d49f..8018e7b264 100644 --- a/package/libabseil-cpp/Config.in +++ b/package/libabseil-cpp/Config.in @@ -1,7 +1,22 @@ +# see absl/debugging/internal/examine_stack.cc for the list of +# architectures that are supported, and for which ucontext is used. +config BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS + bool + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arm || BR2_armeb + default y if BR2_i386 + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_riscv + default y if BR2_x86_64 + depends on BR2_TOOLCHAIN_HAS_UCONTEXT + config BR2_PACKAGE_LIBABSEIL_CPP bool "libabseil-cpp" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS # uses dlfcn.h + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS help Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil @@ -11,5 +26,7 @@ config BR2_PACKAGE_LIBABSEIL_CPP https://github.com/abseil/abseil-cpp -comment "libabseil-cpp needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "libabseil-cpp needs a toolchain w/ C++, threads, dynamic library" + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk index 0de155f109..ce23d44661 100644 --- a/package/libcamera/libcamera.mk +++ b/package/libcamera/libcamera.mk @@ -36,6 +36,10 @@ LIBCAMERA_LICENSE_FILES = \ LICENSES/CC0-1.0.txt \ LICENSES/CC-BY-SA-4.0.txt +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y) +LIBCAMERA_CXXFLAGS = -faligned-new +endif + ifeq ($(BR2_PACKAGE_LIBCAMERA_V4L2),y) LIBCAMERA_CONF_OPTS += -Dv4l2=true else diff --git a/package/libfuse3/libfuse3.hash b/package/libfuse3/libfuse3.hash index c7f371368a..8fd37ff47a 100644 --- a/package/libfuse3/libfuse3.hash +++ b/package/libfuse3/libfuse3.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 checksums -sha256 b4409255cbda6f6975ca330f5b04cb335b823a95ddd8c812c3d224ec53478fc0 libfuse3-3.9.2.tar.gz +sha256 9e076ae757a09cac9ce1beb50b3361ae83a831e5abc0f1bf5cdf771cd1320338 libfuse3-3.9.4.tar.gz sha256 b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad LICENSE diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk index 1e959640e2..6e679fe5a8 100644 --- a/package/libfuse3/libfuse3.mk +++ b/package/libfuse3/libfuse3.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFUSE3_VERSION = 3.9.2 +LIBFUSE3_VERSION = 3.9.4 LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION)) LIBFUSE3_LICENSE = LGPL-2.1 LIBFUSE3_LICENSE_FILES = LICENSE diff --git a/package/librtlsdr/0001-disable_shared_library_target_in_build.patch b/package/librtlsdr/0001-disable_shared_library_target_in_build.patch index 376aa23344..2fb63465de 100644 --- a/package/librtlsdr/0001-disable_shared_library_target_in_build.patch +++ b/package/librtlsdr/0001-disable_shared_library_target_in_build.patch @@ -1,4 +1,4 @@ -From c8878472bf84c656979ea1d07e7ed55b0aa2c939 Mon Sep 17 00:00:00 2001 +From 9a1c2587d4ef18e2026811deabd024eb7577d9ce Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Fri, 15 May 2020 16:14:48 +0200 Subject: [PATCH] disable shared library target in build @@ -19,12 +19,13 @@ will be install. Signed-off-by: Yuvaraj Patil Signed-off-by: Fabrice Fontaine Signed-off-by: Gwenhael Goavec-Merou +Signed-off-by: Titouan Christophe --- src/CMakeLists.txt | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 33faee7..d82fc87 100644 +index de93044..13b7b1a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,6 +18,8 @@ @@ -121,9 +122,9 @@ index 33faee7..d82fc87 100644 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file ) +endif() - install(TARGETS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power + install(TARGETS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast DESTINATION ${CMAKE_INSTALL_BINDIR} ) -- -2.26.2 +2.25.3 diff --git a/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch b/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch new file mode 100644 index 0000000000..9c808edd41 --- /dev/null +++ b/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch @@ -0,0 +1,47 @@ +From feb5d9c6b7bcec788f9b01781c205e31fff260e7 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 11 Aug 2020 23:07:08 +0200 +Subject: [PATCH] cmake/Modules/Version.cmake: don't use Git version if not in + a Git repo + +If the librtlsdr code comes from a tarball, it doesn't have any .git/ +metadata, and therefore even if Git (as a tool) is found, the logic in +cmake/Modules/Version.cmake fails finding a version through Git: + +-- Extracting version information from git describe... +fatal: Not a git repository (or any of the parent directories): .git + +As a consequence, the VERSION variable is empty, which later causes +cmake to bail out with: + +CMake Error at /home/test/autobuild/run/instance-1/output-1/host/share/cmake-3.15/Modules/WriteBasicConfigVersionFile.cmake:43 (message): + No VERSION specified for WRITE_BASIC_CONFIG_VERSION_FILE() +Call Stack (most recent call first): + /home/test/autobuild/run/instance-1/output-1/host/share/cmake-3.15/Modules/CMakePackageConfigHelpers.cmake:225 (write_basic_config_version_file) + CMakeLists.txt:173 (write_basic_package_version_file) + +To avoid this, we only use Git to determine the version if the cmake +project top-level source directory has a .git/ folder. + +Upstream: https://github.com/librtlsdr/librtlsdr/pull/75 +Signed-off-by: Thomas Petazzoni +--- + cmake/Modules/Version.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/Modules/Version.cmake b/cmake/Modules/Version.cmake +index 2d4e76d..6f67fa4 100644 +--- a/cmake/Modules/Version.cmake ++++ b/cmake/Modules/Version.cmake +@@ -32,7 +32,7 @@ set(PATCH_VERSION ${VERSION_INFO_PATCH_VERSION}) + ######################################################################## + find_package(Git QUIET) + +-if(GIT_FOUND) ++if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) + message(STATUS "Extracting version information from git describe...") + execute_process( + COMMAND ${GIT_EXECUTABLE} describe --always --abbrev=4 --long +-- +2.26.2 + diff --git a/package/librtlsdr/librtlsdr.hash b/package/librtlsdr/librtlsdr.hash index 920a755033..e4b0871db3 100644 --- a/package/librtlsdr/librtlsdr.hash +++ b/package/librtlsdr/librtlsdr.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 78c20031287017d057941640dcf05cb7666cfedcfad1b4a1186ed00cabfabc2f librtlsdr-d794155ba65796a76cd0a436f9709f4601509320.tar.gz +sha256 f09ff5ba2fa1780071321ba22885b9d1a16ac9d4b944a97e39b6921960439301 librtlsdr-ed0317e6a58c098874ac58b769cf2e609c18d9a5.tar.gz # License file, locally calculated -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/librtlsdr/librtlsdr.mk b/package/librtlsdr/librtlsdr.mk index 16f2632789..47586bdfb2 100644 --- a/package/librtlsdr/librtlsdr.mk +++ b/package/librtlsdr/librtlsdr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRTLSDR_VERSION = d794155ba65796a76cd0a436f9709f4601509320 +LIBRTLSDR_VERSION = ed0317e6a58c098874ac58b769cf2e609c18d9a5 LIBRTLSDR_SITE = $(call github,steve-m,librtlsdr,$(LIBRTLSDR_VERSION)) LIBRTLSDR_LICENSE = GPL-2.0+ LIBRTLSDR_LICENSE_FILES = COPYING diff --git a/package/minizip/0002-mz.h-fix-build-with-gcc-4.8.patch b/package/minizip/0002-mz.h-fix-build-with-gcc-4.8.patch new file mode 100644 index 0000000000..f9d28a3c75 --- /dev/null +++ b/package/minizip/0002-mz.h-fix-build-with-gcc-4.8.patch @@ -0,0 +1,60 @@ +From d38254c2cfdfa2baceef9e4fa553b74ed2e0247e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 25 Jul 2020 14:36:11 +0200 +Subject: [PATCH] mz.h: fix build with gcc 4.8 + +gcc 4.8 does not support __has_include directive as a result the build +will fail on: + +/home/naourr/work/instance-1/output-1/build/minizip-2.10.0/mz.h:162:44: error: missing binary operator before token "(" + (defined(__has_include) && __has_include()) + ^ + +Fix it by appling: +https://gcc.gnu.org/onlinedocs/gcc-10.1.0/cpp/_005f_005fhas_005finclude.html + +Fix #510 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/nmoinvaz/minizip/pull/515] +--- + mz.h | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/mz.h b/mz.h +index 4d3732b..83662e0 100644 +--- a/mz.h ++++ b/mz.h +@@ -158,9 +158,12 @@ + #include /* memset, strncpy, strlen */ + #include + +-#if defined(HAVE_STDINT_H) || \ +- (defined(__has_include) && __has_include()) ++#if defined(HAVE_STDINT_H) + # include ++#elif defined(__has_include) ++# if __has_include() ++# include ++# endif + #endif + + #ifndef __INT8_TYPE__ +@@ -188,9 +191,12 @@ typedef unsigned int uint32_t; + typedef unsigned long long uint64_t; + #endif + +-#if defined(HAVE_INTTYPES_H) || \ +- (defined(__has_include) && __has_include()) ++#if defined(HAVE_INTTYPES_H) + # include ++#elif defined(__has_include) ++# if __has_include() ++# include ++# endif + #endif + + #ifndef PRId8 +-- +2.27.0 + diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk index 8220a5ace8..1186fa52d5 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -21,7 +21,8 @@ endif ifeq ($(BR2_PACKAGE_MTD_UBIFS_UTILS),y) MTD_DEPENDENCIES += util-linux zlib lzo host-pkgconf MTD_CONF_OPTS += --with-ubifs -ifeq ($(BR2_PACKAGE_OPENSSL),y) +# crypto needs linux/hash_info.h +ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12)$(BR2_PACKAGE_OPENSSL),yy) MTD_DEPENDENCIES += openssl MTD_CONF_OPTS += --with-crypto else diff --git a/package/prosody/Config.in b/package/prosody/Config.in index d57da00a94..d93350702c 100644 --- a/package/prosody/Config.in +++ b/package/prosody/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_PROSODY depends on BR2_PACKAGE_HAS_LUAINTERPRETER depends on !BR2_PACKAGE_LUA_5_4 depends on !BR2_STATIC_LIBS # luaexpat, luasec, luasocket, luafilesystem - select BR2_PACKAGE_LUABITOP if !BR2_PACKAGE_LUAJIT # runtime + select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1 # runtime select BR2_PACKAGE_LUAEXPAT # runtime select BR2_PACKAGE_LUASEC # runtime select BR2_PACKAGE_LUASOCKET # runtime diff --git a/package/python-cython/python-cython.mk b/package/python-cython/python-cython.mk index 308b01e5b2..c8dcf382ff 100644 --- a/package/python-cython/python-cython.mk +++ b/package/python-cython/python-cython.mk @@ -4,6 +4,7 @@ # ################################################################################ +# Please keep in sync with package/python3-cython/python3-cython.mk PYTHON_CYTHON_VERSION = 0.29.21 PYTHON_CYTHON_SOURCE = Cython-$(PYTHON_CYTHON_VERSION).tar.gz PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/6c/9f/f501ba9d178aeb1f5bf7da1ad5619b207c90ac235d9859961c11829d0160 diff --git a/package/python-pycryptodomex/python-pycryptodomex.mk b/package/python-pycryptodomex/python-pycryptodomex.mk index 7f93d93131..5123acb8ec 100644 --- a/package/python-pycryptodomex/python-pycryptodomex.mk +++ b/package/python-pycryptodomex/python-pycryptodomex.mk @@ -4,6 +4,7 @@ # ################################################################################ +# Please keep in sync with package/python3-pycryptodomex/python3-pycryptodomex.mk PYTHON_PYCRYPTODOMEX_VERSION = 3.9.8 PYTHON_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON_PYCRYPTODOMEX_VERSION).tar.gz PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/f5/79/9d9206688385d1e7a5ff925e7aab1d685636256e34a409037aa7adbbe611 diff --git a/package/python-rpi-gpio/0001-fix-build-with-gcc-10.x.patch b/package/python-rpi-gpio/0001-fix-build-with-gcc-10.x.patch new file mode 100644 index 0000000000..7c7b772894 --- /dev/null +++ b/package/python-rpi-gpio/0001-fix-build-with-gcc-10.x.patch @@ -0,0 +1,117 @@ +Description: This patch fixes the "multiple definition of" errors with gcc10 + +Signed-off-by: Michael Fischer + +diff -purN python-rpi-gpio.org/source/common.h python-rpi-gpio/source/common.h +--- python-rpi-gpio.org/source/common.h 2019-07-21 14:41:22.000000000 +0200 ++++ python-rpi-gpio/source/common.h 2020-08-07 09:31:33.948575964 +0200 +@@ -30,14 +30,14 @@ SOFTWARE. + #define I2C 42 + #define PWM 43 + +-int gpio_mode; +-const int pin_to_gpio_rev1[41]; +-const int pin_to_gpio_rev2[41]; +-const int pin_to_gpio_rev3[41]; +-const int (*pin_to_gpio)[41]; +-int gpio_direction[54]; +-rpi_info rpiinfo; +-int setup_error; +-int module_setup; ++extern int gpio_mode; ++extern const int pin_to_gpio_rev1[41]; ++extern const int pin_to_gpio_rev2[41]; ++extern const int pin_to_gpio_rev3[41]; ++extern const int (*pin_to_gpio)[41]; ++extern int gpio_direction[54]; ++extern rpi_info rpiinfo; ++extern int setup_error; ++extern int module_setup; + int check_gpio_priv(void); + int get_gpio_number(int channel, unsigned int *gpio); +diff -purN python-rpi-gpio.org/source/constants.h python-rpi-gpio/source/constants.h +--- python-rpi-gpio.org/source/constants.h 2019-07-21 14:41:22.000000000 +0200 ++++ python-rpi-gpio/source/constants.h 2020-08-07 09:32:15.522196618 +0200 +@@ -23,22 +23,22 @@ SOFTWARE. + #define PY_PUD_CONST_OFFSET 20 + #define PY_EVENT_CONST_OFFSET 30 + +-PyObject *high; +-PyObject *low; +-PyObject *input; +-PyObject *output; +-PyObject *pwm; +-PyObject *serial; +-PyObject *i2c; +-PyObject *spi; +-PyObject *unknown; +-PyObject *board; +-PyObject *bcm; +-PyObject *pud_off; +-PyObject *pud_up; +-PyObject *pud_down; +-PyObject *rising_edge; +-PyObject *falling_edge; +-PyObject *both_edge; ++extern PyObject *high; ++extern PyObject *low; ++extern PyObject *input; ++extern PyObject *output; ++extern PyObject *pwm; ++extern PyObject *serial; ++extern PyObject *i2c; ++extern PyObject *spi; ++extern PyObject *unknown; ++extern PyObject *board; ++extern PyObject *bcm; ++extern PyObject *pud_off; ++extern PyObject *pud_up; ++extern PyObject *pud_down; ++extern PyObject *rising_edge; ++extern PyObject *falling_edge; ++extern PyObject *both_edge; + + void define_constants(PyObject *module); +diff -purN python-rpi-gpio.org/source/event_gpio.c python-rpi-gpio/source/event_gpio.c +--- python-rpi-gpio.org/source/event_gpio.c 2019-07-21 14:41:22.000000000 +0200 ++++ python-rpi-gpio/source/event_gpio.c 2020-08-07 09:42:05.564483136 +0200 +@@ -57,7 +57,7 @@ struct callback + }; + struct callback *callbacks = NULL; + +-pthread_t threads; ++static pthread_t threads; + int event_occurred[54] = { 0 }; + int thread_running = 0; + int epfd_thread = -1; +diff -purN python-rpi-gpio.org/source/py_pwm.h python-rpi-gpio/source/py_pwm.h +--- python-rpi-gpio.org/source/py_pwm.h 2019-07-21 14:41:22.000000000 +0200 ++++ python-rpi-gpio/source/py_pwm.h 2020-08-07 09:38:49.445646807 +0200 +@@ -20,5 +20,5 @@ OUT OF OR IN CONNECTION WITH THE SOFTWAR + SOFTWARE. + */ + +-PyTypeObject PWMType; ++extern PyTypeObject PWMType; + PyTypeObject *PWM_init_PWMType(void); +diff -purN python-rpi-gpio.org/source/soft_pwm.c python-rpi-gpio/source/soft_pwm.c +--- python-rpi-gpio.org/source/soft_pwm.c 2019-07-21 14:41:22.000000000 +0200 ++++ python-rpi-gpio/source/soft_pwm.c 2020-08-07 09:42:40.753160437 +0200 +@@ -25,7 +25,7 @@ SOFTWARE. + #include + #include "c_gpio.h" + #include "soft_pwm.h" +-pthread_t threads; ++static pthread_t threads; + + struct pwm + { +diff -purN python-rpi-gpio.org/source/soft_pwm.h python-rpi-gpio/source/soft_pwm.h +--- python-rpi-gpio.org/source/soft_pwm.h 2019-07-21 14:41:22.000000000 +0200 ++++ python-rpi-gpio/source/soft_pwm.h 2020-08-07 09:39:25.916811352 +0200 +@@ -26,4 +26,4 @@ void pwm_set_duty_cycle(unsigned int gpi + void pwm_set_frequency(unsigned int gpio, float freq); + void pwm_start(unsigned int gpio); + void pwm_stop(unsigned int gpio); +-int pwm_exists(unsigned int gpio); ++extern int pwm_exists(unsigned int gpio); diff --git a/package/python3-cython/python3-cython.hash b/package/python3-cython/python3-cython.hash new file mode 120000 index 0000000000..70dde64105 --- /dev/null +++ b/package/python3-cython/python3-cython.hash @@ -0,0 +1 @@ +../python-cython/python-cython.hash \ No newline at end of file diff --git a/package/python3-cython/python3-cython.mk b/package/python3-cython/python3-cython.mk new file mode 100644 index 0000000000..6e3bd1422a --- /dev/null +++ b/package/python3-cython/python3-cython.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python3-cython +# +################################################################################ + +# Please keep in sync with package/python-cython/python-cython.mk +PYTHON3_CYTHON_VERSION = 0.29.21 +PYTHON3_CYTHON_SOURCE = Cython-$(PYTHON3_CYTHON_VERSION).tar.gz +PYTHON3_CYTHON_SITE = https://files.pythonhosted.org/packages/6c/9f/f501ba9d178aeb1f5bf7da1ad5619b207c90ac235d9859961c11829d0160 +PYTHON3_CYTHON_SETUP_TYPE = setuptools +PYTHON3_CYTHON_LICENSE = Apache-2.0 +PYTHON3_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt +HOST_PYTHON3_CYTHON_NEEDS_HOST_PYTHON = python3 + +$(eval $(host-python-package)) diff --git a/package/python3-decorator/python3-decorator.mk b/package/python3-decorator/python3-decorator.mk index d809bb5b9b..c14f10fbf4 100644 --- a/package/python3-decorator/python3-decorator.mk +++ b/package/python3-decorator/python3-decorator.mk @@ -7,7 +7,7 @@ # Please keep in sync with package/python-decorator/python-decorator.mk PYTHON3_DECORATOR_VERSION = 4.4.1 PYTHON3_DECORATOR_SITE = https://files.pythonhosted.org/packages/dc/c3/9d378af09f5737cfd524b844cd2fbb0d2263a35c11d712043daab290144d -PYTHON3_DECORATOR_SOURCE = decorator-$(PYTHON_DECORATOR_VERSION).tar.gz +PYTHON3_DECORATOR_SOURCE = decorator-$(PYTHON3_DECORATOR_VERSION).tar.gz PYTHON3_DECORATOR_LICENSE = BSD-2-Clause PYTHON3_DECORATOR_LICENSE_FILES = LICENSE.txt PYTHON3_DECORATOR_SETUP_TYPE = setuptools diff --git a/package/python3-mako/python3-mako.mk b/package/python3-mako/python3-mako.mk index 7b135c110c..0296c68fc6 100644 --- a/package/python3-mako/python3-mako.mk +++ b/package/python3-mako/python3-mako.mk @@ -7,7 +7,7 @@ # Please keep in sync with # package/python-mako/python-mako.mk PYTHON3_MAKO_VERSION = 1.1.2 -PYTHON3_MAKO_SOURCE = Mako-$(PYTHON_MAKO_VERSION).tar.gz +PYTHON3_MAKO_SOURCE = Mako-$(PYTHON3_MAKO_VERSION).tar.gz PYTHON3_MAKO_SITE = https://files.pythonhosted.org/packages/42/64/fc7c506d14d8b6ed363e7798ffec2dfe4ba21e14dda4cfab99f4430cba3a PYTHON3_MAKO_SETUP_TYPE = setuptools PYTHON3_MAKO_LICENSE = MIT diff --git a/package/python3-pycryptodomex/python3-pycryptodomex.hash b/package/python3-pycryptodomex/python3-pycryptodomex.hash new file mode 120000 index 0000000000..0c6761d8a4 --- /dev/null +++ b/package/python3-pycryptodomex/python3-pycryptodomex.hash @@ -0,0 +1 @@ +../python-pycryptodomex/python-pycryptodomex.hash \ No newline at end of file diff --git a/package/python3-pycryptodomex/python3-pycryptodomex.mk b/package/python3-pycryptodomex/python3-pycryptodomex.mk new file mode 100644 index 0000000000..92ac248d51 --- /dev/null +++ b/package/python3-pycryptodomex/python3-pycryptodomex.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# python3-pycryptodomex +# +################################################################################ + +# Please keep in sync with package/python-pycryptodomex/python-pycryptodomex.mk +PYTHON3_PYCRYPTODOMEX_VERSION = 3.9.8 +PYTHON3_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON3_PYCRYPTODOMEX_VERSION).tar.gz +PYTHON3_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/f5/79/9d9206688385d1e7a5ff925e7aab1d685636256e34a409037aa7adbbe611 +PYTHON3_PYCRYPTODOMEX_SETUP_TYPE = setuptools +PYTHON3_PYCRYPTODOMEX_LICENSE = \ + BSD-2-Clause, \ + Public Domain (pycrypto original code), \ + OCB patent license (OCB mode) +PYTHON3_PYCRYPTODOMEX_LICENSE_FILES = LICENSE.rst Doc/LEGAL/COPYRIGHT.pycrypto +HOST_PYTHON3_PYCRYPTODOMEX_DL_SUBDIR = python-pycryptodomex +HOST_PYTHON3_PYCRYPTODOMEX_NEEDS_HOST_PYTHON = python3 + +$(eval $(host-python-package)) diff --git a/package/python3-pyelftools/python3-pyelftools.mk b/package/python3-pyelftools/python3-pyelftools.mk index ea79aef66d..be49ca2bcf 100644 --- a/package/python3-pyelftools/python3-pyelftools.mk +++ b/package/python3-pyelftools/python3-pyelftools.mk @@ -6,7 +6,7 @@ # Please keep in sync with package/python-pyelftools/python-pyelftools.mk PYTHON3_PYELFTOOLS_VERSION = 0.25 -PYTHON3_PYELFTOOLS_SOURCE = pyelftools-$(PYTHON_PYELFTOOLS_VERSION).tar.gz +PYTHON3_PYELFTOOLS_SOURCE = pyelftools-$(PYTHON3_PYELFTOOLS_VERSION).tar.gz PYTHON3_PYELFTOOLS_SITE = https://files.pythonhosted.org/packages/fa/9a/0674cb1725196568bdbca98304f2efb17368b57af1a4bb3fc772c026f474 PYTHON3_PYELFTOOLS_LICENSE = Public domain PYTHON3_PYELFTOOLS_LICENSE_FILES = LICENSE diff --git a/package/setools/Config.in b/package/setools/Config.in index b26029a162..3ab7f55948 100644 --- a/package/setools/Config.in +++ b/package/setools/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_SETOOLS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR depends on BR2_USE_MMU - depends on BR2_PACKAGE_PYTHON3 # python-networkx + depends on BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_NETWORKX # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS select BR2_PACKAGE_LIBSELINUX diff --git a/package/setools/setools.mk b/package/setools/setools.mk index 24da3613c4..c1a3a909cb 100644 --- a/package/setools/setools.mk +++ b/package/setools/setools.mk @@ -11,7 +11,8 @@ SETOOLS_INSTALL_STAGING = YES SETOOLS_LICENSE = GPL-2.0+, LGPL-2.1+ SETOOLS_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL SETOOLS_SETUP_TYPE = setuptools -HOST_SETOOLS_DEPENDENCIES = host-python-cython host-libselinux host-libsepol host-python-networkx +HOST_SETOOLS_DEPENDENCIES = host-python3-cython host-libselinux host-libsepol host-python-networkx +HOST_SETOOLS_NEEDS_HOST_PYTHON = python3 define SETOOLS_FIX_SETUP # By default, setup.py will look for libsepol.a in the host machines diff --git a/package/smstools3/0002-fix-build-with-gcc-10.x.patch b/package/smstools3/0002-fix-build-with-gcc-10.x.patch new file mode 100644 index 0000000000..3242c14066 --- /dev/null +++ b/package/smstools3/0002-fix-build-with-gcc-10.x.patch @@ -0,0 +1,753 @@ +Description: fix of FTBFS with gcc10 +Author: Thorsten Alteholz + +Fetch from: + +Signed-off-by: Michael Fischer + +Index: smstools/src/smsd_cfg.h +=================================================================== +--- smstools.orig/src/smsd_cfg.h 2020-08-05 19:02:50.536596441 +0000 ++++ smstools/src/smsd_cfg.h 2020-08-05 19:33:22.915005150 +0000 +@@ -126,17 +126,17 @@ + #define ALPHABET_UNKNOWN 4 + #define ALPHABET_DEFAULT 0 + +-char process_title[32]; // smsd for main task, NOTIFIER or CHILD, name of a modem for other tasks. +-int process_id; // -1 for main task, all modems have numbers starting with 0. ++extern char process_title[32]; // smsd for main task, NOTIFIER or CHILD, name of a modem for other tasks. ++extern int process_id; // -1 for main task, all modems have numbers starting with 0. + // This is the same as device, can be used like devices[process_id] if IS_MODEM_PROCESS. + +-time_t process_start_time; ++extern time_t process_start_time; + +-int modem_handle; // Handle for modem. ++extern int modem_handle; // Handle for modem. + +-int put_command_timeouts; +-unsigned long long put_command_sent; // 3.1.16beta. +-char tmpdir[PATH_MAX]; // 3.1.16beta. ++extern int put_command_timeouts; ++extern unsigned long long put_command_sent; // 3.1.16beta. ++extern char tmpdir[PATH_MAX]; // 3.1.16beta. + + typedef struct + { +@@ -284,204 +284,204 @@ + + // NOTE for regular run intervals: effective value is at least delaytime. + +-char configfile[PATH_MAX]; // Path to config file +-char d_spool[PATH_MAX]; // Spool directory +-char d_failed[PATH_MAX]; // Failed spool directory +-char d_failed_copy[PATH_MAX]; // 3.1.17. +-char d_incoming[PATH_MAX]; // Incoming spool directory +-char d_incoming_copy[PATH_MAX]; // 3.1.16beta2. +-char d_report[PATH_MAX]; // Incoming report spool directory +-char d_report_copy[PATH_MAX]; // 3.1.17. +-char d_phonecalls[PATH_MAX]; // Incoming phonecalls data directory +-char d_saved[PATH_MAX]; // Directory for smsd's internal use, concatenation storage files etc. +-char d_sent[PATH_MAX]; // Sent spool directory +-char d_sent_copy[PATH_MAX]; // 3.1.17. +-char d_checked[PATH_MAX]; // Spool directory for checked messages (only used when no provider queues used) +-char eventhandler[PATH_MAX]; // Global event handler program or script +-char alarmhandler[PATH_MAX]; // Global alarm handler program or script +-char checkhandler[PATH_MAX]; // Handler that checks if the sms file is valid. +-int alarmlevel; // Alarm Level (9=highest). Verbosity of alarm handler. +-char logfile[PATH_MAX]; // Name or Handle of Log File +-int loglevel; // Log Level (9=highest). Verbosity of log file. +-_queue queues[NUMBER_OF_MODEMS]; // Queues +-_device devices[NUMBER_OF_MODEMS]; // Modem devices +-int delaytime; // sleep-time after workless +-int delaytime_mainprocess; // sleep-time after workless, main process. If -1, delaytime is used. +-int blocktime; // sleep-time after multiple errors +-int blockafter; // Block modem after n errors +-int errorsleeptime; // sleep-time after each error +-int autosplit; // Splitting of large text messages 0=no, 1=yes 2=number with text, 3=number with UDH +-int receive_before_send; // if 1 smsd tries to receive one message before sending +-int store_received_pdu; // 0=no, 1=unsupported pdu's only, 2=unsupported and 8bit/unicode, 3=all +-int store_sent_pdu; // 0=no, 1=failed pdu's only, 2=failed and 8bit/unicode, 3=all +-int validity_period; // Validity period for messages. +-int decode_unicode_text; // 1 if unicode text is decoded internally. +-int internal_combine; // 1 if multipart message is combined internally. +-int internal_combine_binary; // 1 if multipart binary message is combined internally. Defaults to internal_combine. +-int keep_filename; // 0 if unique filename is created to each directory when a message file is moved. +-int store_original_filename; // 1 if an original filename is saved to message file when it's moved from +- // outgoing directory to spooler. Works together with keep_filename. +-int date_filename; // 1 or 2 if YYYYMMDD is included to the filename of incoming message. +-char regular_run[PATH_MAX]; // Script/program which is run regularly. +-int regular_run_interval; // Number of seconds between running a regular_run script/progdam. +-char admin_to[SIZE_TO]; // Destination number for administrative messages. +-int filename_preview; // Number of chars of message text to concatenate to filename. +-int incoming_utf8; // 1 if incoming files are saved using UTF-8 character set. +-int outgoing_utf8; // 1 if outgoing files are automatically converted from UTF-8 to ISO and GSM. +-int log_charconv; // 1 if character set conversion is logged. +-int log_single_lines; // 1 if linefeeds are removed from the modem response to be logged. +-int executable_check; // 0 if eventhandler and other executables are NOT checked during the startup checking. +-int keep_messages; // For testing purposes: messages are not deleted and smsd stops after first run. +-char priviledged_numbers[SIZE_PRIVILEDGED_NUMBERS]; // Priviledged numbers in incoming messages. +-int ic_purge_hours; // If internal_combine is used, concatenation storage is checked every ic_purge_interval minutes +-int ic_purge_minutes; // and if there is message parts older than defined, they are handled or deleted. +-int ic_purge_read; // 1 = message parts are stored as single messages. 0 = parts are just deleted. +-int ic_purge_interval; // +-char shell[PATH_MAX]; // Shell used to run eventhandler, defaults to /bin/sh +-char adminmessage_device[32]; // Name of device used to send administrative messages of mainspooler. +-int smart_logging; // 1 = if loglevel is less than 7, degug log is written is there has been any errors. +-int status_signal_quality; // 1 = signal quality is written to status file. +-int status_include_counters; // 1 = succeeded, failed and received counters are included in the status line. +-int status_include_uptime; // 3.1.16beta: 1 = include started & uptime line in the status file. +-int hangup_incoming_call; // 1 = if detected unexpected input contains RING and we want to end call. +-int max_continuous_sending; // Defines when sending is breaked to do check/do other tasks. Time in minutes. +-int voicecall_hangup_ath; // If ATH is used instead of AT+CHUP. ++extern char configfile[PATH_MAX]; // Path to config file ++extern char d_spool[PATH_MAX]; // Spool directory ++extern char d_failed[PATH_MAX]; // Failed spool directory ++extern char d_failed_copy[PATH_MAX]; // 3.1.17. ++extern char d_incoming[PATH_MAX]; // Incoming spool directory ++extern char d_incoming_copy[PATH_MAX]; // 3.1.16beta2. ++extern char d_report[PATH_MAX]; // Incoming report spool directory ++extern char d_report_copy[PATH_MAX]; // 3.1.17. ++extern char d_phonecalls[PATH_MAX]; // Incoming phonecalls data directory ++extern char d_saved[PATH_MAX]; // Directory for smsd's internal use, concatenation storage files etc. ++extern char d_sent[PATH_MAX]; // Sent spool directory ++extern char d_sent_copy[PATH_MAX]; // 3.1.17. ++extern char d_checked[PATH_MAX]; // Spool directory for checked messages (only used when no provider queues used) ++extern char eventhandler[PATH_MAX]; // Global event handler program or script ++extern char alarmhandler[PATH_MAX]; // Global alarm handler program or script ++extern char checkhandler[PATH_MAX]; // Handler that checks if the sms file is valid. ++extern int alarmlevel; // Alarm Level (9=highest). Verbosity of alarm handler. ++extern char logfile[PATH_MAX]; // Name or Handle of Log File ++extern int loglevel; // Log Level (9=highest). Verbosity of log file. ++extern _queue queues[NUMBER_OF_MODEMS]; // Queues ++extern _device devices[NUMBER_OF_MODEMS]; // Modem devices ++extern int delaytime; // sleep-time after workless ++extern int delaytime_mainprocess; // sleep-time after workless, main process. If -1, delaytime is used. ++extern int blocktime; // sleep-time after multiple errors ++extern int blockafter; // Block modem after n errors ++extern int errorsleeptime; // sleep-time after each error ++extern int autosplit; // Splitting of large text messages 0=no, 1=yes 2=number with text, 3=number with UDH ++extern int receive_before_send; // if 1 smsd tries to receive one message before sending ++extern int store_received_pdu; // 0=no, 1=unsupported pdu's only, 2=unsupported and 8bit/unicode, 3=all ++extern int store_sent_pdu; // 0=no, 1=failed pdu's only, 2=failed and 8bit/unicode, 3=all ++extern int validity_period; // Validity period for messages. ++extern int decode_unicode_text; // 1 if unicode text is decoded internally. ++extern int internal_combine; // 1 if multipart message is combined internally. ++extern int internal_combine_binary; // 1 if multipart binary message is combined internally. Defaults to internal_combine. ++extern int keep_filename; // 0 if unique filename is created to each directory when a message file is moved. ++extern int store_original_filename; // 1 if an original filename is saved to message file when it's moved from ++// outgoing directory to spooler. Works together with keep_filename. ++extern int date_filename; // 1 or 2 if YYYYMMDD is included to the filename of incoming message. ++extern char regular_run[PATH_MAX]; // Script/program which is run regularly. ++extern int regular_run_interval; // Number of seconds between running a regular_run script/progdam. ++extern char admin_to[SIZE_TO]; // Destination number for administrative messages. ++extern int filename_preview; // Number of chars of message text to concatenate to filename. ++extern int incoming_utf8; // 1 if incoming files are saved using UTF-8 character set. ++extern int outgoing_utf8; // 1 if outgoing files are automatically converted from UTF-8 to ISO and GSM. ++extern int log_charconv; // 1 if character set conversion is logged. ++extern int log_single_lines; // 1 if linefeeds are removed from the modem response to be logged. ++extern int executable_check; // 0 if eventhandler and other executables are NOT checked during the startup checking. ++extern int keep_messages; // For testing purposes: messages are not deleted and smsd stops after first run. ++extern char priviledged_numbers[SIZE_PRIVILEDGED_NUMBERS]; // Priviledged numbers in incoming messages. ++extern int ic_purge_hours; // If internal_combine is used, concatenation storage is checked every ic_purge_interval minutes ++extern int ic_purge_minutes; // and if there is message parts older than defined, they are handled or deleted. ++extern int ic_purge_read; // 1 = message parts are stored as single messages. 0 = parts are just deleted. ++extern int ic_purge_interval; // ++extern char shell[PATH_MAX]; // Shell used to run eventhandler, defaults to /bin/sh ++extern char adminmessage_device[32]; // Name of device used to send administrative messages of mainspooler. ++extern int smart_logging; // 1 = if loglevel is less than 7, degug log is written is there has been any errors. ++extern int status_signal_quality; // 1 = signal quality is written to status file. ++extern int status_include_counters; // 1 = succeeded, failed and received counters are included in the status line. ++extern int status_include_uptime; // 3.1.16beta: 1 = include started & uptime line in the status file. ++extern int hangup_incoming_call; // 1 = if detected unexpected input contains RING and we want to end call. ++extern int max_continuous_sending; // Defines when sending is breaked to do check/do other tasks. Time in minutes. ++extern int voicecall_hangup_ath; // If ATH is used instead of AT+CHUP. + + // 3.1.5: +-int trust_outgoing; // 1 = it's _sure_ that files are created by rename AND permissions are correct. Speeds up spooling. ++extern int trust_outgoing; // 1 = it's _sure_ that files are created by rename AND permissions are correct. Speeds up spooling. + + // 3.1.5: +-int ignore_outgoing_priority; // 1 = Priority: high header is not checked. Speeds up spooling. ++extern int ignore_outgoing_priority; // 1 = Priority: high header is not checked. Speeds up spooling. + + // 3.1.7: +-int ignore_exec_output; // 1 = stdout and stderr of eventhandlers is _not_ checked. ++extern int ignore_exec_output; // 1 = stdout and stderr of eventhandlers is _not_ checked. + + // 3.1.7: +-mode_t conf_umask; // File mode creation mask for smsd and modem processes. ++extern mode_t conf_umask; // File mode creation mask for smsd and modem processes. + + // 3.1.7: +-int trim_text; // 1 = trailing whitespaces are removed from text: ++extern int trim_text; // 1 = trailing whitespaces are removed from text: + + // 3.1.7: +-int use_linux_ps_trick; // 1 = change argv[0] to "smsd: MAINPROCESS", "smsd: GSM1" etc. ++extern int use_linux_ps_trick; // 1 = change argv[0] to "smsd: MAINPROCESS", "smsd: GSM1" etc. + + // 3.1.7: +-int log_unmodified; ++extern int log_unmodified; + + // 3.1.7: +-char suspend_filename[PATH_MAX]; ++extern char suspend_filename[PATH_MAX]; + + // 3.1.9: +-int spool_directory_order; ++extern int spool_directory_order; + + // 3.1.9: 1 if read_from_modem is logged. +-int log_read_from_modem; ++extern int log_read_from_modem; + + // 3.1.16beta2: log_read_timing for performance tuning. +-int log_read_timing; ++extern int log_read_timing; + + // 3.1.16beta: +-int log_response_time; ++extern int log_response_time; + + // 3.1.16beta2: +-int default_alphabet; ++extern int default_alphabet; + + // 3.1.17: Child process for the mainprocess: +-char mainprocess_child[PATH_MAX]; +-char mainprocess_child_args[PATH_MAX]; ++extern char mainprocess_child[PATH_MAX]; ++extern char mainprocess_child_args[PATH_MAX]; + + // 3.1.17: Notifier for the mainprocess: +-int mainprocess_notifier; ++extern int mainprocess_notifier; + + // 3.1.17: If *_copy was made, evenhandler can use it instead of original file: +-int eventhandler_use_copy; ++extern int eventhandler_use_copy; + + // 3.1.17: This defines how long to sleep while looping: +-int sleeptime_mainprocess; ++extern int sleeptime_mainprocess; + + // 3.1.17: Defines how often PID is checked to detect if another smsd is running: +-int check_pid_interval; ++extern int check_pid_interval; + + // 3.1.18: start script/program for mainprocess: +-char mainprocess_start[PATH_MAX]; +-char mainprocess_start_args[PATH_MAX]; ++extern char mainprocess_start[PATH_MAX]; ++extern char mainprocess_start_args[PATH_MAX]; + +-int message_count; // Counter for sent messages. Multipart message is one message. ++extern int message_count; // Counter for sent messages. Multipart message is one message. + +-volatile sig_atomic_t break_workless_delay; // To break the delay when SIGCONT is received. +-volatile sig_atomic_t terminate; // To terminate when SIGTERM is received. ++extern volatile sig_atomic_t break_workless_delay; // To break the delay when SIGCONT is received. ++extern volatile sig_atomic_t terminate; // To terminate when SIGTERM is received. + +-char username[65]; // user and group name which are used to run. +-char groupname[65]; // (max length is just a guess) ++extern char username[65]; // user and group name which are used to run. ++extern char groupname[65]; // (max length is just a guess) + +-char infofile[PATH_MAX]; // Hepler file for stopping the smsd smoothly. +-char pidfile[PATH_MAX]; // File where a process id is stored. ++extern char infofile[PATH_MAX]; // Hepler file for stopping the smsd smoothly. ++extern char pidfile[PATH_MAX]; // File where a process id is stored. + + // Command line arguments: +-char arg_username[65]; +-char arg_groupname[65]; +-char arg_infofile[PATH_MAX]; +-char arg_pidfile[PATH_MAX]; +-char arg_logfile[PATH_MAX]; +-int arg_terminal; ++extern char arg_username[65]; ++extern char arg_groupname[65]; ++extern char arg_infofile[PATH_MAX]; ++extern char arg_pidfile[PATH_MAX]; ++extern char arg_logfile[PATH_MAX]; ++extern int arg_terminal; + // 3.1.7: +-char arg_7bit_packed[512]; +-int do_encode_decode_arg_7bit_packed; ++extern char arg_7bit_packed[512]; ++extern int do_encode_decode_arg_7bit_packed; + +-int terminal; // 1 if smsd is communicating with terminal. +-pid_t device_pids[NUMBER_OF_MODEMS]; // Pid's of modem processes. +-char run_info[PATH_MAX]; // Information about external script/program execution. ++extern int terminal; // 1 if smsd is communicating with terminal. ++extern pid_t device_pids[NUMBER_OF_MODEMS]; // Pid's of modem processes. ++extern char run_info[PATH_MAX]; // Information about external script/program execution. + +-char communicate[32]; // Device name for terminal communication mode. ++extern char communicate[32]; // Device name for terminal communication mode. + +-char international_prefixes[PATH_MAX +1]; +-char national_prefixes[PATH_MAX +1]; ++extern char international_prefixes[PATH_MAX +1]; ++extern char national_prefixes[PATH_MAX +1]; + + // Storage for startup errors: +-char *startup_err_str; +-int startup_err_count; ++extern char *startup_err_str; ++extern int startup_err_count; + + // Storage for PDU's: +-char *incoming_pdu_store; +-char *outgoing_pdu_store; +-char *routed_pdu_store; ++extern char *incoming_pdu_store; ++extern char *outgoing_pdu_store; ++extern char *routed_pdu_store; + + // Storage for getfile errors: +-char *getfile_err_store; ++extern char *getfile_err_store; + + // Text buffer for error messages: +-char tb[SIZE_TB]; ++extern char tb[SIZE_TB]; + + // Buffer for SIM memory checking: +-char *check_memory_buffer; +-size_t check_memory_buffer_size; ++extern char *check_memory_buffer; ++extern size_t check_memory_buffer_size; + +-int os_cygwin; // 1 if we are on Cygwin. ++extern int os_cygwin; // 1 if we are on Cygwin. + +-char language_file[PATH_MAX]; // File name of translated headers. +-char yes_chars[SIZE_HEADER]; // Characters which mean "yes" in the yesno() question. +-char no_chars[SIZE_HEADER]; // See details inside read_translation() function. +-char yes_word[SIZE_HEADER]; // "yes" printed as an output. +-char no_word[SIZE_HEADER]; // "no" +-char datetime_format[SIZE_HEADER]; // strftime format string for time stamps (not inside status reports). +-char logtime_format[SIZE_HEADER]; // 3.1.7: strftime format string for logging time stamps +-char date_filename_format[SIZE_HEADER]; // 3.1.7: strftime format string for date_filename +-int translate_incoming; // 0 if incoming message headers are NOT transtaled. ++extern char language_file[PATH_MAX]; // File name of translated headers. ++extern char yes_chars[SIZE_HEADER]; // Characters which mean "yes" in the yesno() question. ++extern char no_chars[SIZE_HEADER]; // See details inside read_translation() function. ++extern char yes_word[SIZE_HEADER]; // "yes" printed as an output. ++extern char no_word[SIZE_HEADER]; // "no" ++extern char datetime_format[SIZE_HEADER]; // strftime format string for time stamps (not inside status reports). ++extern char logtime_format[SIZE_HEADER]; // 3.1.7: strftime format string for logging time stamps ++extern char date_filename_format[SIZE_HEADER]; // 3.1.7: strftime format string for date_filename ++extern int translate_incoming; // 0 if incoming message headers are NOT transtaled. + + // 3.1.14: +-int logtime_us; +-int logtime_ms; ++extern int logtime_us; ++extern int logtime_ms; + + // 3.1.14: +-int shell_test; ++extern int shell_test; + + // Next two are for debugging purposes: +-int enable_smsd_debug; +-char smsd_debug[SIZE_SMSD_DEBUG]; // Header of an outgoing message file. ++extern int enable_smsd_debug; ++extern char smsd_debug[SIZE_SMSD_DEBUG]; // Header of an outgoing message file. + + // 3.1.20: Alt keys in communication mode: + #define COMMUNICATE_A_KEY_COUNT 10 +-char communicate_a_keys[COMMUNICATE_A_KEY_COUNT][256]; ++extern char communicate_a_keys[COMMUNICATE_A_KEY_COUNT][256]; + + /* initialize all variable with default values */ + +Index: smstools/src/smsd_cfg.c +=================================================================== +--- smstools.orig/src/smsd_cfg.c 2020-07-27 19:00:41.616207603 +0000 ++++ smstools/src/smsd_cfg.c 2020-08-05 19:17:41.595712888 +0000 +@@ -38,6 +38,221 @@ + #include "modeminit.h" + #include "charshift.h" + ++ ++/* global variables */ ++char process_title[32]; // smsd for main task, NOTIFIER or CHILD, name of a modem for other tasks. ++int process_id; // -1 for main task, all modems have numbers starting with 0. ++ // This is the same as device, can be used like devices[process_id] if IS_MODEM_PROCESS. ++ ++time_t process_start_time; ++ ++int modem_handle; // Handle for modem. ++ ++int put_command_timeouts; ++unsigned long long put_command_sent; // 3.1.16beta. ++char tmpdir[PATH_MAX]; // 3.1.16beta. ++ ++// NOTE for regular run intervals: effective value is at least delaytime. ++ ++char configfile[PATH_MAX]; // Path to config file ++char d_spool[PATH_MAX]; // Spool directory ++char d_failed[PATH_MAX]; // Failed spool directory ++char d_failed_copy[PATH_MAX]; // 3.1.17. ++char d_incoming[PATH_MAX]; // Incoming spool directory ++char d_incoming_copy[PATH_MAX]; // 3.1.16beta2. ++char d_report[PATH_MAX]; // Incoming report spool directory ++char d_report_copy[PATH_MAX]; // 3.1.17. ++char d_phonecalls[PATH_MAX]; // Incoming phonecalls data directory ++char d_saved[PATH_MAX]; // Directory for smsd's internal use, concatenation storage files etc. ++char d_sent[PATH_MAX]; // Sent spool directory ++char d_sent_copy[PATH_MAX]; // 3.1.17. ++char d_checked[PATH_MAX]; // Spool directory for checked messages (only used when no provider queues used) ++char eventhandler[PATH_MAX]; // Global event handler program or script ++char alarmhandler[PATH_MAX]; // Global alarm handler program or script ++char checkhandler[PATH_MAX]; // Handler that checks if the sms file is valid. ++int alarmlevel; // Alarm Level (9=highest). Verbosity of alarm handler. ++char logfile[PATH_MAX]; // Name or Handle of Log File ++int loglevel; // Log Level (9=highest). Verbosity of log file. ++_queue queues[NUMBER_OF_MODEMS]; // Queues ++_device devices[NUMBER_OF_MODEMS]; // Modem devices ++int delaytime; // sleep-time after workless ++int delaytime_mainprocess; // sleep-time after workless, main process. If -1, delaytime is used. ++int blocktime; // sleep-time after multiple errors ++int blockafter; // Block modem after n errors ++int errorsleeptime; // sleep-time after each error ++int autosplit; // Splitting of large text messages 0=no, 1=yes 2=number with text, 3=number with UDH ++int receive_before_send; // if 1 smsd tries to receive one message before sending ++int store_received_pdu; // 0=no, 1=unsupported pdu's only, 2=unsupported and 8bit/unicode, 3=all ++int store_sent_pdu; // 0=no, 1=failed pdu's only, 2=failed and 8bit/unicode, 3=all ++int validity_period; // Validity period for messages. ++int decode_unicode_text; // 1 if unicode text is decoded internally. ++int internal_combine; // 1 if multipart message is combined internally. ++int internal_combine_binary; // 1 if multipart binary message is combined internally. Defaults to internal_combine. ++int keep_filename; // 0 if unique filename is created to each directory when a message file is moved. ++int store_original_filename; // 1 if an original filename is saved to message file when it's moved from ++ // outgoing directory to spooler. Works together with keep_filename. ++int date_filename; // 1 or 2 if YYYYMMDD is included to the filename of incoming message. ++char regular_run[PATH_MAX]; // Script/program which is run regularly. ++int regular_run_interval; // Number of seconds between running a regular_run script/progdam. ++char admin_to[SIZE_TO]; // Destination number for administrative messages. ++int filename_preview; // Number of chars of message text to concatenate to filename. ++int incoming_utf8; // 1 if incoming files are saved using UTF-8 character set. ++int outgoing_utf8; // 1 if outgoing files are automatically converted from UTF-8 to ISO and GSM. ++int log_charconv; // 1 if character set conversion is logged. ++int log_single_lines; // 1 if linefeeds are removed from the modem response to be logged. ++int executable_check; // 0 if eventhandler and other executables are NOT checked during the startup checking. ++int keep_messages; // For testing purposes: messages are not deleted and smsd stops after first run. ++char priviledged_numbers[SIZE_PRIVILEDGED_NUMBERS]; // Priviledged numbers in incoming messages. ++int ic_purge_hours; // If internal_combine is used, concatenation storage is checked every ic_purge_interval minutes ++int ic_purge_minutes; // and if there is message parts older than defined, they are handled or deleted. ++int ic_purge_read; // 1 = message parts are stored as single messages. 0 = parts are just deleted. ++int ic_purge_interval; // ++char shell[PATH_MAX]; // Shell used to run eventhandler, defaults to /bin/sh ++char adminmessage_device[32]; // Name of device used to send administrative messages of mainspooler. ++int smart_logging; // 1 = if loglevel is less than 7, degug log is written is there has been any errors. ++int status_signal_quality; // 1 = signal quality is written to status file. ++int status_include_counters; // 1 = succeeded, failed and received counters are included in the status line. ++int status_include_uptime; // 3.1.16beta: 1 = include started & uptime line in the status file. ++int hangup_incoming_call; // 1 = if detected unexpected input contains RING and we want to end call. ++int max_continuous_sending; // Defines when sending is breaked to do check/do other tasks. Time in minutes. ++int voicecall_hangup_ath; // If ATH is used instead of AT+CHUP. ++ ++// 3.1.5: ++int trust_outgoing; // 1 = it's _sure_ that files are created by rename AND permissions are correct. Speeds up spooling. ++ ++// 3.1.5: ++int ignore_outgoing_priority; // 1 = Priority: high header is not checked. Speeds up spooling. ++ ++// 3.1.7: ++int ignore_exec_output; // 1 = stdout and stderr of eventhandlers is _not_ checked. ++ ++// 3.1.7: ++mode_t conf_umask; // File mode creation mask for smsd and modem processes. ++ ++// 3.1.7: ++int trim_text; // 1 = trailing whitespaces are removed from text: ++ ++// 3.1.7: ++int use_linux_ps_trick; // 1 = change argv[0] to "smsd: MAINPROCESS", "smsd: GSM1" etc. ++ ++// 3.1.7: ++int log_unmodified; ++ ++// 3.1.7: ++char suspend_filename[PATH_MAX]; ++ ++// 3.1.9: ++int spool_directory_order; ++ ++// 3.1.9: 1 if read_from_modem is logged. ++int log_read_from_modem; ++ ++// 3.1.16beta2: log_read_timing for performance tuning. ++int log_read_timing; ++ ++// 3.1.16beta: ++int log_response_time; ++ ++// 3.1.16beta2: ++int default_alphabet; ++ ++// 3.1.17: Child process for the mainprocess: ++char mainprocess_child[PATH_MAX]; ++char mainprocess_child_args[PATH_MAX]; ++ ++// 3.1.17: Notifier for the mainprocess: ++int mainprocess_notifier; ++ ++// 3.1.17: If *_copy was made, evenhandler can use it instead of original file: ++int eventhandler_use_copy; ++ ++// 3.1.17: This defines how long to sleep while looping: ++int sleeptime_mainprocess; ++ ++// 3.1.17: Defines how often PID is checked to detect if another smsd is running: ++int check_pid_interval; ++ ++// 3.1.18: start script/program for mainprocess: ++char mainprocess_start[PATH_MAX]; ++char mainprocess_start_args[PATH_MAX]; ++ ++int message_count; // Counter for sent messages. Multipart message is one message. ++ ++volatile sig_atomic_t break_workless_delay; // To break the delay when SIGCONT is received. ++volatile sig_atomic_t terminate; // To terminate when SIGTERM is received. ++ ++char username[65]; // user and group name which are used to run. ++char groupname[65]; // (max length is just a guess) ++ ++char infofile[PATH_MAX]; // Hepler file for stopping the smsd smoothly. ++char pidfile[PATH_MAX]; // File where a process id is stored. ++ ++// Command line arguments: ++char arg_username[65]; ++char arg_groupname[65]; ++char arg_infofile[PATH_MAX]; ++char arg_pidfile[PATH_MAX]; ++char arg_logfile[PATH_MAX]; ++int arg_terminal; ++// 3.1.7: ++char arg_7bit_packed[512]; ++int do_encode_decode_arg_7bit_packed; ++ ++int terminal; // 1 if smsd is communicating with terminal. ++pid_t device_pids[NUMBER_OF_MODEMS]; // Pid's of modem processes. ++char run_info[PATH_MAX]; // Information about external script/program execution. ++ ++char communicate[32]; // Device name for terminal communication mode. ++ ++char international_prefixes[PATH_MAX +1]; ++char national_prefixes[PATH_MAX +1]; ++ ++// Storage for startup errors: ++char *startup_err_str; ++int startup_err_count; ++ ++// Storage for PDU's: ++char *incoming_pdu_store; ++char *outgoing_pdu_store; ++char *routed_pdu_store; ++ ++// Storage for getfile errors: ++char *getfile_err_store; ++ ++// Text buffer for error messages: ++char tb[SIZE_TB]; ++ ++// Buffer for SIM memory checking: ++char *check_memory_buffer; ++size_t check_memory_buffer_size; ++ ++int os_cygwin; // 1 if we are on Cygwin. ++ ++char language_file[PATH_MAX]; // File name of translated headers. ++char yes_chars[SIZE_HEADER]; // Characters which mean "yes" in the yesno() question. ++char no_chars[SIZE_HEADER]; // See details inside read_translation() function. ++char yes_word[SIZE_HEADER]; // "yes" printed as an output. ++char no_word[SIZE_HEADER]; // "no" ++char datetime_format[SIZE_HEADER]; // strftime format string for time stamps (not inside status reports). ++char logtime_format[SIZE_HEADER]; // 3.1.7: strftime format string for logging time stamps ++char date_filename_format[SIZE_HEADER]; // 3.1.7: strftime format string for date_filename ++int translate_incoming; // 0 if incoming message headers are NOT transtaled. ++ ++// 3.1.14: ++int logtime_us; ++int logtime_ms; ++ ++// 3.1.14: ++int shell_test; ++ ++// Next two are for debugging purposes: ++int enable_smsd_debug; ++char smsd_debug[SIZE_SMSD_DEBUG]; // Header of an outgoing message file. ++ ++// 3.1.20: Alt keys in communication mode: ++#define COMMUNICATE_A_KEY_COUNT 10 ++char communicate_a_keys[COMMUNICATE_A_KEY_COUNT][256]; ++ + char *msg_dir = "%s directory %s cannot be opened."; + char *msg_file = "%s directory %s is not writable."; + char *msg_not_executable = "is not executable for smsd."; +Index: smstools/src/logging.c +=================================================================== +--- smstools.orig/src/logging.c 2020-07-27 19:00:41.612207583 +0000 ++++ smstools/src/logging.c 2020-08-05 19:27:38.373800111 +0000 +@@ -25,6 +25,16 @@ + #include "smsd_cfg.h" + #include "stats.h" + ++ ++// 3.1.16beta2: Moved logch() and prch() from charset.c to logging.c: ++char logch_buffer[8192]; ++ ++char prch(char ch); ++ ++// 3.1.16beta: changed type: ++//int trouble_logging_started; ++time_t trouble_logging_started; ++ + int Filehandle = -1; + int Level; + int SavedLevel; +Index: smstools/src/logging.h +=================================================================== +--- smstools.orig/src/logging.h 2020-07-27 19:00:41.612207583 +0000 ++++ smstools/src/logging.h 2020-08-05 19:27:52.077848035 +0000 +@@ -18,7 +18,7 @@ + #include + + // 3.1.16beta2: Moved logch() and prch() from charset.c to logging.c: +-char logch_buffer[8192]; ++extern char logch_buffer[8192]; + + #ifdef __GNUC__ + void logch(char* format, ...) __attribute__ ((format(printf, 1, 2))); +@@ -26,11 +26,11 @@ + void logch(char* format, ...); + #endif + +-char prch(char ch); ++extern char prch(char ch); + + // 3.1.16beta: changed type: + //int trouble_logging_started; +-time_t trouble_logging_started; ++extern time_t trouble_logging_started; + + int change_loglevel(int new_level); + void restore_loglevel(); +Index: smstools/src/stats.c +=================================================================== +--- smstools.orig/src/stats.c 2020-07-27 19:00:41.616207603 +0000 ++++ smstools/src/stats.c 2020-08-05 19:28:58.094078936 +0000 +@@ -29,6 +29,20 @@ + #include + #endif + ++ ++_stats* statistics[NUMBER_OF_MODEMS]; // Statistic data (shared memory!) ++int rejected_counter; // Statistic counter, rejected SM, number does not fit into any queue ++time_t start_time; // Start time of smsd, allows statistic functions ++int printstatus; // if 1 smsd outputs status on stdout ++time_t last_stats; // time when the last stats file was created ++char d_stats[PATH_MAX]; // path to statistic files ++int stats_interval; // time between statistic files in seconds. ++int stats_no_zeroes; // Suppress files that contain only zeroes ++int status_interval; // time between updating status file in seconds ++ ++char *shared_buffer; ++ ++ + char newstatus[NUMBER_OF_MODEMS +1] = {0}; + char oldstatus[NUMBER_OF_MODEMS +1] = {0}; + +Index: smstools/src/stats.h +=================================================================== +--- smstools.orig/src/stats.h 2020-07-27 19:00:41.616207603 +0000 ++++ smstools/src/stats.h 2020-08-05 19:29:14.750137182 +0000 +@@ -33,17 +33,17 @@ + int ber; + } _stats; + +-_stats* statistics[NUMBER_OF_MODEMS]; // Statistic data (shared memory!) +-int rejected_counter; // Statistic counter, rejected SM, number does not fit into any queue +-time_t start_time; // Start time of smsd, allows statistic functions +-int printstatus; // if 1 smsd outputs status on stdout +-time_t last_stats; // time when the last stats file was created +-char d_stats[PATH_MAX]; // path to statistic files +-int stats_interval; // time between statistic files in seconds. +-int stats_no_zeroes; // Suppress files that contain only zeroes +-int status_interval; // time between updating status file in seconds ++extern _stats* statistics[NUMBER_OF_MODEMS]; // Statistic data (shared memory!) ++extern int rejected_counter; // Statistic counter, rejected SM, number does not fit into any queue ++extern time_t start_time; // Start time of smsd, allows statistic functions ++extern int printstatus; // if 1 smsd outputs status on stdout ++extern time_t last_stats; // time when the last stats file was created ++extern char d_stats[PATH_MAX]; // path to statistic files ++extern int stats_interval; // time between statistic files in seconds. ++extern int stats_no_zeroes; // Suppress files that contain only zeroes ++extern int status_interval; // time between updating status file in seconds + +-char *shared_buffer; ++extern char *shared_buffer; + + /* Creates shared memory variables for statistic data */ + +Index: smstools/src/blacklist.c +=================================================================== +--- smstools.orig/src/blacklist.c 2020-07-27 19:00:41.612207583 +0000 ++++ smstools/src/blacklist.c 2020-08-05 19:34:13.903183463 +0000 +@@ -23,6 +23,8 @@ + #include "alarm.h" + #include "smsd_cfg.h" + ++char blacklist[256]; // Filename of the black-list ++ + int inblacklist(char* msisdn) + { + FILE* file; +Index: smstools/src/blacklist.h +=================================================================== +--- smstools.orig/src/blacklist.h 2020-07-27 19:00:41.612207583 +0000 ++++ smstools/src/blacklist.h 2020-08-05 19:34:04.903151994 +0000 +@@ -15,7 +15,7 @@ + #ifndef BLACK_H + #define BLACK_H + +-char blacklist[256]; // Filename of the black-list ++extern char blacklist[256]; // Filename of the black-list + + int inblacklist(char* msisdn); + +Index: smstools/src/whitelist.c +=================================================================== +--- smstools.orig/src/whitelist.c 2020-07-27 19:00:41.616207603 +0000 ++++ smstools/src/whitelist.c 2020-08-05 19:39:23.436266057 +0000 +@@ -23,6 +23,8 @@ + #include "alarm.h" + #include "smsd_cfg.h" + ++char whitelist[256]; // Filename of the white-list ++ + /* Used with >= 3.1x */ + int inwhitelist_q(char* msisdn, char *queuename) + { +Index: smstools/src/whitelist.h +=================================================================== +--- smstools.orig/src/whitelist.h 2020-07-27 19:00:41.616207603 +0000 ++++ smstools/src/whitelist.h 2020-08-05 19:34:29.959239624 +0000 +@@ -15,7 +15,7 @@ + #ifndef WHITE_H + #define WHITE_H + +-char whitelist[256]; // Filename of the white-list ++extern char whitelist[256]; // Filename of the white-list + + /* Used with >= 3.1x */ + int inwhitelist_q(char* msisdn, char *queuename); diff --git a/package/tftpd/0001-Use-extern-qualifier-to-fix-gcc-10.x-build.patch b/package/tftpd/0001-Use-extern-qualifier-to-fix-gcc-10.x-build.patch new file mode 100644 index 0000000000..c964555347 --- /dev/null +++ b/package/tftpd/0001-Use-extern-qualifier-to-fix-gcc-10.x-build.patch @@ -0,0 +1,29 @@ +From 6f994166d8571961a08479736ae86c5baa2bb47f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 7 Aug 2020 12:07:45 +0200 +Subject: [PATCH] Use "extern" qualifier to fix gcc 10.x build + +Patch from +https://src.fedoraproject.org/rpms/tftp/raw/master/f/tftp-hpa-5.2-gcc10.patch. + +Signed-off-by: Thomas Petazzoni +--- + tftp/tftp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tftp/tftp.c b/tftp/tftp.c +index d15da22..d067f96 100644 +--- a/tftp/tftp.c ++++ b/tftp/tftp.c +@@ -48,7 +48,7 @@ extern int maxtimeout; + #define PKTSIZE SEGSIZE+4 + char ackbuf[PKTSIZE]; + int timeout; +-sigjmp_buf toplevel; ++extern sigjmp_buf toplevel; + sigjmp_buf timeoutbuf; + + static void nak(int, const char *); +-- +2.26.2 + diff --git a/package/x11r7/xserver_xorg-server/1.20.8/0007-fix-for-ZDI-11426.patch b/package/x11r7/xserver_xorg-server/1.20.8/0007-fix-for-ZDI-11426.patch new file mode 100644 index 0000000000..ce623b24cb --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.20.8/0007-fix-for-ZDI-11426.patch @@ -0,0 +1,36 @@ +From aac28e162e5108510065ad4c323affd6deffd816 Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb +Date: Sat, 25 Jul 2020 19:33:50 +0200 +Subject: [PATCH] fix for ZDI-11426 + +Avoid leaking un-initalized memory to clients by zeroing the +whole pixmap on initial allocation. + +This vulnerability was discovered by: +Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + +Signed-off-by: Matthieu Herrb +Reviewed-by: Alan Coopersmith +Signed-off-by: Bernd Kuhls +[downloaded from upstream commit + https://gitlab.freedesktop.org/xorg/xserver/-/commit/aac28e162e5108510065ad4c323affd6deffd816] +--- + dix/pixmap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dix/pixmap.c b/dix/pixmap.c +index 1186d7dbbf..5a0146bbb6 100644 +--- a/dix/pixmap.c ++++ b/dix/pixmap.c +@@ -116,7 +116,7 @@ AllocatePixmap(ScreenPtr pScreen, int pixDataSize) + if (pScreen->totalPixmapSize > ((size_t) - 1) - pixDataSize) + return NullPixmap; + +- pPixmap = malloc(pScreen->totalPixmapSize + pixDataSize); ++ pPixmap = calloc(1, pScreen->totalPixmapSize + pixDataSize); + if (!pPixmap) + return NullPixmap; + +-- +GitLab + diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 854123981d..07714be340 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -38,6 +38,11 @@ XSERVER_XORG_SERVER_DEPENDENCIES = \ mcookie \ host-pkgconf +ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20),y) +# 1.20.8/0007-fix-for-ZDI-11426.patch +XSERVER_XORG_SERVER_IGNORE_CVES += CVE-2020-14347 +endif + # We force -O2 regardless of the optimization level chosen by the # user, as the X.org server is known to trigger some compiler bugs at # -Os on several architectures. diff --git a/support/testing/tests/boot/test_atf.py b/support/testing/tests/boot/test_atf.py index 678c13de5b..08a0b7af2a 100644 --- a/support/testing/tests/boot/test_atf.py +++ b/support/testing/tests/boot/test_atf.py @@ -14,6 +14,7 @@ class TestATFVexpress(infra.basetest.BRTest): 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